optuna
/
pyproject.toml
164 строки · 3.8 Кб
1[build-system]
2requires = ["setuptools >= 61.1.0", "wheel"]
3build-backend = "setuptools.build_meta"
4
5[project]
6name = "optuna"
7description = "A hyperparameter optimization framework"
8readme = "README.md"
9license = {file = "LICENSE"}
10authors = [
11{name = "Takuya Akiba"}
12]
13classifiers = [
14"Development Status :: 5 - Production/Stable",
15"Intended Audience :: Science/Research",
16"Intended Audience :: Developers",
17"License :: OSI Approved :: MIT License",
18"Programming Language :: Python :: 3",
19"Programming Language :: Python :: 3.7",
20"Programming Language :: Python :: 3.8",
21"Programming Language :: Python :: 3.9",
22"Programming Language :: Python :: 3.10",
23"Programming Language :: Python :: 3.11",
24"Programming Language :: Python :: 3.12",
25"Programming Language :: Python :: 3 :: Only",
26"Topic :: Scientific/Engineering",
27"Topic :: Scientific/Engineering :: Mathematics",
28"Topic :: Scientific/Engineering :: Artificial Intelligence",
29"Topic :: Software Development",
30"Topic :: Software Development :: Libraries",
31"Topic :: Software Development :: Libraries :: Python Modules",
32]
33requires-python = ">=3.7"
34dependencies = [
35"alembic>=1.5.0",
36"colorlog",
37"numpy",
38"packaging>=20.0",
39"sqlalchemy>=1.3.0",
40"tqdm",
41"PyYAML", # Only used in `optuna/cli.py`.
42]
43dynamic = ["version"]
44
45[project.optional-dependencies]
46benchmark = [
47"asv>=0.5.0",
48"botorch",
49"cma",
50"virtualenv"
51]
52checking = [
53"black",
54"blackdoc",
55"flake8",
56"isort",
57"mypy",
58"mypy_boto3_s3",
59"types-PyYAML",
60"types-redis",
61"types-setuptools",
62"types-tqdm",
63"typing_extensions>=3.10.0.0",
64]
65document = [
66"ase",
67"cmaes>=0.10.0", # optuna/samplers/_cmaes.py.
68"fvcore",
69"lightgbm",
70"matplotlib!=3.6.0",
71"pandas",
72"pillow",
73"plotly>=4.9.0", # optuna/visualization.
74"scikit-learn",
75"sphinx",
76"sphinx-copybutton",
77"sphinx-gallery",
78"sphinx-plotly-directive",
79"sphinx_rtd_theme>=1.2.0",
80"torch",
81"torchvision",
82]
83optional = [
84"boto3", # optuna/artifacts/_boto3.py.
85"cmaes>=0.10.0", # optuna/samplers/_cmaes.py.
86"google-cloud-storage", # optuna/artifacts/_gcs.py.
87"matplotlib!=3.6.0", # optuna/visualization/matplotlib.
88"pandas", # optuna/study.py.
89"plotly>=4.9.0", # optuna/visualization.
90"redis", # optuna/storages/redis.py.
91"scikit-learn>=0.24.2",
92# optuna/visualization/param_importances.py.
93"scipy", # optuna/samplers/_gp
94"torch", # optuna/samplers/_gp
95]
96test = [
97"coverage",
98"fakeredis[lua]",
99"kaleido",
100"moto",
101"pytest",
102"scipy>=1.9.2; python_version>='3.8'",
103"torch",
104]
105
106[project.urls]
107homepage = "https://optuna.org/"
108repository = "https://github.com/optuna/optuna"
109documentation = "https://optuna.readthedocs.io"
110bugtracker = "https://github.com/optuna/optuna/issues"
111
112[project.scripts]
113optuna = "optuna.cli:main"
114
115[tool.setuptools.packages.find]
116include = ["optuna*"]
117
118[tool.setuptools.dynamic]
119version = {attr = "optuna.version.__version__"}
120
121[tool.setuptools.package-data]
122"optuna" = [
123"storages/_rdb/alembic.ini",
124"storages/_rdb/alembic/*.*",
125"storages/_rdb/alembic/versions/*.*",
126"py.typed",
127]
128
129[tool.black]
130line-length = 99
131target-version = ['py38']
132exclude = '''
133/(
134\.eggs
135| \.git
136| \.hg
137| \.mypy_cache
138| \.venv
139| venv
140| _build
141| buck-out
142| build
143| dist
144| docs
145)/
146'''
147
148[tool.isort]
149profile = 'black'
150src_paths = ['optuna', 'tests', 'docs', 'benchmarks']
151skip_glob = ['docs/source/conf.py', '**/alembic/versions/*.py', 'tutorial/**/*.py']
152line_length = 99
153lines_after_imports = 2
154force_single_line = 'True'
155force_sort_within_sections = 'True'
156order_by_type = 'False'
157
158[tool.pytest.ini_options]
159addopts = "--color=yes"
160filterwarnings = 'ignore::optuna.exceptions.ExperimentalWarning'
161markers = [
162"skip_coverage: marks tests are skipped when calculating the coverage",
163"slow: marks tests as slow (deselect with '-m \"not slow\"')",
164]
165