scverse_doc.registry#

The scverse package registry.

packages and core_packages() give the listed packages as Package objects; intersphinx() turns them into an intersphinx_mapping, whole or in part.

Set up as an extension, it defaults intersphinx_mapping to intersphinx(), so linking into the core packages needs nothing in conf.py. See intersphinx() for more.

scverse_doc.registry.packages: Mapping[str, Package] = <scverse_doc.registry._Packages object>#

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

scverse_doc.registry.core_packages() → Mapping[str, Package][source]#

Return only the core packages.

scverse_doc.registry.intersphinx(*extra: str, external: bool = True, core: bool = True) → ChainMap[str, tuple[str, None]][source]#

Build an intersphinx_mapping for this package.

Every entry is an inventory fetched on every build, so the ecosystem is opt-in by name.

Parameters:
extra

Additional registry package names to include, e.g. intersphinx("scanpy", "muon"). Unknown names raise KeyError, ones without an inventory ValueError, both on first use of the mapping rather than here.

external

Whether to include the non-scverse inventories (Python, NumPy, SciPy, pandas, Matplotlib).

core

Whether to include the core packages that publish an inventory.

Examples

>>> intersphinx_mapping = intersphinx("scanpy")
>>> intersphinx_mapping["scanpy"]
('https://scanpy.scverse.org/...', None)
>>> intersphinx_mapping = intersphinx() | {"my_package": ("...", None)}
>>> intersphinx_mapping["my_package"]
('...', None)
class scverse_doc.registry.Package(name: str, kind: Literal['core', 'ecosystem'], docs: str, inventory: str | None = None, repo: str | None = None, description: str = '', accent: str = '#262fb5')[source]#

One entry in the scverse package registry.

accent: str#

The package’s brand accent, falling back to the scverse deep blue.

description: str#

One-line summary of the package.

docs: str#

Where to send a reader – a link for humans, not necessarily a documentation root.

inventory: str | None#

Root URL under which objects.inv resolves, or None if the package publishes none.

kind: Literal['core', 'ecosystem']#

Whether the package is maintained by the core team or listed as an ecosystem package.

name: str#

The package’s display name, e.g. "scvi-tools".

repo: str | None#

URL of the source repository, if the package lists one.