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