214 lines
6.0 KiB
TOML
214 lines
6.0 KiB
TOML
[project]
|
|
name = "scikit-learn"
|
|
version = "1.5.1"
|
|
description = "A set of python modules for machine learning and data mining"
|
|
readme = "README.rst"
|
|
maintainers = [
|
|
{name = "scikit-learn developers", email="scikit-learn@python.org"},
|
|
]
|
|
dependencies = [
|
|
"numpy>=1.19.5",
|
|
"scipy>=1.6.0",
|
|
"joblib>=1.2.0",
|
|
"threadpoolctl>=3.1.0",
|
|
]
|
|
requires-python = ">=3.9"
|
|
license = {text = "new BSD"}
|
|
classifiers=[
|
|
"Intended Audience :: Science/Research",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: BSD License",
|
|
"Programming Language :: C",
|
|
"Programming Language :: Python",
|
|
"Topic :: Software Development",
|
|
"Topic :: Scientific/Engineering",
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Operating System :: Microsoft :: Windows",
|
|
"Operating System :: POSIX",
|
|
"Operating System :: Unix",
|
|
"Operating System :: MacOS",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
]
|
|
|
|
[project.urls]
|
|
homepage = "https://scikit-learn.org"
|
|
source = "https://github.com/scikit-learn/scikit-learn"
|
|
download = "https://pypi.org/project/scikit-learn/#files"
|
|
tracker = "https://github.com/scikit-learn/scikit-learn/issues"
|
|
"release notes" = "https://scikit-learn.org/stable/whats_new"
|
|
|
|
[project.optional-dependencies]
|
|
build = ["numpy>=1.19.5", "scipy>=1.6.0", "cython>=3.0.10", "meson-python>=0.16.0"]
|
|
install = ["numpy>=1.19.5", "scipy>=1.6.0", "joblib>=1.2.0", "threadpoolctl>=3.1.0"]
|
|
benchmark = ["matplotlib>=3.3.4", "pandas>=1.1.5", "memory_profiler>=0.57.0"]
|
|
docs = [
|
|
"matplotlib>=3.3.4",
|
|
"scikit-image>=0.17.2",
|
|
"pandas>=1.1.5",
|
|
"seaborn>=0.9.0",
|
|
"memory_profiler>=0.57.0",
|
|
"sphinx>=7.3.7",
|
|
"sphinx-copybutton>=0.5.2",
|
|
"sphinx-gallery>=0.16.0",
|
|
"numpydoc>=1.2.0",
|
|
"Pillow>=7.1.2",
|
|
"pooch>=1.6.0",
|
|
"sphinx-prompt>=1.4.0",
|
|
"sphinxext-opengraph>=0.9.1",
|
|
"plotly>=5.14.0",
|
|
"polars>=0.20.23",
|
|
"sphinx-design>=0.5.0",
|
|
"sphinxcontrib-sass>=0.3.4",
|
|
"pydata-sphinx-theme>=0.15.3",
|
|
"sphinx-remove-toctrees>=1.0.0.post1",
|
|
]
|
|
examples = [
|
|
"matplotlib>=3.3.4",
|
|
"scikit-image>=0.17.2",
|
|
"pandas>=1.1.5",
|
|
"seaborn>=0.9.0",
|
|
"pooch>=1.6.0",
|
|
"plotly>=5.14.0",
|
|
]
|
|
tests = [
|
|
"matplotlib>=3.3.4",
|
|
"scikit-image>=0.17.2",
|
|
"pandas>=1.1.5",
|
|
"pytest>=7.1.2",
|
|
"pytest-cov>=2.9.0",
|
|
"ruff>=0.2.1",
|
|
"black>=24.3.0",
|
|
"mypy>=1.9",
|
|
"pyamg>=4.0.0",
|
|
"polars>=0.20.23",
|
|
"pyarrow>=12.0.0",
|
|
"numpydoc>=1.2.0",
|
|
"pooch>=1.6.0",
|
|
]
|
|
maintenance = ["conda-lock==2.5.6"]
|
|
|
|
[build-system]
|
|
build-backend = "mesonpy"
|
|
# Minimum requirements for the build system to execute.
|
|
requires = [
|
|
"meson-python>=0.16.0",
|
|
"Cython>=3.0.10",
|
|
"numpy>=2.0.0rc2",
|
|
"scipy>=1.6.0",
|
|
]
|
|
|
|
[tool.black]
|
|
line-length = 88
|
|
target-version = ['py39', 'py310', 'py311']
|
|
preview = true
|
|
exclude = '''
|
|
/(
|
|
\.eggs # exclude a few common directories in the
|
|
| \.git # root of the project
|
|
| \.mypy_cache
|
|
| \.vscode
|
|
| build
|
|
| dist
|
|
| doc/_build
|
|
| doc/auto_examples
|
|
| sklearn/externals
|
|
| asv_benchmarks/env
|
|
)/
|
|
'''
|
|
|
|
[tool.ruff]
|
|
# max line length for black
|
|
line-length = 88
|
|
target-version = "py38"
|
|
exclude=[
|
|
".git",
|
|
"__pycache__",
|
|
"dist",
|
|
"sklearn/externals",
|
|
"doc/_build",
|
|
"doc/auto_examples",
|
|
"build",
|
|
"asv_benchmarks/env",
|
|
"asv_benchmarks/html",
|
|
"asv_benchmarks/results",
|
|
"asv_benchmarks/benchmarks/cache",
|
|
]
|
|
|
|
[tool.ruff.lint]
|
|
# all rules can be found here: https://beta.ruff.rs/docs/rules/
|
|
select = ["E", "F", "W", "I"]
|
|
ignore=[
|
|
# space before : (needed for how black formats slicing)
|
|
"E203",
|
|
# do not assign a lambda expression, use a def
|
|
"E731",
|
|
# do not use variables named 'l', 'O', or 'I'
|
|
"E741",
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
# It's fine not to put the import at the top of the file in the examples
|
|
# folder.
|
|
"examples/*"=["E402"]
|
|
"doc/conf.py"=["E402"]
|
|
|
|
|
|
[tool.cython-lint]
|
|
# Ignore the same error codes as ruff
|
|
# + E501 (line too long) because keeping it < 88 in cython
|
|
# often makes code less readable.
|
|
ignore = [
|
|
# multiple spaces/tab after comma
|
|
'E24',
|
|
# space before : (needed for how black formats slicing)
|
|
'E203',
|
|
# line too long
|
|
'E501',
|
|
# do not assign a lambda expression, use a def
|
|
'E731',
|
|
# do not use variables named 'l', 'O', or 'I'
|
|
'E741',
|
|
# line break before binary operator
|
|
'W503',
|
|
# line break after binary operator
|
|
'W504',
|
|
]
|
|
# Exclude files are generated from tempita templates
|
|
exclude= '''
|
|
(
|
|
asv_benchmarks/
|
|
| sklearn/_loss/_loss.pyx
|
|
| sklearn/linear_model/_sag_fast.pyx
|
|
| sklearn/linear_model/_sgd_fast.pyx
|
|
| sklearn/utils/_seq_dataset.pyx
|
|
| sklearn/utils/_seq_dataset.pxd
|
|
| sklearn/utils/_weight_vector.pyx
|
|
| sklearn/utils/_weight_vector.pxd
|
|
| sklearn/metrics/_dist_metrics.pyx
|
|
| sklearn/metrics/_dist_metrics.pxd
|
|
| sklearn/metrics/_pairwise_distances_reduction/_argkmin.pxd
|
|
| sklearn/metrics/_pairwise_distances_reduction/_argkmin.pyx
|
|
| sklearn/metrics/_pairwise_distances_reduction/_argkmin_classmode.pyx
|
|
| sklearn/metrics/_pairwise_distances_reduction/_base.pxd
|
|
| sklearn/metrics/_pairwise_distances_reduction/_base.pyx
|
|
| sklearn/metrics/_pairwise_distances_reduction/_datasets_pair.pxd
|
|
| sklearn/metrics/_pairwise_distances_reduction/_datasets_pair.pyx
|
|
| sklearn/metrics/_pairwise_distances_reduction/_middle_term_computer.pxd
|
|
| sklearn/metrics/_pairwise_distances_reduction/_middle_term_computer.pyx
|
|
| sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors.pxd
|
|
| sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors.pyx
|
|
)
|
|
'''
|
|
|
|
[tool.check-sdist]
|
|
# These settings should match .gitattributes
|
|
sdist-only = []
|
|
git-only = [".*", "asv_benchmarks", "azure-pipelines.yml", "benchmarks", "build_tools", "maint_tools"]
|
|
default-ignore = false
|