myst-parser
An extended [CommonMark](https://spec.commonmark.org/) compliant parser,
What it is and what it does
MyST-Parser is a Markdown parser and Sphinx extension that lets you write technical documentation in Markdown instead of reStructuredText. It implements an extended CommonMark dialect designed for flexibility and extensibility, built on markdown-it-py and integrated with Sphinx's rendering pipeline. The package acts as a bridge between Markdown's simplicity and Sphinx's documentation capabilities, parsing .md files through docutils and Jinja2 templating to produce the same output as native Sphinx sources.
You install it as a Sphinx extension by adding it to your conf.py, then write .md files in your documentation tree. It handles YAML frontmatter, code directives, cross-references, and other technical markup common in API docs and tutorials. The parser depends on markdown-it-py for tokenization, mdit-py-plugins for extended syntax, and pyyaml for metadata extraction.
Use it for:
- Convert an existing reStructuredText Sphinx project to Markdown without rewriting all source files.
- Author technical documentation in Markdown while keeping Sphinx's build system and theme infrastructure.
- Mix Markdown and reStructuredText sources in a single Sphinx project for gradual migration.
- Use Markdown's simpler syntax for tutorials and guides while maintaining cross-references and code examples.
- Extend Markdown with Sphinx directives (like :doc:, :ref:) for linking and API documentation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
MyST-Parser extends CommonMark-compliant Markdown with syntax for technical documentation, integrating with Sphinx to render MyST Markdown files as part of documentation builds.
Yes. MyST-Parser is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real problem for teams wanting Markdown in Sphinx. It's a mature Beta-status tool (in production use since 2020) with broad Python support. Install it if you want to author Sphinx docs in Markdown or migrate an existing project away from reStructuredText.
Install
myst-parser on PyPI
pip
pip install myst-parseruv
uv add myst-parserpoetry
poetry add myst-parserInstalling myst-parser
Before you install
Low friction installation with a pure-Python wheel. Actively maintained (last commit 2026-08-10, 93 days since release), supports current Python versions (3.11–3.14), and has a stable foundation with 886 repository stars.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.
Quickstart
pip install myst-parser
# In Sphinx conf.py:
extensions = ["myst_parser"]
# Then write .md files in your Sphinx project
Requires Python 3.11 or later and an existing Sphinx documentation project.
Verify before relying
- Whether MyST syntax extensions (e.g., for cross-references, code directives) are documented and stable for production use.
- Performance characteristics when parsing large or deeply nested Markdown documents.
- Compatibility matrix with specific Sphinx versions beyond the classifier range.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — docutils, jinja2, markdown-it-py, mdit-py-plugins, pyyaml, sphinx |
| Maintenance | actively maintained — 93 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 8,253,083/month — #1,642 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: myst_parser-5.1.0-py3-none-any.whl
Keywords: markdown, lexer, parser, development, docutils, sphinx
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
myst-nbSphinx extension that parses and converts…
unclear · top 5,000 on PyPI
recommonmarkEnables Sphinx and Docutils projects to parse…
permissive · top 5,000 on PyPI
mdformat_mystmdformat-myst is an mdformat plugin that…
permissive · top 15,000 on PyPI
mdit-py-pluginsExtends markdown-it-py with a collection of…
permissive · top 1,000 on PyPI
markdown-it-pyA Python markdown parser that converts markdown…
permissive · top 100 on PyPI
mistletoemistletoe is a pure-Python Markdown parser that…
permissive · top 5,000 on PyPI
markoMarko is a pure Python markdown parser that…
permissive · top 5,000 on PyPI
sphinx-markdown-tablesAdds markdown table support to Sphinx…
copyleft · top 15,000 on PyPI
commonmarkParses Markdown text according to the…
permissive · top 5,000 on PyPI
sphinx-multitoc-numberingA Sphinx extension that maintains continuous…
permissive · top 15,000 on PyPI