1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 pytestCheckHook,
7 aiohttp,
8 dask,
9 distributed,
10 fsspec,
11 numpy,
12 requests,
13 scikit-image,
14 toolz,
15 zarr,
16}:
17
18buildPythonPackage rec {
19 pname = "ome-zarr";
20 version = "0.8.3";
21 format = "setuptools";
22 disabled = pythonOlder "3.6";
23
24 src = fetchFromGitHub {
25 owner = "ome";
26 repo = "ome-zarr-py";
27 rev = "refs/tags/v${version}";
28 hash = "sha256-JuNXVse/n/lFbNaLwMcir8NBHiRxcbYvtbxePwI6YoY=";
29 };
30
31 propagatedBuildInputs = [
32 numpy
33 dask
34 distributed
35 zarr
36 fsspec
37 aiohttp
38 requests
39 scikit-image
40 toolz
41 ] ++ fsspec.passthru.optional-dependencies.s3;
42
43 nativeCheckInputs = [ pytestCheckHook ];
44
45 disabledTests = [
46 # attempts to access network
47 "test_s3_info"
48 ];
49
50 pytestFlagsArray = [
51 # Fail with RecursionError
52 # https://github.com/ome/ome-zarr-py/issues/352
53 "--deselect=tests/test_cli.py::TestCli::test_astronaut_download"
54 "--deselect=tests/test_cli.py::TestCli::test_astronaut_info"
55 "--deselect=tests/test_cli.py::TestCli::test_coins_info"
56 "--deselect=tests/test_emitter.py::test_close"
57 "--deselect=tests/test_emitter.py::test_create_wrong_encoding"
58 "--deselect=tests/test_node.py::TestNode::test_image"
59 "--deselect=tests/test_node.py::TestNode::test_label"
60 "--deselect=tests/test_node.py::TestNode::test_labels"
61 "--deselect=tests/test_ome_zarr.py::TestOmeZarr::test_download"
62 "--deselect=tests/test_ome_zarr.py::TestOmeZarr::test_info"
63 "--deselect=tests/test_reader.py::TestReader::test_image"
64 "--deselect=tests/test_reader.py::TestReader::test_label"
65 "--deselect=tests/test_reader.py::TestReader::test_labels"
66 "--deselect=tests/test_starting_points.py::TestStartingPoints::test_label"
67 "--deselect=tests/test_starting_points.py::TestStartingPoints::test_labels"
68 "--deselect=tests/test_starting_points.py::TestStartingPoints::test_top_level"
69 ];
70
71 pythonImportsCheck = [
72 "ome_zarr"
73 "ome_zarr.cli"
74 "ome_zarr.csv"
75 "ome_zarr.data"
76 "ome_zarr.format"
77 "ome_zarr.io"
78 "ome_zarr.reader"
79 "ome_zarr.writer"
80 "ome_zarr.scale"
81 "ome_zarr.utils"
82 ];
83
84 meta = with lib; {
85 description = "Implementation of next-generation file format (NGFF) specifications for storing bioimaging data in the cloud.";
86 homepage = "https://pypi.org/project/ome-zarr";
87 changelog = "https://github.com/ome/ome-zarr-py/blob/v${version}/CHANGELOG.md";
88 license = licenses.bsd2;
89 maintainers = [ maintainers.bcdarwin ];
90 mainProgram = "ome_zarr";
91 };
92}