nixpkgs/pkgs/development/python-modules/optuna/default.nix
2021-06-22 13:42:48 +02:00

94 lines
1.6 KiB
Nix

{ lib
, buildPythonPackage
, fetchFromGitHub
, pytest
, mock
, bokeh
, plotly
, chainer
, xgboost
, mpi4py
, lightgbm
, Keras
, mxnet
, scikit-optimize
, tensorflow
, cma
, sqlalchemy
, numpy
, scipy
, six
, cliff
, colorlog
, pandas
, alembic
, tqdm
, typing
, pythonOlder
, isPy27
}:
buildPythonPackage rec {
pname = "optuna";
version = "2.8.0";
disabled = isPy27;
src = fetchFromGitHub {
owner = "optuna";
repo = pname;
rev = "v${version}";
sha256 = "1w5vyl36mbk78a5028qa7dlzhavrs1dkx3q8m50ij37pa5cnyksz";
};
checkInputs = [
pytest
mock
bokeh
plotly
chainer
xgboost
mpi4py
lightgbm
Keras
mxnet
scikit-optimize
tensorflow
cma
];
propagatedBuildInputs = [
sqlalchemy
numpy
scipy
six
cliff
colorlog
pandas
alembic
tqdm
] ++ lib.optionals (pythonOlder "3.5") [
typing
];
configurePhase = if !(pythonOlder "3.5") then ''
substituteInPlace setup.py \
--replace "'typing'," ""
'' else "";
checkPhase = ''
pytest --ignore tests/test_cli.py \
--ignore tests/integration_tests/test_chainermn.py \
--ignore tests/integration_tests/test_pytorch_lightning.py \
--ignore tests/integration_tests/test_pytorch_ignite.py \
--ignore tests/integration_tests/test_fastai.py
'';
meta = with lib; {
broken = true; # Dashboard broken, other build failures.
description = "A hyperparameter optimization framework";
homepage = "https://optuna.org/";
license = licenses.mit;
maintainers = [ maintainers.costrouc ];
};
}