{ lib , buildPythonPackage , fetchFromGitHub # build-system , cmake , cython_3 , ninja , oldest-supported-numpy , pkg-config , scikit-build , setuptools , wheel # c library , c-blosc2 # propagates , msgpack , ndindex , numpy , py-cpuinfo , rich # tests , psutil , pytestCheckHook , torch }: buildPythonPackage rec { pname = "blosc2"; version = "2.5.1"; pyproject = true; src = fetchFromGitHub { owner = "Blosc"; repo = "python-blosc2"; rev = "refs/tags/v${version}"; hash = "sha256-yBgnNJU1q+FktIkpQn74LuRP19Ta/fNC60Z8TxzlWPk="; }; postPatch = '' substituteInPlace requirements-runtime.txt \ --replace "pytest" "" ''; nativeBuildInputs = [ cmake cython_3 ninja oldest-supported-numpy pkg-config scikit-build setuptools wheel ]; buildInputs = [ c-blosc2 ]; dontUseCmakeConfigure = true; env.CMAKE_ARGS = "-DUSE_SYSTEM_BLOSC2:BOOL=YES"; propagatedBuildInputs = [ msgpack ndindex numpy py-cpuinfo rich ]; nativeCheckInputs = [ psutil pytestCheckHook torch ]; passthru.c-blosc2 = c-blosc2; meta = with lib; { description = "Python wrapper for the extremely fast Blosc2 compression library"; homepage = "https://github.com/Blosc/python-blosc2"; changelog = "https://github.com/Blosc/python-blosc2/releases/tag/v${version}"; license = licenses.bsd3; maintainers = with maintainers; [ ris ]; }; }