diff --git a/pkgs/development/python-modules/odc-stac/default.nix b/pkgs/development/python-modules/odc-stac/default.nix new file mode 100644 index 000000000000..a5d9f8f94b31 --- /dev/null +++ b/pkgs/development/python-modules/odc-stac/default.nix @@ -0,0 +1,95 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + affine, + dask, + numpy, + odc-geo, + pandas, + pystac, + rasterio, + toolz, + xarray, + + # optional-dependencies + botocore, + + # tests + geopandas, + distributed, + pystac-client, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "odc-stac"; + version = "0.3.11"; + pyproject = true; + + src = fetchFromGitHub { + owner = "opendatacube"; + repo = "odc-stac"; + tag = "v${version}"; + hash = "sha256-uudBzxVGt3RW4ppDrFYfA9LMa2xPfs3FTBzVS19FjB4="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + affine + dask + numpy + odc-geo + pandas + pystac + rasterio + toolz + xarray + ]; + + optional-dependencies = { + botocore = [ botocore ]; + }; + + nativeCheckInputs = [ + geopandas + distributed + pystac-client + pytestCheckHook + ] ++ optional-dependencies.botocore; + + pytestFlagsArray = [ "-m 'not network'" ]; + + disabledTests = [ + # pystac href error (possible related to network) + "test_extract_md" + "test_parse_item" + "test_parse_item_no_proj" + # urllib url open error + "test_norm_geom" + "test_output_geobox" + "test_mem_reader" + "test_memreader_zarr" + + ]; + + pythonImportsCheck = [ + "odc.stac" + ]; + + meta = { + description = "Load STAC items into xarray Datasets."; + homepage = "https://github.com/opendatacube/odc-stac/"; + changelog = "https://github.com/opendatacube/odc-stac/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ daspk04 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 042bdddeddf3..f3e04032c2d9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9652,6 +9652,8 @@ self: super: with self; { odc-geo = callPackage ../development/python-modules/odc-geo { }; + odc-stac = callPackage ../development/python-modules/odc-stac { }; + oddsprout = callPackage ../development/python-modules/oddsprout { }; odfpy = callPackage ../development/python-modules/odfpy { };