depot/third_party/nixpkgs/pkgs/development/python-modules/pyogrio/default.nix
Default email fa5436e0a7 Project import generated by Copybara.
GitOrigin-RevId: e8057b67ebf307f01bdcc8fba94d94f75039d1f6
2024-06-05 17:53:02 +02:00

75 lines
1.5 KiB
Nix

{
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;
};
}