1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
, alembic
, boto3
, botorch
, catboost
, cma
, cmaes
, colorlog
, distributed
, fakeredis
, google-cloud-storage
, lightgbm
, matplotlib
, mlflow
, moto
, numpy
, packaging
, pandas
, plotly
, pytest-xdist
, pytorch-lightning
, pyyaml
, redis
, scikit-learn
, scikit-optimize
, scipy
, setuptools
, shap
, sqlalchemy
, tensorflow
, torch
, torchaudio
, torchvision
, tqdm
, wandb
, wheel
, xgboost
}:
buildPythonPackage rec {
pname = "optuna";
version = "3.6.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "optuna";
repo = "optuna";
rev = "refs/tags/v${version}";
hash = "sha256-+ZqMRIza4K5VWTUm7tC87S08SI+C8GKd2Uh3rGoHwd0=";
};
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
alembic
colorlog
numpy
packaging
sqlalchemy
tqdm
pyyaml
];
passthru.optional-dependencies = {
integration = [
botorch
catboost
cma
distributed
lightgbm
mlflow
pandas
# pytorch-ignite
pytorch-lightning
scikit-learn
scikit-optimize
shap
tensorflow
torch
torchaudio
torchvision
wandb
xgboost
];
optional = [
boto3
botorch
cmaes
google-cloud-storage
matplotlib
pandas
plotly
redis
scikit-learn
];
};
preCheck = ''
export PATH=$out/bin:$PATH
'';
nativeCheckInputs = [
fakeredis
moto
pytest-xdist
pytestCheckHook
scipy
] ++ fakeredis.optional-dependencies.lua
++ passthru.optional-dependencies.optional;
pytestFlagsArray = [
"-m 'not integration'"
];
disabledTestPaths = [
# require unpackaged kaleido and building it is a bit difficult
"tests/visualization_tests"
# ImportError: cannot import name 'mock_s3' from 'moto'
"tests/artifacts_tests/test_boto3.py"
];
pythonImportsCheck = [
"optuna"
];
meta = with lib; {
description = "A hyperparameter optimization framework";
homepage = "https://optuna.org/";
changelog = "https://github.com/optuna/optuna/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ natsukium ];
mainProgram = "optuna";
};
}
|