Changelog¶
To install the unreleased gp-sphinx version, see developmental releases.
pip:
$ pip install --user --upgrade --pre gp-sphinx
uv:
$ uv add gp-sphinx --prerelease allow
gp-sphinx 0.0.1 (unreleased)¶
Features¶
sphinx-autodoc-fastmcp: new Sphinx extension for FastMCP tool docs (card-styledesclayouts, safety badges, MyST directives, cross-reference roles)sphinx-autodoc-badges: shared badge node (BadgeNode), builder API (build_badge,build_badge_group,build_toolbar), and base CSS layer shared bysphinx-autodoc-fastmcp,sphinx-autodoc-api-style, andsphinx-autodoc-pytest-fixtures(#13)sphinx-autodoc-badges: explicit size variantsxs/sm/lg/xlviabuild_badge(size=...)andBadgeNode(badge_size=...)— compose with any fill, style, or color class (#13)Initial release of
gp_sphinxshared documentation platformmerge_sphinx_config()API for building complete Sphinx config from shared defaultsShared extension list, theme options, MyST config, font config
Bundled workarounds (tabs.js removal, spa-nav.js injection)
sphinx-autodoc-pytest-fixtures: Fixture tables now resolveTypeAliasreturn annotations — alias names are preserved and linked rather than expanding to the underlying union or generic type (#9)
Bug fixes¶
Load full weight range
[300, 400, 500, 600, 700]for both IBM Plex Sans and IBM Plex Mono (badges render in monospace atfont-weight: 700, Furo code blocks use 300, and intermediate weights inherit from surrounding context — previously only Sans had the full set)Replace
font-weight: 650with700in badge CSS acrosssphinx-autodoc-api-style,sphinx-autodoc-pytest-fixtures,sphinx-gptheme, and docs (650 is not a standard Fontsource weight, so browsers were synthesizing bold instead of using the real font file)Badge background colors, border colors, and dotted-underline tooltips lost after
BadgeNode(<span>) replaced<abbr>insphinx-autodoc-api-styleandsphinx-autodoc-pytest-fixtures; restored via element-agnostic CSS selectors and correct fill defaults (#13)sphinx-argparse-neo: Namespace implicit section targets (section["names"]) byid_prefixinrender_usage_section,render_group_section, and_create_example_sectionso multi-page docs that embed.. argparse::via MyST{eval-rst}no longer emitduplicate labelwarnings forusage,options,positional arguments, and cross-pageexamplestargets (#16)
Workspace packages¶
sphinx-autodoc-badges— Shared badge node, builders, and base CSS for safety tiers, scope, and kind labels. Extensions add color layers on top; TOC sidebar shows compact badges with emoji icons and subtle inset depth on solid pills (#13)sphinx-autodoc-pytest-fixtures— Sphinx autodocumenter for pytest fixtures. Registerspy:fixtureas a domain object type withautofixture::for single-fixture docs,autofixtures::for bulk module discovery, andautofixture-index::for summary tables. Fixtures render with scope/kind/autouse badges, classified dependency lists, reverse-dep tracking, and auto-generated usage snippets. Frozen dataclasses for pickle-safe incremental builds, parallel-safe, WCAG AA badge contrast, and pytest 9+ compatible. New:doc-pytest-plugindirective generates a standard pytest plugin page (install block,pytest11autodiscovery note, fixture summary and reference) from a single directive call. Optional:project:,:summary:,:tests-url:, and:install-command:options; body is free-form. Useautofixture-index+autofixturesdirectly when custom layout is needed.sphinx-fonts— Self-hosted web fonts via Fontsource CDN. Downloads at build time, caches locally, and injects@font-faceCSS with preload hints and fallback font-metric overrides for zero-CLS loading.sphinx-gptheme— Furo child theme for git-pull projects. Custom sidebar, footer icons, SPA navigation, and CSS variable-driven IBM Plex typography.sphinx-argparse-neo— Argparse CLI documentation extension with.. argparse::directive, epilog-to-section transformation, and Pygments lexers for argparse help/usage output.