1{
2 lib,
3 buildPythonPackage,
4 datasets,
5 dvc,
6 dvc-render,
7 dvc-studio-client,
8 fastai,
9 fetchFromGitHub,
10 funcy,
11 gto,
12 jsonargparse,
13 lightgbm,
14 lightning,
15 matplotlib,
16 mmcv,
17 numpy,
18 optuna,
19 pandas,
20 pillow,
21 psutil,
22 pynvml,
23 pythonOlder,
24 ruamel-yaml,
25 scikit-learn,
26 scmrepo,
27 setuptools-scm,
28 tensorflow,
29 torch,
30 transformers,
31 xgboost,
32}:
33
34buildPythonPackage rec {
35 pname = "dvclive";
36 version = "3.47.0";
37 pyproject = true;
38
39 disabled = pythonOlder "3.9";
40
41 src = fetchFromGitHub {
42 owner = "iterative";
43 repo = "dvclive";
44 rev = "refs/tags/${version}";
45 hash = "sha256-oC45cSqiKeorbyPe3GIsJ824U3OS1cKvWxUM901/QwQ=";
46 };
47
48 build-system = [ setuptools-scm ];
49
50 dependencies = [
51 dvc
52 dvc-render
53 dvc-studio-client
54 funcy
55 gto
56 ruamel-yaml
57 scmrepo
58 psutil
59 pynvml
60 ];
61
62 passthru.optional-dependencies = {
63 all = [
64 jsonargparse
65 lightgbm
66 lightning
67 matplotlib
68 mmcv
69 numpy
70 optuna
71 pandas
72 pillow
73 scikit-learn
74 tensorflow
75 torch
76 transformers
77 xgboost
78 ] ++ jsonargparse.optional-dependencies.signatures;
79 image = [
80 numpy
81 pillow
82 ];
83 sklearn = [ scikit-learn ];
84 plots = [
85 pandas
86 scikit-learn
87 numpy
88 ];
89 markdown = [ matplotlib ];
90 mmcv = [ mmcv ];
91 tf = [ tensorflow ];
92 xgb = [ xgboost ];
93 lgbm = [ lightgbm ];
94 huggingface = [
95 datasets
96 transformers
97 ];
98 # catalyst = [
99 # catalyst
100 # ];
101 fastai = [ fastai ];
102 lightning = [
103 lightning
104 torch
105 jsonargparse
106 ] ++ jsonargparse.optional-dependencies.signatures;
107 optuna = [ optuna ];
108 };
109
110 # Circular dependency with dvc
111 doCheck = false;
112
113 pythonImportsCheck = [ "dvclive" ];
114
115 meta = with lib; {
116 description = "Library for logging machine learning metrics and other metadata in simple file formats";
117 homepage = "https://github.com/iterative/dvclive";
118 changelog = "https://github.com/iterative/dvclive/releases/tag/${version}";
119 license = licenses.asl20;
120 maintainers = with maintainers; [ fab ];
121 };
122}