diff --git a/pkgs/development/python-modules/dvc-data/default.nix b/pkgs/development/python-modules/dvc-data/default.nix new file mode 100644 index 000000000000..676eea8b3cd4 --- /dev/null +++ b/pkgs/development/python-modules/dvc-data/default.nix @@ -0,0 +1,63 @@ +{ lib +, buildPythonPackage +, dictdiffer +, diskcache +, dvc-objects +, fetchFromGitHub +, funcy +, nanotime +, pygtrie +, pythonOlder +, shortuuid +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "dvc-data"; + version = "0.0.18"; + format = "pyproject"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "iterative"; + repo = pname; + rev = version; + hash = "sha256-jS+96LjHJyhkCREjMhhlWOlvRBhjiKmfNtEcBVS+YCU="; + }; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + dictdiffer + diskcache + dvc-objects + funcy + nanotime + pygtrie + shortuuid + ]; + + # Tests depend on upath which is unmaintained and only available as wheel + doCheck = false; + + postPatch = '' + substituteInPlace setup.cfg \ + --replace "dvc-objects==" "dvc-objects>=" + ''; + + pythonImportsCheck = [ + "dvc_data" + ]; + + meta = with lib; { + description = "DVC's data management subsystem"; + homepage = "https://github.com/iterative/dvc-data"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5ee65de692c3..0006a47025ef 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2647,6 +2647,8 @@ in { durus = callPackage ../development/python-modules/durus { }; + dvc-data = callPackage ../development/python-modules/dvc-data { }; + dvc-objects = callPackage ../development/python-modules/dvc-objects { }; dvc-render = callPackage ../development/python-modules/dvc-render { };