{"categories":[{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/8"},{"label":"Documentation","url":"https://skillfed.io/packages/category/documentation/2"},{"label":"Sphinx","url":"https://skillfed.io/packages/category/documentation-sphinx"},{"label":"Documentation","url":"https://skillfed.io/packages/category/software-development-documentation"}],"enrichment":{"capability":"Loads Sphinx documentation configuration from pyproject.toml instead of keeping it all in conf.py, using PEP 621 project metadata and custom tool settings.","skillfed_tags":["pep-621","sphinx-config","documentation-tooling"],"use_cases":["Consolidate project name, version, and author metadata in pyproject.toml so Sphinx reads it without duplication","Inject dynamic version numbers into Sphinx config at build time using config_overrides parameter","Migrate an existing Sphinx project to PEP 621 structure while keeping conf.py minimal and readable","Manage Sphinx extensions and settings in a centralized [tool.sphinx-pyproject] table for easier maintenance","Avoid manual synchronization of author and project details between pyproject.toml and conf.py"],"what_it_does":"sphinx-pyproject is a Sphinx extension that reads your documentation configuration from pyproject.toml instead of requiring everything in conf.py. It parses the standard PEP 621 [project] table for basic metadata (name, version, description, authors) and reads additional Sphinx settings from a [tool.sphinx-pyproject] table, then injects those values into your conf.py namespace. This lets you consolidate project metadata in one place and avoid duplicating version numbers and author information across files.\n\nThe package provides a SphinxConfig class that acts as both a configuration loader and a Mapping interface, so you can read values, override them programmatically (useful for dynamic version injection), or append to lists like extensions. It's designed for projects that want to follow PEP 621 conventions and reduce boilerplate in their documentation setup.","worth_installing":"Yes, if you use Sphinx and want to follow PEP 621 conventions. The package is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real problem\u2014keeping project metadata in one place. The 1092 days since last release is not a concern given the recent repository activity and the narrow, stable scope of the tool."},"id":"sphinx-pyproject","links":{"html":"https://skillfed.io/packages/sphinx-pyproject","md":"https://skillfed.io/packages/sphinx-pyproject.md","pypi":"https://pypi.org/project/sphinx-pyproject/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2023-08-18","license_spdx":null,"license_treatment":"permissive","name":"sphinx-pyproject","python_support":"supports_current","summary":"Move some of your Sphinx configuration into pyproject.toml"},"popularity":{"monthly_downloads":167217,"position":10477,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.3.0"}
