1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5
6 # build-system
7 hatchling,
8 hatch-vcs,
9
10 # dependencies
11 donfig,
12 numpy,
13 numcodecs,
14 packaging,
15 typing-extensions,
16
17 # tests
18 hypothesis,
19 pytest-asyncio,
20 pytest-xdist,
21 pytestCheckHook,
22 tomlkit,
23}:
24
25buildPythonPackage rec {
26 pname = "zarr";
27 version = "3.1.1";
28 pyproject = true;
29
30 src = fetchPypi {
31 inherit pname version;
32 hash = "sha256-F9ty838kiUUtITesiRxBM7j5dvkYnY79PnXzs63YTow=";
33 };
34
35 build-system = [
36 hatchling
37 hatch-vcs
38 ];
39
40 dependencies = [
41 donfig
42 numcodecs
43 numpy
44 packaging
45 typing-extensions
46 ]
47 ++ numcodecs.optional-dependencies.crc32c;
48
49 nativeCheckInputs = [
50 hypothesis
51 pytest-asyncio
52 pytest-xdist
53 pytestCheckHook
54 tomlkit
55 ];
56
57 disabledTestPaths = [
58 # requires uv and then fails at setting up python envs
59 "tests/test_examples.py"
60 ];
61
62 pythonImportsCheck = [ "zarr" ];
63
64 # FIXME remove once zarr's reverse dependencies support v3
65 passthru.skipBulkUpdate = true;
66
67 meta = {
68 description = "Implementation of chunked, compressed, N-dimensional arrays for Python";
69 homepage = "https://github.com/zarr-developers/zarr";
70 changelog = "https://github.com/zarr-developers/zarr-python/releases/tag/v${version}";
71 license = lib.licenses.mit;
72 maintainers = with lib.maintainers; [ doronbehar ];
73 };
74}