Dependencies

pyTooling.Sphinx Package (Mandatory)

Manually Installing Package Requirements

Use the requirements.txt file to install all dependencies via pip3 or install the package directly from PyPI (see Installation/Updates).

pip3 install -U -r requirements.txt
pip install -U -r requirements.txt

Dependency List

Mandatory dependencies of the pyTooling.Sphinx package.
Package Version License Dependencies

pyTooling

≥10.0

Apache License 2.0

sphinx

≥9.1

BSD 2-Clause Simplified License

xmlschema

≥4.3

MIT License

Report Domain (Optional)

The directives of domain report read unit test reports and analyze the documentation coverage with these packages. They are optional - only a project using a report needs them - and installed with the extra reports:

pip3 install -U pyTooling.Sphinx[reports]
pip install -U pyTooling.Sphinx[reports]

Dependency List

pyEDAA.Reports reads the unit test and code coverage reports and analyzes the documentation coverage.

Dependencies added by the reports extra.
Package Version License Dependencies

pyEDAA.Reports

≥0.20

Apache License 2.0

GitHub Markdown (Optional)

The converter of GitHub-flavoured Markdown into docutils nodes parses Markdown with these packages. They are optional - only a project converting Markdown needs them - and installed with the extra markdown:

pip3 install -U pyTooling.Sphinx[markdown]
pip install -U pyTooling.Sphinx[markdown]

Dependency List

markdown-it-py parses CommonMark, tables, strikethrough, task lists and alerts; mdit-py-plugins parses GitHub’s autolinks and footnotes.

Dependencies added by the markdown extra.
Package Version License Dependencies

markdown-it-py

≥4.2

MIT License

mdit-py-plugins

≥0.6

MIT License

An SVG image in the Markdown - other than a shields.io badge, which is fetched as PNG - is converted to PNG for LaTeX/PDF output, as LaTeX can’t include SVG: by Sphinx’ extension sphinx.ext.imgconverter, which pyTooling.Sphinx loads, with ImageMagick. Sphinx looks for ImageMagick only when a document has an image the builder can’t include, and warns once, if it’s missing. ImageMagick must be able to read SVG, e.g. with its delegate rsvg-convert; if a conversion fails, Sphinx stops the build (“convert exited with error”). HTML includes SVG and needs no conversion for it. With only ImageMagick 7’s magick command, set image_converter = "magick" and image_converter_args = ["convert"] in conf.py.

Bundled Data

The package contains data of another project for the converter. NOTICE.md lists all content of other projects in the repository.

Content

File

Source

License

GitHub’s emoji: their characters and shortcodes

pyTooling/Sphinx/Resources/GitHubEmoji.txt

gemoji db/emoji.json, v4.1.0 (commit 5476a66)

MIT, Copyright (c) 2019 GitHub, Inc. - the file’s header holds the license text

Unit Testing / Coverage (Optional)

Additional Python packages needed for testing and code coverage collection. These packages are only needed for developers or on a CI server.

Manually Installing Test Requirements

Use the tests/unit/requirements.txt file to install all dependencies via pip3. The file will recursively install the mandatory dependencies too.

pip3 install -U -r tests/unit/requirements.txt
pip install -U -r tests\unit\requirements.txt

Dependency List

Dependencies for unit testing and code coverage.
Package Version License Dependencies

Coverage

≥7.16

Apache License 2.0

none

markdown-it-py

≥4.2

MIT License

mdit-py-plugins

≥0.6

MIT License

pyEDAA.Reports

any

Apache License 2.0

pytest

≥9.1

MIT License

pytest-cov

≥7.1

MIT License

pytest-xdist

≥3.8

MIT License

pyTooling

≥10.0

Apache License 2.0

sphinx

≥9.1

BSD 2-Clause Simplified License

xmlschema

≥4.3

MIT License

Test Data

The Markdown converter’s tests use release notes from GitHub release pages as fixtures. They are in the repository only, not in the package; NOTICE.md lists them too.

Content

Files

Source

License of the source project

GHDL release notes v5.0.1

tests/data/GitHubMarkdown/GHDL-v5.0.1.md

ghdl/ghdl releases

GPL-2.0

OSVVM release notes 2024.07, 2026.05, 2026.09

tests/data/GitHubMarkdown/OSVVM-*.md

OSVVM/OsvvmLibraries releases

Apache-2.0

pyTooling release notes v8.0.0, v9.0.0

tests/data/GitHubMarkdown/pyTooling-*.md

pyTooling/pyTooling releases

Apache-2.0

Sphinx Documentation (Optional)

Additional Python packages needed for building the documentation. These packages are only needed for developers or on a CI server.

Manually Installing Documentation Requirements

Use the doc/requirements.txt file to install all dependencies via pip3. The file will recursively install the mandatory dependencies too.

pip3 install -U -r doc/requirements.txt
pip install -U -r doc\requirements.txt

Dependency List

Dependencies for building the documentation.
Package Version License Dependencies

autoapi

≥2.0

Apache License 2.0

none

docutils_stubs

≥0.0

The Unlicense

pyEDAA.Reports

any

Apache License 2.0

pyTooling

≥10.0

Apache License 2.0

ruamel.yaml

≥0.19

MIT License

none

sphinx

≥9.1

BSD 2-Clause Simplified License

sphinx_autodoc_typehints

≥3.17

MIT License

sphinx-copybutton

≥0.5

MIT License

sphinx_design

≥0.7

MIT License

sphinx_rtd_theme

≥3.1

MIT License

sphinxcontrib-mermaid

≥2.1

BSD 2-Clause Simplified License

xmlschema

≥4.3

MIT License