[build-system] build-backend = "hatchling.build" requires = [ "babel", "hatchling", ] [project] name = "python-docs-theme" description = "The Sphinx theme for the CPython docs and related projects" readme = "README.md" license = "PSF-2.0" license-files = [ "LICENSE" ] authors = [ { name = "Python Docs Sphinx Theme maintainers" } ] requires-python = ">=3.12" classifiers = [ "Development Status :: 5 - Production/Stable", "Framework :: Sphinx :: Theme", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3.15", "Topic :: Documentation", "Topic :: Software Development :: Documentation", ] dynamic = [ "version" ] dependencies = [ "sphinx>=7.3", ] urls."Issue tracker" = "https://github.com/python/python-docs-theme/issues" urls.Code = "https://github.com/python/python-docs-theme" urls.Download = "https://pypi.org/project/python-docs-theme/" urls.Homepage = "https://github.com/python/python-docs-theme/" entry-points."sphinx.html_themes".python_docs_theme = "python_docs_theme" [tool.hatch] version.path = "python_docs_theme/__init__.py" build.artifacts = [ "python_docs_theme/locale/**/*.mo" ] build.hooks.custom.path = "babel_runner.py" build.targets.wheel.packages = [ "python_docs_theme" ] build.targets.wheel.exclude = [ "python_docs_theme/locale/**/*.po" ] [tool.ruff] fix = true lint.select = [ "C4", # flake8-comprehensions "E", # pycodestyle errors "F", # pyflakes errors "I", # isort "ISC", # flake8-implicit-str-concat "LOG", # flake8-logging "PGH", # pygrep-hooks "PYI", # flake8-pyi "RUF022", # unsorted-dunder-all "RUF100", # unused noqa (yesqa) "UP", # pyupgrade "W", # pycodestyle warnings "YTT", # flake8-2020 ] lint.ignore = [ "E203", # Whitespace before ':' "E221", # Multiple spaces before operator "E226", # Missing whitespace around arithmetic operator "E241", # Multiple spaces after ',' ] lint.isort.required-imports = [ "from __future__ import annotations" ] [tool.pyproject-fmt] max_supported_python = "3.15"