1{ lib
2, buildPythonPackage
3, dictdiffer
4, diskcache
5, dvc-objects
6, fetchFromGitHub
7, funcy
8, pygtrie
9, pythonOlder
10, setuptools-scm
11, shortuuid
12, sqltrie
13}:
14
15buildPythonPackage rec {
16 pname = "dvc-data";
17 version = "2.22.0";
18 format = "pyproject";
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "iterative";
24 repo = pname;
25 rev = "refs/tags/${version}";
26 hash = "sha256-7T6aR1qCJm7m0AmASyJZpZtc+yXqULKc9mMcY2WYT6I=";
27 };
28
29 SETUPTOOLS_SCM_PRETEND_VERSION = version;
30
31 nativeBuildInputs = [
32 setuptools-scm
33 ];
34
35 propagatedBuildInputs = [
36 dictdiffer
37 diskcache
38 dvc-objects
39 funcy
40 pygtrie
41 shortuuid
42 sqltrie
43 ];
44
45 # Tests depend on upath which is unmaintained and only available as wheel
46 doCheck = false;
47
48 postPatch = ''
49 substituteInPlace setup.cfg \
50 --replace "dvc-objects==" "dvc-objects>="
51 '';
52
53 pythonImportsCheck = [
54 "dvc_data"
55 ];
56
57 meta = with lib; {
58 description = "DVC's data management subsystem";
59 homepage = "https://github.com/iterative/dvc-data";
60 changelog = "https://github.com/iterative/dvc-data/releases/tag/${version}";
61 license = licenses.asl20;
62 maintainers = with maintainers; [ fab ];
63 };
64}