1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, fetchpatch
6, pytestCheckHook
7, aiohttp
8, dask
9, fsspec
10, numpy
11, requests
12, scikit-image
13, s3fs
14, toolz
15, zarr
16}:
17
18buildPythonPackage rec {
19 pname = "ome-zarr";
20 version = "0.6.1";
21 disabled = pythonOlder "3.6";
22
23 src = fetchFromGitHub {
24 owner = "ome";
25 repo = "ome-zarr-py";
26 rev = "refs/tags/v${version}";
27 hash = "sha256-dpweOuqruh7mAqmSaNbehLCr8OCLe1IZNWV4bpHpTl0=";
28 };
29
30 patches = [
31 # remove after next release:
32 (fetchpatch {
33 name = "fix-writer-bug";
34 url = "https://github.com/ome/ome-zarr-py/commit/c1302e05998dfe2faf94b0f958c92888681f5ffa.patch";
35 hash = "sha256-1WANObABUXkjqeGdnmg0qJ48RcZcuAwgitZyMwiRYUw=";
36 })
37 ];
38
39 propagatedBuildInputs = [
40 numpy
41 dask
42 zarr
43 fsspec
44 aiohttp
45 requests
46 s3fs
47 scikit-image
48 toolz
49 ];
50
51 nativeCheckInputs = [
52 pytestCheckHook
53 ];
54
55 disabledTests = [
56 # attempts to access network
57 "test_s3_info"
58 ];
59
60 pythonImportsCheck = [
61 "ome_zarr"
62 "ome_zarr.cli"
63 "ome_zarr.csv"
64 "ome_zarr.data"
65 "ome_zarr.format"
66 "ome_zarr.io"
67 "ome_zarr.reader"
68 "ome_zarr.writer"
69 "ome_zarr.scale"
70 "ome_zarr.utils"
71 ];
72
73 meta = with lib; {
74 description = "Implementation of next-generation file format (NGFF) specifications for storing bioimaging data in the cloud.";
75 homepage = "https://pypi.org/project/ome-zarr";
76 changelog = "https://github.com/ome/ome-zarr-py/blob/v${version}/CHANGELOG.md";
77 license = licenses.bsd2;
78 maintainers = [ maintainers.bcdarwin ];
79 mainProgram = "ome_zarr";
80 };
81}