跳转到主要内容

将一些Sphinx配置移动到pyproject.toml

项目描述

将一些Sphinx配置移动到pyproject.toml

文档

Documentation Build Status Docs Check Status

测试

Linux Test Status Windows Test Status macOS Test Status Coverage

PyPI

PyPI - Package Version PyPI - Supported Python Versions PyPI - Supported Implementations PyPI - Wheel

Anaconda

Conda - Package Version Conda - Platform

活动

GitHub last commit GitHub commits since tagged version Maintenance PyPI - Downloads

质量保证

CodeFactor Grade Flake8 Status mypy status

其他

License GitHub top language Requirements Status

安装

sphinx-pyproject 可以从PyPI或Anaconda安装。

使用 pip 安装

$ python -m pip install sphinx-pyproject

使用 conda 安装

  • 首先添加所需的渠道

$ conda config --add channels https://conda.anaconda.org/conda-forge
$ conda config --add channels https://conda.anaconda.org/domdfcoding
  • 然后安装

$ conda install sphinx-pyproject

使用

SphinxConfig 类将从 pyproject.toml 加载配置。通过将 globalns=globals() 传递给类构造函数,从 pyproject.toml 文件解析的键将添加到 conf.py 文件的全球命名空间中。

例如

# conf.py

from sphinx_pyproject import SphinxConfig

config = SphinxConfig("../pyproject.toml", globalns=globals())

author  # This name *looks* to be undefined, but it isn't.

SphinxConfig 类还提供了一个 collections.abc.Mapping 接口。如果您在解析后要覆盖或修改配置值之一,建议的方法是显式分配名称

extensions = config["extensions"]
extensions.append("sphinx.ext.autodoc")

这将防止来自代码检查器等工具的警告,但对于 Sphinx 来说并非必要。

此外,SphinxConfig 类接受一个可选参数 config_overrides,该参数可用于动态更新来自 pyproject.toml 的值。这有助于设置动态值,如 version

# conf.py
from sphinx_pyproject import SphinxConfig

from myproject import __version__ as myproject_version

config = SphinxConfig("../pyproject.toml", globalns=globals(), config_overrides = {"version": myproject_version})

配置

sphinx-pyprojectpyproject.toml 中的 [project][tool.sphinx-pyproject] 表格解析配置。[project] 表格在 PEP 621 中定义。sphinx-pyproject 仅使用以下密钥

剩余的 Sphinx 配置值 可以在 [tool.sphinx-pyproject] 表格中提供。

有关此配置的示例,请参阅 此项目的 pyproject.toml 文件

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分布

sphinx_pyproject-0.3.0.tar.gz (7.7 kB 查看哈希值)

上传时间

构建分布

sphinx_pyproject-0.3.0-py3-none-any.whl (23.1 kB 查看哈希值)

上传时间 Python 3

由以下机构支持