mkdocstrings
Automatic documentation from sources, for MkDocs. Come have a chat or ask questions on our Gitter channel.
Features - Installation - Quick usage
Features
-
Language-agnostic: just like MkDocs, mkdocstrings is written in Python but is language-agnostic. It means you can use it with any programming language, as long as there is a handler for it. We currently have handlers for the C, Crystal, GitHub Actions, Python, MATLAB, TypeScript, and VBA languages, as well as for shell scripts/libraries. Maybe you'd like to add another one to the list? 😉
-
Multiple themes support: each handler can offer multiple themes. Currently, we offer the ⭐ Material theme ⭐ as well as basic support for the ReadTheDocs and MkDocs themes for the Python handler.
-
Cross-references across pages: mkdocstrings makes it possible to reference headings in other Markdown files with the classic Markdown linking syntax:
[identifier][]or[title][identifier]-- and you don't need to remember which exact page this object was on. This works for any heading that's produced by a mkdocstrings language handler, and you can opt to include any Markdown heading into the global referencing scheme.Note: in versions prior to 0.15 all Markdown headers were included, but now you need to opt in.
-
Cross-references across sites: similarly to Sphinx's intersphinx extension, mkdocstrings can reference API items from other libraries, given they provide an inventory and you load that inventory in your MkDocs configuration.
-
Inline injection in Markdown: instead of generating Markdown files, mkdocstrings allows you to inject documentation anywhere in your Markdown contents. The syntax is simple:
::: identifierfollowed by a 4-spaces indented YAML block. The identifier and YAML configuration will be passed to the appropriate handler to collect and render documentation. -
Global and local configuration: each handler can be configured globally in
mkdocs.yml, and locally for each "autodoc" instruction. -
Reasonable defaults: you should be able to just drop the plugin in your configuration and enjoy your auto-generated docs.
Used by
mkdocstrings is used by well-known companies, projects and scientific teams: Ansible, Apache, FastAPI, Google, IBM, Jitsi, Microsoft, NVIDIA, Prefect, Pydantic, Textual, and more...
Installation
The mkdocstrings package doesn't provide support for any language: it's just a common base for language handlers.
It means you likely want to install it with one or more official handlers, using extras.
For example, to install it with Python support:
pip install 'mkdocstrings[python]'
Alternatively, you can directly install the language handlers themselves,
which depend on mkdocstrings anyway:
pip install mkdocstrings-python
This will give you more control over the accepted range of versions for the handlers themselves.
See the official language handlers.
With conda:
conda install -c conda-forge mkdocstrings mkdocstrings-python
Quick usage
In mkdocs.yml:
site_name: "My Library"
theme:
name: "material"
plugins:
- search
- mkdocstrings
In one of your markdown files:
# Reference
::: my_library.my_module.my_class
See the Usage section of the docs for more examples!
Sponsors
And 4 more private sponsor(s).
Release files for mkdocstrings 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mkdocstrings-1.0.6.tar.gz | 100.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mkdocstrings-1.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 136.4 kB
Release files / mkdocstrings-1.0.6.tar.gz
| Download URL | mkdocstrings-1.0.6.tar.gz |
|---|---|
| Size | 100.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a0b8c2bdd29a6416c80d717aa369bbf7831946bd9f23c2a66db1b1dbe7693dbd
|
|
BLAKE2b-256 checksum How to use checksums |
5371f85bdf13355073ae15a7375f09879375a830553552e58c1c4b7e0bbc5c8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / mkdocstrings-1.0.6-py3-none-any.whl
| Download URL | mkdocstrings-1.0.6-py3-none-any.whl |
|---|---|
| Size | 35.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2703708697487d1b6d6d7b412e176fa436edf120c1bf81dc9e126b12d00893c7
|
|
BLAKE2b-256 checksum How to use checksums |
5d5b4c1902e8bdd5c4db63284e9d101dece4038d4025d6d88850ffe0a1578980
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|