diff --git a/pkgs/development/python-modules/ome-zarr/default.nix b/pkgs/development/python-modules/ome-zarr/default.nix new file mode 100644 index 000000000000..b5be85bf1151 --- /dev/null +++ b/pkgs/development/python-modules/ome-zarr/default.nix @@ -0,0 +1,81 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, fetchpatch +, pytestCheckHook +, aiohttp +, dask +, fsspec +, numpy +, requests +, scikitimage +, s3fs +, toolz +, zarr +}: + +buildPythonPackage rec { + pname = "ome-zarr"; + version = "0.6.1"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "ome"; + repo = "ome-zarr-py"; + rev = "refs/tags/v${version}"; + hash = "sha256-dpweOuqruh7mAqmSaNbehLCr8OCLe1IZNWV4bpHpTl0="; + }; + + patches = [ + # remove after next release: + (fetchpatch { + name = "fix-writer-bug"; + url = "https://github.com/ome/ome-zarr-py/commit/c1302e05998dfe2faf94b0f958c92888681f5ffa.patch"; + hash = "sha256-1WANObABUXkjqeGdnmg0qJ48RcZcuAwgitZyMwiRYUw="; + }) + ]; + + propagatedBuildInputs = [ + numpy + dask + zarr + fsspec + aiohttp + requests + s3fs + scikitimage + toolz + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + # attempts to access network + "test_s3_info" + ]; + + pythonImportsCheck = [ + "ome_zarr" + "ome_zarr.cli" + "ome_zarr.csv" + "ome_zarr.data" + "ome_zarr.format" + "ome_zarr.io" + "ome_zarr.reader" + "ome_zarr.writer" + "ome_zarr.scale" + "ome_zarr.utils" + ]; + + meta = with lib; { + description = "Implementation of next-generation file format (NGFF) specifications for storing bioimaging data in the cloud."; + homepage = "https://pypi.org/project/ome-zarr"; + changelog = "https://github.com/ome/ome-zarr-py/blob/v${version}/CHANGELOG.md"; + license = licenses.bsd2; + maintainers = [ maintainers.bcdarwin ]; + mainProgram = "ome_zarr"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 364f38121d22..d05640bdc94d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10350,6 +10350,8 @@ with pkgs; ombi = callPackage ../servers/ombi { }; + ome_zarr = with python3Packages; toPythonApplication ome-zarr; + omping = callPackage ../applications/networking/omping { }; onefetch = callPackage ../tools/misc/onefetch { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a870ec2eaccd..c672707b90ef 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6595,6 +6595,8 @@ self: super: with self; { omegaconf = callPackage ../development/python-modules/omegaconf { }; + ome-zarr = callPackage ../development/python-modules/ome-zarr { }; + omnikinverter = callPackage ../development/python-modules/omnikinverter { }; omnilogic = callPackage ../development/python-modules/omnilogic { };