Metadata-Version: 2.5
Name: scverse-doc
Version: 0.1.1
Summary: Scverse documentation theme and utilities.
Project-URL: Documentation, https://scverse-doc.readthedocs.io/
Project-URL: Homepage, https://github.com/scverse/scverse-doc
Project-URL: Source, https://github.com/scverse/scverse-doc
Author: Lukas Heumos, Philipp Angerer
Maintainer-email: Lukas Heumos <lukas.heumos@scverse.org>, Philipp Angerer <philipp.angerer@helmholtz-munich.de>
License-Expression: MPL-2.0
License-File: LICENSE
Classifier: Framework :: Sphinx :: Theme
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: sphinx>=8.1
Provides-Extra: config
Requires-Dist: myst-nb>=1.1; extra == 'config'
Requires-Dist: sphinx-copybutton; extra == 'config'
Requires-Dist: sphinx-design; extra == 'config'
Requires-Dist: sphinxext-opengraph; extra == 'config'
Provides-Extra: full
Requires-Dist: myst-nb>=1.1; extra == 'full'
Requires-Dist: pydata-sphinx-theme>=0.23; extra == 'full'
Requires-Dist: sphinx-copybutton; extra == 'full'
Requires-Dist: sphinx-design; extra == 'full'
Requires-Dist: sphinxext-opengraph; extra == 'full'
Provides-Extra: theme
Requires-Dist: pydata-sphinx-theme>=0.23; extra == 'theme'
Description-Content-Type: text/markdown


# scverse-doc

The shared Sphinx theme and documentation configuration for scverse packages.

Install it, and a package's `conf.py` becomes:

```python
extensions = ["scverse_doc"]

source_repository = "https://github.com/scverse/pertpy"
```

That gets you the scverse brand and dark mode, the shared sidebar layout, footer, and announcement banner, a "scverse packages" dropdown generated from the package registry, cross-links to every core package, the repository links ("edit this page" and the header icon), and the standard extension stack.

Every piece also works on its own. For the theme without the extension stack or the shared defaults, select it and leave `extensions` alone – it is a registered Sphinx theme, so installing the package is enough:

```python
html_theme = "scverse"

source_repository = "https://github.com/scverse/pertpy"
```

## Getting started

Please refer to the [documentation][],
in particular, the [API documentation][].
The [kitchen sink][] shows every construct the theme styles, in both colour schemes.

## Installation

You need to have Python 3.12 or newer installed on your system.
If you don't have Python installed, we recommend installing [uv][].

We recommend managing dependencies in project-specific virtual environments to avoid dependency conflicts.
This is most convenient using package managers such as [uv][].
Choose from the options below to install scverse-doc:

1. Add the latest release of `scverse-doc` from [PyPI][] to your `uv` project:

   ```bash
   uv add 'scverse-doc[full]'
   ```

1. Install the latest release into a [standard virtual environment][venv]:

   ```bash
   (after activating your venv)
   pip install 'scverse-doc[full]'
   ```

1. Install the latest development version:

   ```bash
   pip install 'scverse-doc[full] @ git+https://github.com/scverse/scverse-doc.git'  # (or `uv add`)
   ```

The `full` extra is what `extensions = ["scverse_doc"]` needs.
For less, pick from the `theme` extra (for `html_theme = "scverse"`) and the `config` extra (for `scverse_doc.config`’s extension stack).
`scverse_doc.autodoc`, `scverse_doc.napoleon`, `scverse_doc.registry` and `scverse_doc.source` need no extra.

## Release notes

See the [changelog][].

## Contact

For questions and help requests, you can reach out in the [scverse discourse][].
If you found a bug, please use the [issue tracker][].

## Citation

> t.b.a

[uv]: https://github.com/astral-sh/uv
[scverse discourse]: https://discourse.scverse.org/
[issue tracker]: https://github.com/scverse/scverse-doc/issues
[tests]: https://github.com/scverse/scverse-doc/actions/workflows/test.yaml
[documentation]: https://scverse-doc.readthedocs.io
[changelog]: https://scverse-doc.readthedocs.io/page/changelog.html
[api documentation]: https://scverse-doc.readthedocs.io/page/api.html
[kitchen sink]: https://scverse-doc.readthedocs.io/page/kitchen-sink.html
[pypi]: https://pypi.org/project/scverse-doc
[venv]: https://docs.python.org/3/tutorial/venv.html
