depot/third_party/nixpkgs/pkgs/development/python-modules/numcodecs/default.nix
Default email 472aeafc57 Project import generated by Copybara.
GitOrigin-RevId: c31898adf5a8ed202ce5bea9f347b1c6871f32d1
2024-10-04 18:56:33 +02:00

86 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 ];
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 = [ ];
};
}