# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{12..15} ) inherit distutils-r1 pypi EPYTEST_PLUGINS=() distutils_enable_tests pytest DESCRIPTION="Hyperparameter optimization framework" HOMEPAGE=" https://optuna.org/ https://github.com/optuna/optuna https://pypi.org/project/optuna/ " LICENSE="MIT" SLOT="0" KEYWORDS="~amd64 ~arm64" RDEPEND=" >=dev-python/alembic-1.5.0[${PYTHON_USEDEP}] dev-python/colorlog[${PYTHON_USEDEP}] dev-python/numpy[${PYTHON_USEDEP}] >=dev-python/packaging-20[${PYTHON_USEDEP}] >=dev-python/sqlalchemy-1.4.2[${PYTHON_USEDEP}] dev-python/tqdm[${PYTHON_USEDEP}] dev-python/pyyaml[${PYTHON_USEDEP}] " BDEPEND=" test? ( dev-python/fakeredis[${PYTHON_USEDEP}] dev-python/grpcio[${PYTHON_USEDEP}] >=dev-python/protobuf-5.28.1[${PYTHON_USEDEP}] dev-python/scipy[${PYTHON_USEDEP}] ) " # Full run: 2501 passed, 39 skipped, 197 deselected; all exclusions resolve. # cmaes and lupa remain unpackaged. verified 2026-09-07 EPYTEST_IGNORE=( # Optional dependencies. tests/artifacts_tests/test_boto3.py tests/artifacts_tests/test_gcs.py tests/gp_tests tests/importance_tests tests/samplers_tests/test_cmaes.py tests/samplers_tests/test_gp.py tests/samplers_tests/test_partial_fixed.py tests/samplers_tests/test_samplers.py tests/study_tests/test_dataframe.py tests/test_cli.py tests/visualization_tests ) EPYTEST_DESELECT=( # cmaes is unpackaged. "tests/pruners_tests/test_hyperband.py::test_hyperband_filter_study[3]" "tests/pruners_tests/test_hyperband.py::test_hyperband_no_filter_study[3]" "tests/pruners_tests/test_hyperband.py::test_hyperband_no_call_of_filter_study_in_should_prune[3]" # pytest injects handlers into the logger under test. tests/test_logging.py::test_default_handler tests/test_logging.py::test_propagation # psycopg3 escapes upstream's psycopg2-only mask, causing a real DB lookup. # verified 2026-09-07 tests/storages_tests/rdb_tests/test_storage.py::test_init_db_module_import_error ) python_test() { # fakeredis[lua] requires unpackaged lupa. epytest -k "not (journal_redis or redis_default or redis_with_use_cluster)" }