Skip to content

Restyle the documentation with a VHDL API reference and release docs - #27

Merged
ru551n merged 7 commits into
VUnit:mainfrom
ru551n:docs/restyle
Oct 14, 2026
Merged

ru551n merged 7 commits into
VUnit:mainfrom
ru551n:docs/restyle

Conversation

@ru551n

@ru551n ru551n commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

Follow-up to #25, which was merged with its first two commits only. This PR has the rest: the documentation restyled with the Read the Docs theme and a page per topic, a VHDL API reference, and Read the Docs builds of each release.

Documentation

  • Theme: sphinx_rtd_theme. The sidebar is grouped into User guide, VHDL API reference, Simulators and About, with previous/next buttons and an "Edit on GitHub" link on every page.
  • Landing page: badges (documentation, repository, PyPI, Python versions, license, CI), what the package is, key features linking to their pages, the supported simulators and a quick start.
  • User guide: user_guide.rst is split into a page per topic: Requirements, Running Python code (python_setup/python_cleanup, exec, eval, call), Types, Errors and semantics, Sessions, Python files and modules, File paths, How it works, Other simulators. The text is unchanged apart from cross-page references, and every python_bridge:* label still resolves.
  • VHDL API reference: a page per package of python_context, generated at build time from the package declarations by docs/vhdl_api.py, so it follows the code, the generated python_pkg.vhd included.
    • Every public declaration is shown with the comment above it, under the sections of the source.
    • A linked list of the names is at the top of each page.
    • p_* names and private sections are left out.
  • Release notes: a page generated from release_notes/*.md, newest first. A version newer than pyproject.toml is titled "Unreleased". release in conf.py now comes from pyproject.toml.
  • README: the badges of the landing page, and a link to vunit-python-bridge.readthedocs.io.
  • docs/requirements.txt also pins sphinx-rtd-theme 3.1.0 and myst-parser 5.1.0.

Release docs

The Read the Docs job of the docs workflow now also handles a release tag vX.Y.Z. It:

  1. syncs the versions of the project,
  2. waits for the version of the tag,
  3. activates it,
  4. builds it and stable.

Each release then has docs of its own at /en/vX.Y.Z/. A push to main still builds latest.

Open PRs

#11, #15, #16, #18, #21 and #26 edit docs/user_guide.rst. When rebased, their doc changes move to the matching page. #15 also adds python_object_pkg to PACKAGES in docs/vhdl_api.py.

Tests

  • The docs build with -W without warnings locally, also at the restyle commit on its own.
  • actionlint passes on the workflow.
  • The release path runs for the first time at the next tag.

🤖 Generated with Claude Code

ru551n and others added 5 commits October 14, 2026 11:01
A release tag vX.Y.Z makes Read the Docs sync its versions, activates the version of the
tag and builds it and stable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017otfceeeQ9FrS2sXbyLou2
The Read the Docs theme with a sidebar grouped into the user guide, simulators
and release notes, a landing page with badges, key features and a quick start,
and the user guide split into a page per topic. The release notes page is
generated from release_notes/*.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017otfceeeQ9FrS2sXbyLou2
A page per package of python_context, generated from the package declarations
by docs/vhdl_api.py so that it follows the code: every public declaration with
the comment above it, under the sections of the source, and a linked list of
the names at the top. Names starting with p_ and private sections are left out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017otfceeeQ9FrS2sXbyLou2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017otfceeeQ9FrS2sXbyLou2
ru551n and others added 2 commits October 14, 2026 11:02
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017otfceeeQ9FrS2sXbyLou2
@ru551n
ru551n merged commit 8d65885 into VUnit:main Oct 14, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant