From 7b3f4fcdb2c487a73c58b1e6702b40676a7d9173 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Fri, 24 May 2024 01:31:35 +0400 Subject: [PATCH] python3Packages.pyogrio: init at 0.8.0 --- .../python-modules/pyogrio/default.nix | 75 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 77 insertions(+) create mode 100644 pkgs/development/python-modules/pyogrio/default.nix diff --git a/pkgs/development/python-modules/pyogrio/default.nix b/pkgs/development/python-modules/pyogrio/default.nix new file mode 100644 index 000000000000..551fde29bafe --- /dev/null +++ b/pkgs/development/python-modules/pyogrio/default.nix @@ -0,0 +1,75 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + pythonOlder, + + certifi, + cython, + gdal, + numpy, + packaging, + setuptools, + versioneer, + wheel, +}: + +buildPythonPackage rec { + pname = "pyogrio"; + version = "0.8.0"; + pyproject = true; + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "geopandas"; + repo = "pyogrio"; + rev = "v${version}"; + hash = "sha256-h4Rv5xOWSJSv0nLbosviz5EiF/IsZO5wzBel9YRd0Bg="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "versioneer[toml]==0.28" "versioneer[toml]" + '' + lib.optionalString (!pythonOlder "3.12") '' + substituteInPlace setup.py \ + --replace-fail "distutils" "setuptools._distutils" + ''; + + nativeBuildInputs = [ + cython + gdal # for gdal-config + setuptools + versioneer + wheel + ] ++ versioneer.optional-dependencies.toml; + + buildInputs = [ gdal ]; + + propagatedBuildInputs = [ + certifi + numpy + packaging + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + preCheck = '' + python setup.py build_ext --inplace + ''; + + pytestFlagsArray = [ + # disable tests which require network access + "-m 'not network'" + ]; + + pythonImportsCheck = [ "pyogrio" ]; + + 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.rev}/CHANGES.md"; + license = lib.licenses.mit; + maintainers = lib.teams.geospatial.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2134664da533..b7375332a38d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9998,6 +9998,8 @@ self: super: with self; { pynx584 = callPackage ../development/python-modules/pynx584 { }; + pyogrio = callPackage ../development/python-modules/pyogrio { }; + pyorthanc = callPackage ../development/python-modules/pyorthanc { }; pyoutbreaksnearme = callPackage ../development/python-modules/pyoutbreaksnearme { };