diff --git a/pkgs/development/python-modules/multiscale-spatial-image/default.nix b/pkgs/development/python-modules/multiscale-spatial-image/default.nix new file mode 100644 index 000000000000..41b4a720fc50 --- /dev/null +++ b/pkgs/development/python-modules/multiscale-spatial-image/default.nix @@ -0,0 +1,81 @@ +{ + lib, + buildPythonPackage, + pythonOlder, + fetchFromGitHub, + hatchling, + dask, + numpy, + python-dateutil, + spatial-image, + xarray, + xarray-datatree, + zarr, + dask-image, + fsspec, + jsonschema, + nbmake, + pooch, + pytestCheckHook, + pytest-mypy, + urllib3, +}: + +buildPythonPackage rec { + pname = "multiscale-spatial-image"; + version = "1.0.1"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "spatial-image"; + repo = "multiscale-spatial-image"; + rev = "refs/tags/v${version}"; + hash = "sha256-s/88N8IVkj+9MZYAtEJSpmmDdjIxf4S6U5gYr86Ikrw="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + dask + numpy + python-dateutil + spatial-image + xarray + xarray-datatree + zarr + ]; + + optional-dependencies = { + dask-image = [ dask-image ]; + #itk = [ + # itk-filtering # not in nixpkgs yet + #]; + test = [ + dask-image + fsspec + #ipfsspec # not in nixpkgs + #itk-filtering # not in nixpkgs + jsonschema + nbmake + pooch + pytest-mypy + urllib3 + ]; + }; + + nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.test; + + doCheck = false; # all test files try to download data + + pythonImportsCheck = [ "multiscale_spatial_image" ]; + + meta = { + description = "Generate a multiscale, chunked, multi-dimensional spatial image data structure that can serialized to OME-NGFF"; + homepage = "https://github.com/spatial-image/multiscale-spatial-image"; + changelog = "https://github.com/spatial-image/multiscale-spatial-image/releases/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ bcdarwin ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bfc66df8da2a..79d8e8f52143 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8017,6 +8017,8 @@ self: super: with self; { multiprocess = callPackage ../development/python-modules/multiprocess { }; + multiscale-spatial-image = callPackage ../development/python-modules/multiscale-spatial-image { }; + multiset = callPackage ../development/python-modules/multiset { }; multitasking = callPackage ../development/python-modules/multitasking { };