nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 173 lines 3.2 kB view raw
1{ 2 lib, 3 attrs, 4 buildPythonPackage, 5 celery, 6 colorama, 7 configobj, 8 dulwich, 9 distro, 10 dpath, 11 dvc-azure, 12 dvc-data, 13 dvc-gdrive, 14 dvc-gs, 15 dvc-hdfs, 16 dvc-http, 17 dvc-oss, 18 dvc-render, 19 dvc-s3, 20 dvc-ssh, 21 dvc-studio-client, 22 dvc-task, 23 dvc-webdav, 24 dvc-webhdfs, 25 fetchFromGitHub, 26 flatten-dict, 27 flufl-lock, 28 fsspec, 29 funcy, 30 grandalf, 31 gto, 32 hydra-core, 33 importlib-metadata, 34 importlib-resources, 35 iterative-telemetry, 36 kombu, 37 networkx, 38 omegaconf, 39 packaging, 40 pathspec, 41 platformdirs, 42 psutil, 43 pydot, 44 pygtrie, 45 pyparsing, 46 requests, 47 rich, 48 ruamel-yaml, 49 scmrepo, 50 setuptools-scm, 51 shortuuid, 52 shtab, 53 tabulate, 54 tomlkit, 55 tqdm, 56 typing-extensions, 57 voluptuous, 58 zc-lockfile, 59 enableGoogle ? false, 60 enableAWS ? false, 61 enableAzure ? false, 62 enableSSH ? false, 63}: 64 65buildPythonPackage (finalAttrs: { 66 pname = "dvc"; 67 version = "3.66.1"; 68 pyproject = true; 69 70 src = fetchFromGitHub { 71 owner = "iterative"; 72 repo = "dvc"; 73 tag = finalAttrs.version; 74 hash = "sha256-IvO5JEM3P0ggmufrBFv7fUBwoKzNIgWMUnOo31rYJRk="; 75 }; 76 77 pythonRelaxDeps = [ 78 "dvc-data" 79 "platformdirs" 80 ]; 81 82 postPatch = '' 83 substituteInPlace dvc/analytics.py \ 84 --replace-fail 'enabled = not os.getenv(DVC_NO_ANALYTICS)' 'enabled = False' 85 substituteInPlace dvc/daemon.py \ 86 --subst-var-by dvc "$out/bin/dvc" 87 ''; 88 89 build-system = [ setuptools-scm ]; 90 91 dependencies = [ 92 attrs 93 celery 94 colorama 95 configobj 96 distro 97 dpath 98 dulwich 99 dvc-data 100 dvc-http 101 dvc-render 102 dvc-studio-client 103 dvc-task 104 flatten-dict 105 flufl-lock 106 fsspec 107 funcy 108 grandalf 109 gto 110 hydra-core 111 iterative-telemetry 112 kombu 113 networkx 114 omegaconf 115 packaging 116 pathspec 117 platformdirs 118 psutil 119 pydot 120 pygtrie 121 pyparsing 122 requests 123 rich 124 ruamel-yaml 125 scmrepo 126 shortuuid 127 shtab 128 tabulate 129 tomlkit 130 tqdm 131 typing-extensions 132 voluptuous 133 zc-lockfile 134 ] 135 ++ lib.optionals enableGoogle finalAttrs.passthru.optional-dependencies.gs 136 ++ lib.optionals enableAWS finalAttrs.passthru.optional-dependencies.s3 137 ++ lib.optionals enableAzure finalAttrs.passthru.optional-dependencies.azure 138 ++ lib.optionals enableSSH finalAttrs.passthru.optional-dependencies.ssh; 139 140 optional-dependencies = { 141 azure = [ dvc-azure ]; 142 gdrive = [ dvc-gdrive ]; 143 gs = [ dvc-gs ]; 144 hdfs = [ dvc-hdfs ]; 145 oss = [ dvc-oss ]; 146 s3 = [ dvc-s3 ]; 147 ssh = [ dvc-ssh ]; 148 ssh_gssapi = [ dvc-ssh ] ++ dvc-ssh.optional-dependencies.gssapi; 149 webdav = [ dvc-webdav ]; 150 webhdfs = [ dvc-webhdfs ]; 151 webhdfs_kerberos = [ dvc-webhdfs ] ++ dvc-webhdfs.optional-dependencies.kerberos; 152 }; 153 154 # Tests require access to real cloud services 155 doCheck = false; 156 157 pythonImportsCheck = [ 158 "dvc" 159 "dvc.api" 160 ]; 161 162 meta = { 163 description = "Version Control System for Machine Learning Projects"; 164 homepage = "https://dvc.org"; 165 changelog = "https://github.com/iterative/dvc/releases/tag/${finalAttrs.src.tag}"; 166 license = lib.licenses.asl20; 167 maintainers = with lib.maintainers; [ 168 cmcdragonkai 169 fab 170 ]; 171 mainProgram = "dvc"; 172 }; 173})