diff --git a/pkgs/development/python-modules/azure-kusto-data/default.nix b/pkgs/development/python-modules/azure-kusto-data/default.nix index f511f6357c61..4aece96fb20b 100644 --- a/pkgs/development/python-modules/azure-kusto-data/default.nix +++ b/pkgs/development/python-modules/azure-kusto-data/default.nix @@ -1,36 +1,49 @@ { lib, - aiohttp, - aioresponses, - asgiref, - azure-core, - azure-identity, buildPythonPackage, fetchFromGitHub, + + # build-system + uv-build, + + # dependencies + azure-core, + azure-identity, ijson, msal, + python-dateutil, + requests, + + # optional-dependencies + + # tests + # aio: + aiohttp, + asgiref, + # pandas: pandas, + + # tests + aioresponses, pytest-asyncio, pytest-xdist, pytestCheckHook, - python-dateutil, - requests, - uv-build, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "azure-kusto-data"; - version = "6.0.3"; + version = "6.0.4"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "Azure"; repo = "azure-kusto-python"; - tag = "v${version}"; - hash = "sha256-n69KpWZpAVMjr7d1QRQ/J/SgeTLkadJUhCgD62F6O7w="; + tag = "v${finalAttrs.version}"; + hash = "sha256-iggsVxLmDbP6+oSPaIiujPLsZAWwm5VLZSl+HYm0DIQ="; }; - sourceRoot = "${src.name}/${pname}"; + sourceRoot = "${finalAttrs.src.name}/azure-kusto-data"; postPatch = '' substituteInPlace pyproject.toml \ @@ -42,7 +55,6 @@ buildPythonPackage rec { pythonRelaxDeps = [ "ijson" ]; - dependencies = [ azure-core azure-identity @@ -66,22 +78,30 @@ buildPythonPackage rec { pytest-xdist pytestCheckHook ] - ++ lib.concatAttrValues optional-dependencies; + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; pythonImportsCheck = [ "azure.kusto.data" ]; + disabledTests = [ + # AssertionError: Attributes of DataFrame.iloc[:, 1] (column name="rowguid") are different + "test_sanity_data_frame" + ]; + disabledTestPaths = [ # Tests require network access "tests/aio/test_async_token_providers.py" "tests/test_token_providers.py" "tests/test_e2e_data.py" + + # AssertionError: assert is + "tests/test_helpers.py" ]; meta = { description = "Kusto Data Client"; homepage = "https://github.com/Azure/azure-kusto-python/tree/master/azure-kusto-data"; - changelog = "https://github.com/Azure/azure-kusto-python/releases/tag/${src.tag}"; + changelog = "https://github.com/Azure/azure-kusto-python/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix index 04db9811aa1d..53ff21fdfa53 100644 --- a/pkgs/development/python-modules/fiona/default.nix +++ b/pkgs/development/python-modules/fiona/default.nix @@ -25,9 +25,10 @@ pytestCheckHook, pytz, snuggs, + versionCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "fiona"; version = "1.10.1"; pyproject = true; @@ -35,18 +36,20 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "Toblerity"; repo = "Fiona"; - tag = version; + tag = finalAttrs.version; hash = "sha256-5NN6PBh+6HS9OCc9eC2TcBvkcwtI4DV8qXnz4tlaMXc="; }; postPatch = '' substituteInPlace pyproject.toml \ --replace-fail "cython~=3.0.2" cython - + '' + + # pyparsing deprecated parseString in favor of parse_string - substituteInPlace fiona/fio/features.py fiona/_vendor/snuggs.py \ - --replace-fail parseString parse_string - ''; + '' + substituteInPlace fiona/fio/features.py fiona/_vendor/snuggs.py \ + --replace-fail parseString parse_string + ''; build-system = [ cython @@ -72,17 +75,21 @@ buildPythonPackage rec { s3 = [ boto3 ]; }; + pythonImportsCheck = [ "fiona" ]; + nativeCheckInputs = [ fsspec pytestCheckHook pytz shapely snuggs + versionCheckHook ] - ++ optional-dependencies.s3; + ++ finalAttrs.passthru.optional-dependencies.s3; + # prevent importing local fiona preCheck = '' - rm -r fiona # prevent importing local fiona + rm -r fiona ''; disabledTestMarks = [ @@ -91,84 +98,36 @@ buildPythonPackage rec { "gdal" ]; + pytestFlags = [ + # UserWarning: The parameter --where is used more than once. Remove its duplicate as parameters should be unique. + "-Wignore::UserWarning" + ]; + disabledTests = [ # Some tests access network, others test packaging "http" "https" "wheel" + # AssertionError: assert """"bool": true""" in data + "test_write_bool_subtype" + + # AssertionError: assert '"coordinates": [ [ [ -111.74, 42.0 ], [ -111.66, 42.0 ]' in f.read(2000) + "test_open_kwargs" + + # fiona.errors.DatasetDeleteError: Driver does not support dataset removal operation + "test_remove" + # see: https://github.com/Toblerity/Fiona/issues/1273 "test_append_memoryfile_drivers" - - # AssertionError CLI exists with non-zero error code - # This is a regression introduced by https://github.com/NixOS/nixpkgs/pull/448189 - "test_bbox_json_yes" - "test_bbox_no" - "test_bbox_where" - "test_bbox_yes" - "test_bbox_yes_two_files" - "test_bool_seq" - "test_bounds_explode_with_obj" - "test_calc_seq" - "test_collect_ld" - "test_collect_no_rs" - "test_collect_noparse" - "test_collect_noparse_records" - "test_collect_noparse_rs" - "test_collect_rec_buffered" - "test_collect_rs" - "test_creation_options" - "test_different_crs" - "test_distrib" - "test_distrib_no_rs" - "test_dst_crs_default_to_src_crs" - "test_dst_crs_epsg3857" - "test_dst_crs_no_src" - "test_existing_property" - "test_explode" - "test_explode_output_rs" - "test_explode_pp" - "test_explode_with_id" - "test_filter" - "test_fio_load_layer" - "test_fio_load_layer_append" - "test_load__auto_detect_format" - "test_load__auto_detect_format" - "test_load__auto_detect_format" - "test_load__auto_detect_format" - "test_load__auto_detect_format" - "test_map_count" - "test_multi_layer" - "test_one" - "test_precision" - "test_reduce_area" - "test_reduce_area" - "test_reduce_union" - "test_reduce_union_zip_properties" - "test_seq" - "test_seq" - "test_seq_no_rs" - "test_seq_rs" - "test_seq_rs" - "test_two" - "test_vfs" - "test_where_no" - "test_where_yes" - "test_where_yes_two_files" - "test_with_id" - "test_with_obj" ]; - pythonImportsCheck = [ "fiona" ]; - - doInstallCheck = true; - meta = { - changelog = "https://github.com/Toblerity/Fiona/blob/${src.rev}/CHANGES.txt"; description = "OGR's neat, nimble, no-nonsense API for Python"; + changelog = "https://github.com/Toblerity/Fiona/blob/${finalAttrs.src.tag}/CHANGES.txt"; mainProgram = "fio"; homepage = "https://fiona.readthedocs.io/"; license = lib.licenses.bsd3; teams = [ lib.teams.geospatial ]; }; -} +}) diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix index 622a87d4e8c0..08701406775a 100644 --- a/pkgs/development/python-modules/geopandas/default.nix +++ b/pkgs/development/python-modules/geopandas/default.nix @@ -2,16 +2,15 @@ lib, buildPythonPackage, fetchFromGitHub, - fetchpatch, - pytestCheckHook, - setuptools, - writableTmpDirAsHomeHook, + # build-system + setuptools, + + # dependencies packaging, pandas, pyogrio, pyproj, - rtree, shapely, # optional-dependencies @@ -24,18 +23,24 @@ pyarrow, sqlalchemy, xyzservices, + + # tests + pytestCheckHook, + rtree, + writableTmpDirAsHomeHook, }: buildPythonPackage (finalAttrs: { pname = "geopandas"; - version = "1.1.3"; + version = "1.1.4"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "geopandas"; repo = "geopandas"; tag = "v${finalAttrs.version}"; - hash = "sha256-66FbHNewpSEVZ9RwngK7E4bcELa9Z2OQ9xVP9+fgeHQ="; + hash = "sha256-7XWPPLuJjc6x+Vb16z0bEjYe1lX710vz5Rwjg/WFHH0="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/msticpy/default.nix b/pkgs/development/python-modules/msticpy/default.nix index 1f1035a660ae..b4908686fadb 100644 --- a/pkgs/development/python-modules/msticpy/default.nix +++ b/pkgs/development/python-modules/msticpy/default.nix @@ -1,5 +1,12 @@ { lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies attrs, azure-common, azure-core, @@ -11,12 +18,9 @@ azure-monitor-query, beautifulsoup4, bokeh, - buildPythonPackage, - cache, cryptography, deprecated, dnspython, - fetchFromGitHub, folium, geoip2, html5lib, @@ -26,9 +30,8 @@ ipywidgets, keyring, lxml, - markdown, - msal-extensions, msal, + msal-extensions, msrest, msrestazure, nest-asyncio, @@ -40,7 +43,6 @@ pygments, pyjwt, pyyaml, - setuptools, tldextract, tqdm, typing-extensions, @@ -49,23 +51,25 @@ buildPythonPackage (finalAttrs: { pname = "msticpy"; - version = "3.0.0"; + version = "3.0.1"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "microsoft"; repo = "msticpy"; tag = "v${finalAttrs.version}"; - hash = "sha256-aX5Nd0tNuweBp2SqGwe4/Z4LcdJaX3p5LLNQAOdGVGo="; + hash = "sha256-utE77oSCAAYKmsyf8ZPep7spUSIoJXBU6NzeLpDIvUs="; }; + build-system = [ setuptools ]; + pythonRelaxDeps = [ "azure-kusto-data" "bokeh" + "nest_asyncio" + "pandas" ]; - - build-system = [ setuptools ]; - dependencies = [ attrs azure-common diff --git a/pkgs/development/python-modules/pyogrio/default.nix b/pkgs/development/python-modules/pyogrio/default.nix index fe5268a592a6..b96626ec76e7 100644 --- a/pkgs/development/python-modules/pyogrio/default.nix +++ b/pkgs/development/python-modules/pyogrio/default.nix @@ -2,55 +2,74 @@ lib, buildPythonPackage, fetchFromGitHub, - pytestCheckHook, - - certifi, - cython, gdal, - numpy, - packaging, + + # build-system + cython, setuptools, versioneer, - wheel, + + # dependencies + certifi, + numpy, + packaging, + + # tests + fiona, + pandas, + pytest-benchmark, + pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pyogrio"; - version = "0.12.1"; + version = "0.13.0"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "geopandas"; repo = "pyogrio"; - tag = "v${version}"; - hash = "sha256-c3bd8gxsHCzLKmy8baiIUbTXzZWms/NlDg7Az6TWrfM="; + tag = "v${finalAttrs.version}"; + hash = "sha256-9WaJMrh3FN4hWpdGNq2TynoLqT91tLQ7iTTl/NWYQTI="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail "versioneer[toml]==0.28" "versioneer[toml]" + --replace-fail \ + "versioneer[toml]==0.28" \ + "versioneer[toml]" ''; - nativeBuildInputs = [ + build-system = [ cython - gdal # for gdal-config setuptools versioneer - wheel + ]; + + nativeBuildInputs = [ + gdal # for gdal-config ]; buildInputs = [ gdal ]; - propagatedBuildInputs = [ + dependencies = [ certifi numpy packaging ]; - nativeCheckInputs = [ pytestCheckHook ]; + pythonImportsCheck = [ "pyogrio" ]; + + nativeCheckInputs = [ + fiona + pandas + pytestCheckHook + pytest-benchmark + ]; preCheck = '' - python setup.py build_ext --inplace + rm pyogrio/__init__.py ''; disabledTestMarks = [ @@ -58,13 +77,26 @@ buildPythonPackage rec { "network" ]; - pythonImportsCheck = [ "pyogrio" ]; + disabledTests = [ + # Circular dependencies with geopandas + "test_detect_zip_path" + "test_path_absolute" + "test_path_relative_dataframe" + "test_uri_local_file_dataframe" + "test_vsi_handling_read_dataframe" + "test_zip_path_dataframe" + ]; + + disabledTestPaths = [ + # NameError: name 'shapely' is not defined + "pyogrio/tests/test_geopandas_io.py" + ]; meta = { description = "Vectorized spatial vector file format I/O using GDAL/OGR"; homepage = "https://pyogrio.readthedocs.io/"; - changelog = "https://github.com/geopandas/pyogrio/blob/${src.tag}/CHANGES.md"; + changelog = "https://github.com/geopandas/pyogrio/blob/${finalAttrs.src.tag}/CHANGES.md"; license = lib.licenses.mit; teams = [ lib.teams.geospatial ]; }; -} +})