depot/third_party/nixpkgs/pkgs/development/python-modules/numcodecs/default.nix
Default email e7ec2969af Project import generated by Copybara.
GitOrigin-RevId: 9b19f5e77dd906cb52dade0b7bd280339d2a1f3d
2024-01-13 09:15:51 +01:00

85 lines
1.8 KiB
Nix

{ lib
, stdenv
, buildPythonPackage
, fetchpatch
, fetchPypi
, setuptools
, setuptools-scm
, cython
, numpy
, msgpack
, py-cpuinfo
, pytestCheckHook
, python
, pythonOlder
}:
buildPythonPackage rec {
pname = "numcodecs";
version = "0.12.1";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-BdkaQzcz5+7yaNfoDsImoCMtokQolhSo84JpAa7BCY4=";
};
patches = [
# https://github.com/zarr-developers/numcodecs/pull/487
(fetchpatch {
name = "fix-tests.patch";
url = "https://github.com/zarr-developers/numcodecs/commit/4896680087d3ff1f959401c51cf5aea0fd56554e.patch";
hash = "sha256-+lMWK5IsNzJ7H2SmLckgxbSSRIIcC7FtGYSBKQtuo+Y=";
})
];
nativeBuildInputs = [
setuptools
setuptools-scm
cython
py-cpuinfo
];
propagatedBuildInputs = [
numpy
];
passthru.optional-dependencies = {
msgpack = [ msgpack ];
# zfpy = [ zfpy ];
};
preBuild = if (stdenv.hostPlatform.isx86 && !stdenv.hostPlatform.avx2Support) then ''
export DISABLE_NUMCODECS_AVX2=
'' else null;
nativeCheckInputs = [
pytestCheckHook
msgpack
];
pytestFlagsArray = [
"$out/${python.sitePackages}/numcodecs"
];
disabledTests = [
"test_backwards_compatibility"
"test_encode_decode"
"test_legacy_codec_broken"
"test_bytes"
# 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.
# with numpy 1.24
"test_non_numpy_inputs"
];
meta = with lib;{
homepage = "https://github.com/zarr-developers/numcodecs";
license = licenses.mit;
description = "Buffer compression and transformation codecs for use in data storage and communication applications";
maintainers = [ ];
};
}