[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" requires-python = ">=3.6" # 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.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Framework :: Setuptools Plugin", "Framework :: Sphinx", "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.5", "sphinxcontrib-qthelp", "Jinja2>=3.0", "Pygments>=2.12", "docutils>=0.14,<0.20", "snowballstemmer>=2.0", "babel>=2.9", "alabaster>=0.7,<0.8", "imagesize>=1.3", "requests>=2.5.0", "packaging>=21.0", "importlib-metadata>=4.8; python_version < '3.10'", "colorama>=0.4.5; sys_platform == 'win32'", ] dynamic = ["version"] [project.optional-dependencies] docs = [ "sphinxcontrib-websupport", ] lint = [ "flake8>=3.5.0", "flake8-comprehensions", "flake8-bugbear", "flake8-simplify", "isort", "mypy>=0.981", "sphinx-lint", "docutils-stubs", "types-typed-ast", "types-requests", ] test = [ "pytest>=4.6", "html5lib", "typed_ast; python_version < '3.8'", "cython", ] [[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" [project.entry-points."distutils.commands"] build_sphinx = 'sphinx.setup_command:BuildDoc' [tool.flit.module] name = "sphinx" [tool.flit.sdist] include = [ "LICENSE", "AUTHORS", "CHANGES", # Documentation "doc/", "CODE_OF_CONDUCT", # used as an include in the Documentation "EXAMPLES", # used as an include in the Documentation # Tests "tests/", "tox.ini", # Utilities "utils/", "babel.cfg", ] exclude = [ "doc/_build", ] [tool.isort] line_length = 95 [tool.mypy] check_untyped_defs = true disallow_incomplete_defs = true follow_imports = "skip" ignore_missing_imports = true no_implicit_optional = true python_version = "3.6" show_column_numbers = true show_error_codes = true show_error_context = true strict_optional = true warn_redundant_casts = true warn_unused_ignores = true disallow_any_generics = true [[tool.mypy.overrides]] module = [ "sphinx.application", "sphinx.builders", "sphinx.builders.html", "sphinx.builders.latex", "sphinx.builders.linkcheck", "sphinx.directives.code", "sphinx.domains.*", "sphinx.environment", "sphinx.environment.adapters.toctree", "sphinx.environment.adapters.indexentries", "sphinx.ext.*", "sphinx.pycode.parser", "sphinx.registry", "sphinx.setup_command", "sphinx.testing.util", "sphinx.transforms.i18n", "sphinx.transforms.post_transforms.images", "sphinx.util.cfamily", "sphinx.util.docfields", "sphinx.util.docutils", "sphinx.util.nodes", "sphinx.util.typing", "sphinx.writers.latex", "sphinx.writers.text", "sphinx.writers.xml" ] strict_optional = false [[tool.mypy.overrides]] module = [ "sphinx.application", "sphinx.builders._epub_base", "sphinx.builders.html", "sphinx.builders.linkcheck", "sphinx.cmd.quickstart", "sphinx.config", "sphinx.domains.*", "sphinx.environment.*", "sphinx.events", "sphinx.ext.*", "sphinx.highlighting", "sphinx.jinja2glue", "sphinx.registry", "sphinx.roles", "sphinx.search.*", "sphinx.testing.*", "sphinx.util.*", "sphinx.writers.*", ] disallow_any_generics = false [tool.pytest.ini_options] filterwarnings = [ "all", "ignore::DeprecationWarning:docutils.io", "ignore::DeprecationWarning:pyximport.pyximport", "ignore::ImportWarning:importlib._bootstrap", ] markers = [ "apidoc", "setup_command", ] testpaths = ["tests"]