Skip to content

Commit

Permalink
Merge pull request #242478 from natsukium/optuna/fix
Browse files Browse the repository at this point in the history
python310Packages.optuna: 3.1.0 -> 3.3.0; fix build
  • Loading branch information
natsukium committed Sep 13, 2023
2 parents 6e5ff33 + 9c57351 commit edea16f
Showing 1 changed file with 107 additions and 60 deletions.
167 changes: 107 additions & 60 deletions pkgs/development/python-modules/optuna/default.nix
Original file line number Diff line number Diff line change
@@ -1,93 +1,140 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytest
, mock
, bokeh
, plotly
, chainer
, xgboost
, mpi4py
, lightgbm
, keras
, mxnet
, scikit-optimize
, tensorflow
, pytestCheckHook
, pythonOlder
, alembic
, boto3
, botorch
, catboost
, cma
, sqlalchemy
, numpy
, scipy
, six
, cliff
, cmaes
, colorlog
, distributed
, fakeredis
, fastai
, lightgbm
, matplotlib
, mlflow
, moto
, numpy
, packaging
, pandas
, alembic
, plotly
, pytest-xdist
, pytorch-lightning
, pyyaml
, redis
, scikit-learn
, scikit-optimize
, scipy
, setuptools
, shap
, sqlalchemy
, tensorflow
, torch
, torchaudio
, torchvision
, tqdm
, typing
, pythonOlder
, isPy27
, wandb
, wheel
, xgboost
}:

buildPythonPackage rec {
pname = "optuna";
version = "3.1.0";
disabled = isPy27;
version = "3.3.0";
format = "pyproject";

disabled = pythonOlder "3.7";

src = fetchFromGitHub {
owner = "optuna";
repo = pname;
repo = "optuna";
rev = "refs/tags/v${version}";
hash = "sha256-dNS3LEWP/Ul1z60iZirFEX30Frc5ZFQLNTgUkT9vLNQ=";
hash = "sha256-uHv8uEJOQO1+AeNSxBtnCt6gDQHLT1RToF4hfolVVX0=";
};

nativeCheckInputs = [
pytest
mock
bokeh
plotly
chainer
xgboost
mpi4py
lightgbm
keras
mxnet
scikit-optimize
tensorflow
cma
nativeBuildInputs = [
setuptools
wheel
];

propagatedBuildInputs = [
sqlalchemy
numpy
scipy
six
cliff
colorlog
pandas
alembic
cmaes
colorlog
numpy
packaging
sqlalchemy
tqdm
] ++ lib.optionals (pythonOlder "3.5") [
typing
pyyaml
];

configurePhase = lib.optionalString (! pythonOlder "3.5") ''
substituteInPlace setup.py \
--replace "'typing'," ""
'';
passthru.optional-dependencies = {
integration = [
botorch
catboost
cma
distributed
fastai
lightgbm
mlflow
pandas
# pytorch-ignite
pytorch-lightning
scikit-learn
scikit-optimize
shap
tensorflow
torch
torchaudio
torchvision
wandb
xgboost
];
optional = [
boto3
botorch
matplotlib
pandas
plotly
redis
scikit-learn
];
};

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
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"
];

pythonImportsCheck = [
"optuna"
];

meta = with lib; {
broken = true; # Dashboard broken, other build failures.
description = "A hyperparameter optimization framework";
homepage = "https://optuna.org/";
changelog = "https://github.com/optuna/optuna/releases/tag/${src.rev}";
license = licenses.mit;
maintainers = [ ];
maintainers = with maintainers; [ natsukium ];
};
}

0 comments on commit edea16f

Please sign in to comment.