at master 3.1 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 pythonOlder, 47 requests, 48 rich, 49 ruamel-yaml, 50 scmrepo, 51 setuptools-scm, 52 shortuuid, 53 shtab, 54 tabulate, 55 tomlkit, 56 tqdm, 57 typing-extensions, 58 voluptuous, 59 zc-lockfile, 60 enableGoogle ? false, 61 enableAWS ? false, 62 enableAzure ? false, 63 enableSSH ? false, 64}: 65 66buildPythonPackage rec { 67 pname = "dvc"; 68 version = "3.63.0"; 69 pyproject = true; 70 71 disabled = pythonOlder "3.9"; 72 73 src = fetchFromGitHub { 74 owner = "iterative"; 75 repo = "dvc"; 76 tag = version; 77 hash = "sha256-7wuxNPELHdxQSHKHQo8KTQ9yj8KW8RVEN0ykJN/he9E="; 78 }; 79 80 pythonRelaxDeps = [ 81 "dvc-data" 82 "platformdirs" 83 ]; 84 85 postPatch = '' 86 substituteInPlace dvc/analytics.py \ 87 --replace-fail 'enabled = not os.getenv(DVC_NO_ANALYTICS)' 'enabled = False' 88 substituteInPlace dvc/daemon.py \ 89 --subst-var-by dvc "$out/bin/dcv" 90 ''; 91 92 build-system = [ setuptools-scm ]; 93 94 dependencies = [ 95 attrs 96 celery 97 colorama 98 configobj 99 distro 100 dpath 101 dulwich 102 dvc-data 103 dvc-http 104 dvc-render 105 dvc-studio-client 106 dvc-task 107 flatten-dict 108 flufl-lock 109 fsspec 110 funcy 111 grandalf 112 gto 113 hydra-core 114 iterative-telemetry 115 kombu 116 networkx 117 omegaconf 118 packaging 119 pathspec 120 platformdirs 121 psutil 122 pydot 123 pygtrie 124 pyparsing 125 requests 126 rich 127 ruamel-yaml 128 scmrepo 129 shortuuid 130 shtab 131 tabulate 132 tomlkit 133 tqdm 134 typing-extensions 135 voluptuous 136 zc-lockfile 137 ] 138 ++ lib.optionals enableGoogle optional-dependencies.gs 139 ++ lib.optionals enableAWS optional-dependencies.s3 140 ++ lib.optionals enableAzure optional-dependencies.azure 141 ++ lib.optionals enableSSH optional-dependencies.ssh; 142 143 optional-dependencies = { 144 azure = [ dvc-azure ]; 145 gdrive = [ dvc-gdrive ]; 146 gs = [ dvc-gs ]; 147 hdfs = [ dvc-hdfs ]; 148 oss = [ dvc-oss ]; 149 s3 = [ dvc-s3 ]; 150 ssh = [ dvc-ssh ]; 151 ssh_gssapi = [ dvc-ssh ] ++ dvc-ssh.optional-dependencies.gssapi; 152 webdav = [ dvc-webdav ]; 153 webhdfs = [ dvc-webhdfs ]; 154 webhdfs_kerberos = [ dvc-webhdfs ] ++ dvc-webhdfs.optional-dependencies.kerberos; 155 }; 156 157 # Tests require access to real cloud services 158 doCheck = false; 159 160 pythonImportsCheck = [ 161 "dvc" 162 "dvc.api" 163 ]; 164 165 meta = with lib; { 166 description = "Version Control System for Machine Learning Projects"; 167 homepage = "https://dvc.org"; 168 changelog = "https://github.com/iterative/dvc/releases/tag/${src.tag}"; 169 license = licenses.asl20; 170 maintainers = with maintainers; [ 171 cmcdragonkai 172 fab 173 ]; 174 mainProgram = "dvc"; 175 }; 176}