1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4
5# build-system
6, cmake
7, cython
8, ninja
9, oldest-supported-numpy
10, scikit-build
11, setuptools
12, wheel
13
14# propagates
15, msgpack
16, ndindex
17, numpy
18, py-cpuinfo
19, rich
20
21# tests
22, psutil
23, pytestCheckHook
24, torch
25}:
26
27buildPythonPackage rec {
28 pname = "blosc2";
29 version = "2.2.7";
30 format = "pyproject";
31
32 src = fetchFromGitHub {
33 owner = "Blosc";
34 repo = "python-blosc2";
35 rev = "refs/tags/v${version}";
36 fetchSubmodules = true;
37 hash = "sha256-5a94Zm6sYl/nSfkcFbKG7PkyXwLB6bAoIvfaq0yVGHo=";
38 };
39
40 postPatch = ''
41 substituteInPlace requirements-runtime.txt \
42 --replace "pytest" ""
43 '';
44
45 nativeBuildInputs = [
46 cmake
47 cython
48 ninja
49 oldest-supported-numpy
50 scikit-build
51 setuptools
52 wheel
53 ];
54
55 dontUseCmakeConfigure = true;
56
57 propagatedBuildInputs = [
58 msgpack
59 ndindex
60 numpy
61 py-cpuinfo
62 rich
63 ];
64
65 nativeCheckInputs = [
66 psutil
67 pytestCheckHook
68 torch
69 ];
70
71 meta = with lib; {
72 description = "Python wrapper for the extremely fast Blosc2 compression library";
73 homepage = "https://github.com/Blosc/python-blosc2";
74 changelog = "https://github.com/Blosc/python-blosc2/releases/tag/v${version}";
75 license = licenses.bsd3;
76 maintainers = with maintainers; [ ];
77 };
78}