Skip to content

Changelog

All notable changes to starlight-pydocs are recorded here. New work is added under Unreleased and rolled into a dated version section when a release is cut.

Metadata-only release: no code changes.

  • 🛠️ Reworked the npm keywords. astro-integration is gone: the default export is a Starlight plugin, so astro add starlight-pydocs would have wired up the wrong thing.
  • 🛠️ Published with npm provenance.
  • ✨ Syntax-highlighted signatures, in your markdown.shikiConfig themes. Cross-references stay links.
  • ✨ Long attribute values laid out across lines, folding behind a “Show more” toggle.
  • ✨ Annotation links to another site open in a new tab; links to your own objects show the target’s summary on hover.
  • ✨ Version labels linking to the matching GitHub, GitLab or Bitbucket release.
  • ✨ Every generated page served as Markdown at <path>.md too, for “Copy Markdown” buttons and agents. pageMarkdown: false turns it off.
  • listPydocsPages() from starlight-pydocs/pages, for share cards or an index of the generated pages.
  • 🛠️ Generated pages carry their own description, from the module’s docstring.
  • 🛠️ “Added in” is plain text beside the source link, not a badge.
  • 🐛 Fixed spacing throughout the generated pages on Starlight sites, and object names that looked like inline code.

First release. Python API reference documentation for Astro and Starlight sites, extracted with Griffe.

  • One reference page per Python module, on injected routes, with a sidebar tree, prev/next links, a table of contents and anchors that match mkdocstrings.
  • No Python needed on the docs host: griffe runs through uvx, or a pre-generated dump is read from a file or a URL.
  • Every docstring section griffe parses, in google, numpy, sphinx or auto style, rendered through the host site’s own markdown processor.
  • Type annotations linked to this site’s pages, to Python’s own documentation, or to any configured Sphinx inventory. [title][dotted.path] cross-references in prose resolve the same way.
  • Member selection that follows mkdocstrings: __all__, then griffe’s visibility flags, refined by include/exclude globs and filters. Inherited members are merged and badged with their origin.
  • Symbol search, plus symbols.json, objects.inv and llms.txt published per package.
  • <Autodoc name="mypkg.Thing" /> to document a single object inside a hand-written page, and a Content Layer loader for the whole surface.
  • Source links to GitHub, GitLab, Bitbucket or a URL template.
  • “Added in” badges, generated by extracting a list of git refs and comparing them with the current source.
  • Usable as a Starlight plugin or as a plain Astro integration, with component overrides, --pyd-* theme tokens and translations for thirteen languages.