1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 fsspec, 6 funcy, 7 pytest-asyncio, 8 pytest-mock, 9 pytestCheckHook, 10 pythonOlder, 11 reflink, 12 setuptools-scm, 13 shortuuid, 14}: 15 16buildPythonPackage rec { 17 pname = "dvc-objects"; 18 version = "5.1.1"; 19 pyproject = true; 20 21 disabled = pythonOlder "3.8"; 22 23 src = fetchFromGitHub { 24 owner = "iterative"; 25 repo = "dvc-objects"; 26 tag = version; 27 hash = "sha256-NjpQJhpNkl+M+aFWG0AaPUc546F7L23PcduMKNtGDL4="; 28 }; 29 30 postPatch = '' 31 substituteInPlace pyproject.toml \ 32 --replace " --benchmark-skip" "" 33 ''; 34 35 nativeBuildInputs = [ setuptools-scm ]; 36 37 propagatedBuildInputs = [ fsspec ] ++ lib.optionals (pythonOlder "3.12") [ funcy ]; 38 39 nativeCheckInputs = [ 40 pytest-asyncio 41 pytest-mock 42 pytestCheckHook 43 reflink 44 shortuuid 45 ]; 46 47 pythonImportsCheck = [ "dvc_objects" ]; 48 49 disabledTestPaths = [ 50 # Disable benchmarking 51 "tests/benchmarks/" 52 ]; 53 54 meta = with lib; { 55 description = "Library for DVC objects"; 56 homepage = "https://github.com/iterative/dvc-objects"; 57 changelog = "https://github.com/iterative/dvc-objects/releases/tag/${src.tag}"; 58 license = licenses.asl20; 59 maintainers = with maintainers; [ fab ]; 60 }; 61}