# mkdocstrings
[](https://github.com/mkdocstrings/mkdocstrings/actions?query=workflow%3Aci)
[](https://mkdocstrings.github.io/)
[](https://pypi.org/project/mkdocstrings/)
[](https://anaconda.org/conda-forge/mkdocstrings)
[](https://gitpod.io/#https://github.com/mkdocstrings/mkdocstrings)
[](https://gitter.im/mkdocstrings/community)
Automatic documentation from sources, for [MkDocs](https://mkdocs.org/).
Come have a chat or ask questions on our [Gitter channel](https://gitter.im/mkdocstrings/community).
---
**[Features](#features)** - **[Requirements](#requirements)** - **[Installation](#installation)** - **[Quick usage](#quick-usage)**

## Features
- [**Language-agnostic:**](https://mkdocstrings.github.io/handlers/overview/)
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**](https://mkdocstrings.github.io/reference/handlers/base/) for it.
We currently have [handlers](https://mkdocstrings.github.io/handlers/overview/)
for the [Crystal](https://mkdocstrings.github.io/crystal/) and [Python](https://mkdocstrings.github.io/python/) languages.
Maybe you'd like to add another one to the list? :wink:
- [**Multiple themes support:**](https://mkdocstrings.github.io/theming/)
each handler can offer multiple themes. Currently, we offer the
:star: [Material theme](https://squidfunk.github.io/mkdocs-material/) :star:
as well as basic support for the ReadTheDocs and MkDocs themes for the Python handler.
- [**Cross-references across pages:**](https://mkdocstrings.github.io/usage/#cross-references)
*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](https://mkdocstrings.github.io/usage/#cross-references-to-any-markdown-heading).
- [**Cross-references across sites:**](https://mkdocstrings.github.io/usage/#cross-references-to-other-projects-inventories)
similarly to [Sphinx's intersphinx extension](https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html),
*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:**](https://mkdocstrings.github.io/usage/)
instead of generating Markdown files, *mkdocstrings* allows you to inject
documentation anywhere in your Markdown contents. The syntax is simple: `::: identifier` followed 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:**](https://mkdocstrings.github.io/usage/#global-options)
each handler can be configured globally in `mkdocs.yml`, and locally for each
"autodoc" instruction.
- [**Watch source code directories:**](https://mkdocstrings.github.io/usage/#watch-directories)
you can tell *mkdocstrings* to add directories to be watched by *MkDocs* when
serving the documentation, for auto-reload.
- **Reasonable defaults:**
you should be able to just drop the plugin in your configuration and enjoy your auto-generated docs.
## Installation
With `pip`:
```bash
pip install mkdocstrings
```
You can install support for specific languages using extras, for example:
```bash
pip install mkdocstrings[crystal,python]
```
See the [available language handlers](https://mkdocstrings.github.io/handlers/overview/).
With `conda`:
```bash
conda install -c conda-forge mkdocstrings
```
## Quick usage
```yaml
# mkdocs.yml
theme:
name: "material"
plugins:
- search
- mkdocstrings
```
In one of your markdown files:
```markdown
# Reference
::: my_library.my_module.my_class
```
See the [Usage](https://mkdocstrings.github.io/usage) section of the docs for more examples!
Raw data
{
"_id": null,
"home_page": "",
"name": "mkdocstrings",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "mkdocs,mkdocs-plugin,docstrings,autodoc,documentation",
"author": "",
"author_email": "Timoth\u00e9e Mazzucotelli <pawamoy@pm.me>",
"download_url": "https://files.pythonhosted.org/packages/70/03/6efc9dbff20304a4dc826eb8411d462afb44c8b1605b7d707c70a5ba8169/mkdocstrings-0.20.0.tar.gz",
"platform": null,
"description": "# mkdocstrings\n\n[](https://github.com/mkdocstrings/mkdocstrings/actions?query=workflow%3Aci)\n[](https://mkdocstrings.github.io/)\n[](https://pypi.org/project/mkdocstrings/)\n[](https://anaconda.org/conda-forge/mkdocstrings)\n[](https://gitpod.io/#https://github.com/mkdocstrings/mkdocstrings)\n[](https://gitter.im/mkdocstrings/community)\n\nAutomatic documentation from sources, for [MkDocs](https://mkdocs.org/).\nCome have a chat or ask questions on our [Gitter channel](https://gitter.im/mkdocstrings/community).\n\n---\n\n**[Features](#features)** - **[Requirements](#requirements)** - **[Installation](#installation)** - **[Quick usage](#quick-usage)**\n\n\n\n## Features\n\n- [**Language-agnostic:**](https://mkdocstrings.github.io/handlers/overview/)\n just like *MkDocs*, *mkdocstrings* is written in Python but is language-agnostic.\n It means you can use it with any programming language, as long as there is a\n [**handler**](https://mkdocstrings.github.io/reference/handlers/base/) for it.\n We currently have [handlers](https://mkdocstrings.github.io/handlers/overview/)\n for the [Crystal](https://mkdocstrings.github.io/crystal/) and [Python](https://mkdocstrings.github.io/python/) languages.\n Maybe you'd like to add another one to the list? :wink:\n\n- [**Multiple themes support:**](https://mkdocstrings.github.io/theming/)\n each handler can offer multiple themes. Currently, we offer the\n :star: [Material theme](https://squidfunk.github.io/mkdocs-material/) :star:\n as well as basic support for the ReadTheDocs and MkDocs themes for the Python handler.\n\n- [**Cross-references across pages:**](https://mkdocstrings.github.io/usage/#cross-references)\n *mkdocstrings* makes it possible to reference headings in other Markdown files with the classic Markdown linking\n syntax: `[identifier][]` or `[title][identifier]` -- and you don't need to remember which exact page this object was\n on. This works for any heading that's produced by a *mkdocstrings* language handler, and you can opt to include\n *any* Markdown heading into the global referencing scheme.\n\n **Note**: in versions prior to 0.15 *all* Markdown headers were included, but now you need to\n [opt in](https://mkdocstrings.github.io/usage/#cross-references-to-any-markdown-heading).\n\n- [**Cross-references across sites:**](https://mkdocstrings.github.io/usage/#cross-references-to-other-projects-inventories)\n similarly to [Sphinx's intersphinx extension](https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html),\n *mkdocstrings* can reference API items from other libraries, given they provide an inventory and you load\n that inventory in your MkDocs configuration.\n\n- [**Inline injection in Markdown:**](https://mkdocstrings.github.io/usage/)\n instead of generating Markdown files, *mkdocstrings* allows you to inject\n documentation anywhere in your Markdown contents. The syntax is simple: `::: identifier` followed by a 4-spaces\n indented YAML block. The identifier and YAML configuration will be passed to the appropriate handler\n to collect and render documentation.\n\n- [**Global and local configuration:**](https://mkdocstrings.github.io/usage/#global-options)\n each handler can be configured globally in `mkdocs.yml`, and locally for each\n \"autodoc\" instruction.\n\n- [**Watch source code directories:**](https://mkdocstrings.github.io/usage/#watch-directories)\n you can tell *mkdocstrings* to add directories to be watched by *MkDocs* when\n serving the documentation, for auto-reload.\n\n- **Reasonable defaults:**\n you should be able to just drop the plugin in your configuration and enjoy your auto-generated docs.\n\n## Installation\n\nWith `pip`:\n```bash\npip install mkdocstrings\n```\n\nYou can install support for specific languages using extras, for example:\n\n```bash\npip install mkdocstrings[crystal,python]\n```\n\nSee the [available language handlers](https://mkdocstrings.github.io/handlers/overview/).\n\nWith `conda`:\n```bash\nconda install -c conda-forge mkdocstrings\n```\n\n## Quick usage\n\n```yaml\n# mkdocs.yml\ntheme:\n name: \"material\"\n\nplugins:\n- search\n- mkdocstrings\n```\n\nIn one of your markdown files:\n\n```markdown\n# Reference\n\n::: my_library.my_module.my_class\n```\n\nSee the [Usage](https://mkdocstrings.github.io/usage) section of the docs for more examples!\n\n",
"bugtrack_url": null,
"license": "ISC",
"summary": "Automatic documentation from sources, for MkDocs.",
"version": "0.20.0",
"split_keywords": [
"mkdocs",
"mkdocs-plugin",
"docstrings",
"autodoc",
"documentation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2208dd06d533879ba4694bb31b0f4b8d8ec3b50ed51d8717083bdf6a8a0bd065",
"md5": "3f27712828cc34eaed6972035b4eb5c8",
"sha256": "f17fc2c4f760ec302b069075ef9e31045aa6372ca91d2f35ded3adba8e25a472"
},
"downloads": -1,
"filename": "mkdocstrings-0.20.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3f27712828cc34eaed6972035b4eb5c8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 26202,
"upload_time": "2023-01-19T22:57:23",
"upload_time_iso_8601": "2023-01-19T22:57:23.039600Z",
"url": "https://files.pythonhosted.org/packages/22/08/dd06d533879ba4694bb31b0f4b8d8ec3b50ed51d8717083bdf6a8a0bd065/mkdocstrings-0.20.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "70036efc9dbff20304a4dc826eb8411d462afb44c8b1605b7d707c70a5ba8169",
"md5": "ecd7024dd5f1fcadcc2fff69e0bd38e3",
"sha256": "c757f4f646d4f939491d6bc9256bfe33e36c5f8026392f49eaa351d241c838e5"
},
"downloads": -1,
"filename": "mkdocstrings-0.20.0.tar.gz",
"has_sig": false,
"md5_digest": "ecd7024dd5f1fcadcc2fff69e0bd38e3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 29204,
"upload_time": "2023-01-19T22:57:25",
"upload_time_iso_8601": "2023-01-19T22:57:25.181955Z",
"url": "https://files.pythonhosted.org/packages/70/03/6efc9dbff20304a4dc826eb8411d462afb44c8b1605b7d707c70a5ba8169/mkdocstrings-0.20.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-19 22:57:25",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "mkdocstrings"
}