1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6
7 # build-system
8 setuptools-scm,
9
10 # dependencies
11 asciitree,
12 numpy,
13 fasteners,
14 numcodecs,
15
16 # tests
17 pytestCheckHook,
18}:
19
20buildPythonPackage rec {
21 pname = "zarr";
22 version = "2.18.7";
23 pyproject = true;
24
25 disabled = pythonOlder "3.8";
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-srj2bxTaxK9msYDSM4gZmBuYH3Dhlsmmbmv6qeWVcvU=";
30 };
31
32 build-system = [
33 setuptools-scm
34 ];
35
36 dependencies = [
37 asciitree
38 numpy
39 fasteners
40 numcodecs
41 ] ++ numcodecs.optional-dependencies.msgpack;
42
43 nativeCheckInputs = [
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "zarr" ];
48
49 # FIXME remove once zarr's reverse dependencies support v3
50 passthru.skipBulkUpdate = true;
51
52 meta = {
53 description = "Implementation of chunked, compressed, N-dimensional arrays for Python";
54 homepage = "https://github.com/zarr-developers/zarr";
55 changelog = "https://github.com/zarr-developers/zarr-python/releases/tag/v${version}";
56 license = lib.licenses.mit;
57 maintainers = with lib.maintainers; [ doronbehar ];
58 };
59}