at 25.11-pre 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 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.59.2"; 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-MAnbQ6VXhUqtRJu40sINDPTmEUgXovEPvBuHYc4EiAQ="; 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 [ 96 attrs 97 celery 98 colorama 99 configobj 100 distro 101 dpath 102 dulwich 103 dvc-data 104 dvc-http 105 dvc-render 106 dvc-studio-client 107 dvc-task 108 flatten-dict 109 flufl-lock 110 fsspec 111 funcy 112 grandalf 113 gto 114 hydra-core 115 iterative-telemetry 116 kombu 117 networkx 118 omegaconf 119 packaging 120 pathspec 121 platformdirs 122 psutil 123 pydot 124 pygtrie 125 pyparsing 126 requests 127 rich 128 ruamel-yaml 129 scmrepo 130 shortuuid 131 shtab 132 tabulate 133 tomlkit 134 tqdm 135 typing-extensions 136 voluptuous 137 zc-lockfile 138 ] 139 ++ lib.optionals enableGoogle optional-dependencies.gs 140 ++ lib.optionals enableAWS optional-dependencies.s3 141 ++ lib.optionals enableAzure optional-dependencies.azure 142 ++ lib.optionals enableSSH optional-dependencies.ssh; 143 144 optional-dependencies = { 145 azure = [ dvc-azure ]; 146 gdrive = [ dvc-gdrive ]; 147 gs = [ dvc-gs ]; 148 hdfs = [ dvc-hdfs ]; 149 oss = [ dvc-oss ]; 150 s3 = [ dvc-s3 ]; 151 ssh = [ dvc-ssh ]; 152 ssh_gssapi = [ dvc-ssh ] ++ dvc-ssh.optional-dependencies.gssapi; 153 webdav = [ dvc-webdav ]; 154 webhdfs = [ dvc-webhdfs ]; 155 webhdfs_kerberos = [ dvc-webhdfs ] ++ dvc-webhdfs.optional-dependencies.kerberos; 156 }; 157 158 # Tests require access to real cloud services 159 doCheck = false; 160 161 pythonImportsCheck = [ 162 "dvc" 163 "dvc.api" 164 ]; 165 166 meta = with lib; { 167 description = "Version Control System for Machine Learning Projects"; 168 homepage = "https://dvc.org"; 169 changelog = "https://github.com/iterative/dvc/releases/tag/${src.tag}"; 170 license = licenses.asl20; 171 maintainers = with maintainers; [ 172 cmcdragonkai 173 fab 174 ]; 175 mainProgram = "dvc"; 176 }; 177}