API#

extensions = ["scverse_doc"] sets up every subextension below; each also works on its own.

The scverse Sphinx theme and shared documentation configuration.

A package’s conf.py needs few lines:

extensions = ["scverse_doc"]
html_theme = "scverse"

html_theme_options = {"repo": "scverse/pertpy"}

This extension wires up the registry and sets up the subextensions, each of which also works on its own:

scverse_doc.config

The extension stack and the shared defaults.

scverse_doc.theme

The theme, its chrome, and the per-package accent.

Anything set in conf.py wins.

scverse_doc.config#

config.EXTENSIONS

Extensions set up alongside this one, so packages list only scverse_doc.

config.MYST_ENABLE_EXTENSIONS

The MyST syntax extensions, i.e. the myst_enable_extensions entry of DEFAULTS.

config.DEFAULTS

Sphinx config values applied unless conf.py sets them.

scverse_doc.theme#

Registers the theme and its theme options.

scverse_doc.registry#

registry.packages

Every registered package, keyed and ordered by case-folded name.

registry.core_packages()

Return only the core packages.

registry.intersphinx(*extra[, external, core])

Build an intersphinx_mapping for this package.

registry.Package(name, kind, docs[, ...])

One entry in the scverse package registry.

registry.cache_dir

Where the fetched listing is cached; None fetches every time.

registry.build_cache(app)

Point cache_dir at a directory inside the build and return it.