1{ lib
2, buildPythonPackage
3, fetchPypi
4, pytest
5, mock
6, bokeh
7, plotly
8, chainer
9, xgboost
10, mpi4py
11, lightgbm
12, Keras
13, mxnet
14, scikit-optimize
15, tensorflow
16, sqlalchemy
17, numpy
18, scipy
19, six
20, cliff
21, colorlog
22, pandas
23, alembic
24, typing
25, pythonOlder
26, isPy27
27}:
28
29buildPythonPackage rec {
30 pname = "optuna";
31 version = "0.13.0";
32 disabled = isPy27;
33
34 src = fetchPypi {
35 inherit pname version;
36 sha256 = "915b9d7b28f7f7cdf015d8617c689ca90eda7a5bbd59c5fc232c9eccc9a91585";
37 };
38
39 checkInputs = [
40 pytest
41 mock
42 bokeh
43 plotly
44 chainer
45 xgboost
46 mpi4py
47 lightgbm
48 Keras
49 mxnet
50 scikit-optimize
51 tensorflow
52 ];
53
54 propagatedBuildInputs = [
55 sqlalchemy
56 numpy
57 scipy
58 six
59 cliff
60 colorlog
61 pandas
62 alembic
63 ] ++ lib.optionals (pythonOlder "3.5") [ typing ];
64
65 configurePhase = if !(pythonOlder "3.5") then ''
66 substituteInPlace setup.py \
67 --replace "'typing'" ""
68 '' else "";
69
70 checkPhase = ''
71 pytest --ignore tests/test_cli.py \
72 --ignore tests/integration_tests/test_chainermn.py
73 '';
74
75 meta = with lib; {
76 description = "A hyperparameter optimization framework";
77 homepage = https://optuna.org/;
78 license = licenses.mit;
79 maintainers = [ maintainers.costrouc ];
80 };
81}