mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
322 lines
9.7 KiB
TOML
322 lines
9.7 KiB
TOML
[build-system]
|
|
requires = ["flit_core>=3.7"]
|
|
build-backend = "flit_core.buildapi"
|
|
|
|
# project metadata
|
|
[project]
|
|
name = "Sphinx"
|
|
description = "Python documentation generator"
|
|
readme = "README.rst"
|
|
urls.Changelog = "https://www.sphinx-doc.org/en/master/changes.html"
|
|
urls.Code = "https://github.com/sphinx-doc/sphinx"
|
|
urls.Download = "https://pypi.org/project/Sphinx/"
|
|
urls.Homepage = "https://www.sphinx-doc.org/"
|
|
urls."Issue tracker" = "https://github.com/sphinx-doc/sphinx/issues"
|
|
license.text = "BSD-2-Clause"
|
|
requires-python = ">=3.9"
|
|
|
|
# Classifiers list: https://pypi.org/classifiers/
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Environment :: Console",
|
|
"Environment :: Web Environment",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: Education",
|
|
"Intended Audience :: End Users/Desktop",
|
|
"Intended Audience :: Science/Research",
|
|
"Intended Audience :: System Administrators",
|
|
"License :: OSI Approved :: BSD License",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
"Framework :: Sphinx",
|
|
"Framework :: Sphinx :: Domain",
|
|
"Framework :: Sphinx :: Extension",
|
|
"Framework :: Sphinx :: Theme",
|
|
"Topic :: Documentation",
|
|
"Topic :: Documentation :: Sphinx",
|
|
"Topic :: Internet :: WWW/HTTP :: Site Management",
|
|
"Topic :: Printing",
|
|
"Topic :: Software Development",
|
|
"Topic :: Software Development :: Documentation",
|
|
"Topic :: Text Processing",
|
|
"Topic :: Text Processing :: General",
|
|
"Topic :: Text Processing :: Indexing",
|
|
"Topic :: Text Processing :: Markup",
|
|
"Topic :: Text Processing :: Markup :: HTML",
|
|
"Topic :: Text Processing :: Markup :: LaTeX",
|
|
"Topic :: Utilities",
|
|
]
|
|
dependencies = [
|
|
"sphinxcontrib-applehelp",
|
|
"sphinxcontrib-devhelp",
|
|
"sphinxcontrib-jsmath",
|
|
"sphinxcontrib-htmlhelp>=2.0.0",
|
|
"sphinxcontrib-serializinghtml>=1.1.9",
|
|
"sphinxcontrib-qthelp",
|
|
"Jinja2>=3.1",
|
|
"Pygments>=2.17",
|
|
"docutils>=0.20,<0.22",
|
|
"snowballstemmer>=2.2",
|
|
"babel>=2.13",
|
|
"alabaster~=0.7.14",
|
|
"imagesize>=1.3",
|
|
"requests>=2.30.0",
|
|
"packaging>=23.0",
|
|
"importlib-metadata>=6.0; python_version < '3.10'",
|
|
"tomli>=2; python_version < '3.11'",
|
|
"colorama>=0.4.6; sys_platform == 'win32'",
|
|
]
|
|
dynamic = ["version"]
|
|
|
|
[project.optional-dependencies]
|
|
docs = [
|
|
"sphinxcontrib-websupport",
|
|
]
|
|
lint = [
|
|
"flake8>=6.0",
|
|
"ruff==0.5.4",
|
|
"mypy==1.10.1",
|
|
"sphinx-lint>=0.9",
|
|
"types-colorama==0.4.15.20240311",
|
|
"types-docutils==0.21.0.20240711",
|
|
"types-Pillow==10.2.0.20240520",
|
|
"types-Pygments==2.18.0.20240506",
|
|
"types-requests>=2.30.0", # align with requests
|
|
"importlib-metadata>=6.0", # for mypy (Python<=3.9)
|
|
"tomli>=2", # for mypy (Python<=3.10)
|
|
"pytest>=6.0",
|
|
]
|
|
test = [
|
|
"pytest>=8.0",
|
|
"defusedxml>=0.7.1", # for secure XML/HTML parsing
|
|
"cython>=3.0",
|
|
"setuptools>=70.0", # for Cython compilation
|
|
"typing_extensions>=4.9", # for typing_extensions.Unpack
|
|
]
|
|
|
|
[[project.authors]]
|
|
name = "Georg Brandl"
|
|
email = "georg@python.org"
|
|
|
|
[project.scripts]
|
|
sphinx-build = "sphinx.cmd.build:main"
|
|
sphinx-quickstart = "sphinx.cmd.quickstart:main"
|
|
sphinx-apidoc = "sphinx.ext.apidoc:main"
|
|
sphinx-autogen = "sphinx.ext.autosummary.generate:main"
|
|
|
|
[tool.flit.module]
|
|
name = "sphinx"
|
|
|
|
[tool.flit.sdist]
|
|
include = [
|
|
"LICENSE.rst",
|
|
"AUTHORS.rst",
|
|
"CHANGES.rst",
|
|
# Documentation
|
|
"doc/",
|
|
"CODE_OF_CONDUCT.rst", # used as an include in the Documentation
|
|
"EXAMPLES.rst", # used as an include in the Documentation
|
|
# Tests
|
|
"tests/",
|
|
"tox.ini",
|
|
# Utilities
|
|
"utils/",
|
|
"babel.cfg",
|
|
]
|
|
exclude = [
|
|
"doc/_build",
|
|
]
|
|
|
|
[tool.mypy]
|
|
files = ["sphinx", "utils", "tests"]
|
|
exclude = [
|
|
"tests/certs",
|
|
"tests/js",
|
|
"tests/roots",
|
|
# tests/
|
|
"^tests/test_events\\.py$",
|
|
"^tests/test_quickstart\\.py$",
|
|
"^tests/test_search\\.py$",
|
|
"^tests/test_versioning\\.py$",
|
|
# tests/test_builders
|
|
"^tests/test_builders/test_build_dirhtml\\.py$",
|
|
"^tests/test_builders/test_build_epub\\.py$",
|
|
"^tests/test_builders/test_builder\\.py$",
|
|
"^tests/test_builders/test_build_gettext\\.py$",
|
|
"^tests/test_builders/test_build_html\\.py$",
|
|
"^tests/test_builders/test_build_latex\\.py$",
|
|
"^tests/test_builders/test_build_texinfo\\.py$",
|
|
# tests/test_config
|
|
"^tests/test_config/test_config\\.py$",
|
|
# tests/test_directives
|
|
"^tests/test_directives/test_directive_object_description\\.py$",
|
|
"^tests/test_directives/test_directive_only\\.py$",
|
|
"^tests/test_directives/test_directive_other\\.py$",
|
|
"^tests/test_directives/test_directive_patch\\.py$",
|
|
# tests/test_domains
|
|
"^tests/test_domains/test_domain_c\\.py$",
|
|
"^tests/test_domains/test_domain_cpp\\.py$",
|
|
"^tests/test_domains/test_domain_js\\.py$",
|
|
"^tests/test_domains/test_domain_py\\.py$",
|
|
"^tests/test_domains/test_domain_py_fields\\.py$",
|
|
"^tests/test_domains/test_domain_py_pyfunction\\.py$",
|
|
"^tests/test_domains/test_domain_py_pyobject\\.py$",
|
|
"^tests/test_domains/test_domain_rst\\.py$",
|
|
"^tests/test_domains/test_domain_std\\.py$",
|
|
# tests/test_environment
|
|
"^tests/test_environment/test_environment_toctree\\.py$",
|
|
# tests/test_extensions
|
|
"^tests/test_extensions/test_ext_apidoc\\.py$",
|
|
"^tests/test_extensions/test_ext_autodoc\\.py$",
|
|
"^tests/test_extensions/test_ext_autodoc_autofunction\\.py$",
|
|
"^tests/test_extensions/test_ext_autodoc_events\\.py$",
|
|
"^tests/test_extensions/test_ext_autodoc_mock\\.py$",
|
|
"^tests/test_extensions/test_ext_autosummary\\.py$",
|
|
"^tests/test_extensions/test_ext_doctest\\.py$",
|
|
"^tests/test_extensions/test_ext_inheritance_diagram\\.py$",
|
|
"^tests/test_extensions/test_ext_intersphinx\\.py$",
|
|
"^tests/test_extensions/test_ext_napoleon\\.py$",
|
|
"^tests/test_extensions/test_ext_napoleon_docstring\\.py$",
|
|
# tests/test_intl
|
|
"^tests/test_intl/test_intl\\.py$",
|
|
# tests/test_markup
|
|
"^tests/test_markup/test_markup\\.py$",
|
|
# tests/test_pycode
|
|
"^tests/test_pycode/test_pycode\\.py$",
|
|
"^tests/test_pycode/test_pycode_ast\\.py$",
|
|
# tests/test_theming
|
|
# tests/test_transforms
|
|
"^tests/test_transforms/test_transforms_move_module_targets\\.py$",
|
|
"^tests/test_transforms/test_transforms_post_transforms\\.py$",
|
|
# tests/test_util
|
|
"^tests/test_util/test_util_fileutil\\.py$",
|
|
"^tests/test_util/test_util_i18n\\.py$",
|
|
"^tests/test_util/test_util_inspect\\.py$",
|
|
"^tests/test_util/test_util_logging\\.py$",
|
|
"^tests/test_util/test_util_nodes\\.py$",
|
|
"^tests/test_util/test_util_rst\\.py$",
|
|
"^tests/test_util/test_util_template\\.py$",
|
|
"^tests/test_util/test_util_typing\\.py$",
|
|
"^tests/test_util/typing_test_data\\.py$",
|
|
# tests/test_writers
|
|
]
|
|
check_untyped_defs = true
|
|
disallow_incomplete_defs = true
|
|
python_version = "3.9"
|
|
show_column_numbers = true
|
|
show_error_context = true
|
|
strict_optional = true
|
|
warn_redundant_casts = true
|
|
warn_unused_configs = true
|
|
warn_unused_ignores = true
|
|
disallow_any_generics = true
|
|
extra_checks = true
|
|
enable_error_code = [
|
|
"type-arg",
|
|
"redundant-self",
|
|
"truthy-iterable",
|
|
"ignore-without-code",
|
|
"unused-awaitable",
|
|
]
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"sphinx.domains.c",
|
|
"sphinx.domains.c._ast",
|
|
"sphinx.domains.c._parser",
|
|
"sphinx.domains.c._symbol",
|
|
"sphinx.domains.cpp",
|
|
"sphinx.domains.cpp._ast",
|
|
"sphinx.domains.cpp._parser",
|
|
"sphinx.domains.cpp._symbol",
|
|
]
|
|
strict_optional = false
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"sphinx.application",
|
|
"sphinx.config",
|
|
"sphinx.domains",
|
|
"sphinx.domains.c",
|
|
"sphinx.domains.cpp",
|
|
"sphinx.events",
|
|
"sphinx.ext.autodoc",
|
|
"sphinx.ext.autodoc.importer",
|
|
"sphinx.ext.doctest",
|
|
"sphinx.ext.graphviz",
|
|
"sphinx.ext.inheritance_diagram",
|
|
"sphinx.ext.intersphinx._load",
|
|
"sphinx.ext.napoleon.docstring",
|
|
"sphinx.highlighting",
|
|
"sphinx.jinja2glue",
|
|
"sphinx.registry",
|
|
"sphinx.search",
|
|
"sphinx.util",
|
|
"sphinx.util.docfields",
|
|
"sphinx.util.docutils",
|
|
"sphinx.util.i18n",
|
|
"sphinx.util.inspect",
|
|
"sphinx.util.logging",
|
|
"sphinx.util.parallel",
|
|
"sphinx.util.template",
|
|
]
|
|
disallow_any_generics = false
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"defusedxml.ElementTree",
|
|
"imagesize",
|
|
"snowballstemmer",
|
|
]
|
|
ignore_missing_imports = true
|
|
|
|
[tool.pytest.ini_options]
|
|
minversion = "6.0"
|
|
addopts = [
|
|
"-ra",
|
|
"--import-mode=prepend",
|
|
# "--pythonwarnings=error",
|
|
"--strict-config",
|
|
"--strict-markers",
|
|
]
|
|
empty_parameter_set_mark = "xfail"
|
|
filterwarnings = [
|
|
"all",
|
|
"ignore::DeprecationWarning:docutils.io",
|
|
"ignore:Distutils was imported before Setuptools:UserWarning:_distutils_hack",
|
|
"ignore:Setuptools is replacing distutils:UserWarning:_distutils_hack",
|
|
"ignore::DeprecationWarning:pyximport.pyximport",
|
|
"ignore::ImportWarning:importlib._bootstrap",
|
|
]
|
|
log_cli_level = "INFO"
|
|
markers = [
|
|
"apidoc",
|
|
]
|
|
testpaths = ["tests"]
|
|
xfail_strict = true
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
parallel = true
|
|
source = ['sphinx']
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
# Have to re-enable the standard pragma
|
|
'pragma: no cover',
|
|
# Don't complain if tests don't hit defensive assertion code:
|
|
'raise NotImplementedError',
|
|
# Don't complain if non-runnable code isn't run:
|
|
'if __name__ == .__main__.:',
|
|
]
|
|
ignore_errors = true
|