1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, isPy27
6, setuptools
7, setuptools-scm
8, cython
9, entrypoints
10, numpy
11, msgpack
12, py-cpuinfo
13, pytestCheckHook
14, python
15}:
16
17buildPythonPackage rec {
18 pname = "numcodecs";
19 version = "0.11.0";
20 format ="pyproject";
21 disabled = isPy27;
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-bAWLMh3oShcpKZsOrk1lKy5I6hyn+d8NplyxNHDmNes=";
26 };
27
28 nativeBuildInputs = [
29 setuptools
30 setuptools-scm
31 cython
32 py-cpuinfo
33 ];
34
35 propagatedBuildInputs = [
36 entrypoints
37 numpy
38 msgpack
39 ];
40
41 preBuild = if (stdenv.hostPlatform.isx86 && !stdenv.hostPlatform.avx2Support) then ''
42 export DISABLE_NUMCODECS_AVX2=
43 '' else null;
44
45 nativeCheckInputs = [
46 pytestCheckHook
47 ];
48
49 pytestFlagsArray = [
50 "$out/${python.sitePackages}/numcodecs"
51 ];
52
53 disabledTests = [
54 "test_backwards_compatibility"
55
56 "test_encode_decode"
57 "test_legacy_codec_broken"
58 "test_bytes"
59
60 # ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (3,) + inhomogeneous part.
61 # with numpy 1.24
62 "test_non_numpy_inputs"
63 ];
64
65 meta = with lib;{
66 homepage = "https://github.com/zarr-developers/numcodecs";
67 license = licenses.mit;
68 description = "Buffer compression and transformation codecs for use in data storage and communication applications";
69 maintainers = [ ];
70 };
71}