pyromark
Blazingly fast Markdown parser
What it is and what it does
pyromark is a Markdown parser for Python that wraps the Rust pulldown-cmark crate to provide fast CommonMark-compliant parsing. It offers two main interfaces: a simple `html()` function to convert Markdown strings directly to HTML, and an `events()` function that yields a stream of structured parsing events (headings, text, etc.) that you can pattern-match and process programmatically. The package is built as a compiled extension with wheels for multiple Python versions and architectures, and it releases the Python GIL during parsing to enable efficient multithreaded use.
The package depends only on typing-extensions at runtime and supports Python 3.10 through 3.14 on CPython and PyPy. It is actively maintained, with the repository last updated on 2026-08-13 and a release cycle of roughly two months.
Use it for:
- Convert Markdown files or strings to HTML for web publishing or documentation rendering.
- Parse Markdown documents into an event stream to build custom processors or AST transformations.
- Build high-throughput Markdown processing pipelines where GIL contention would otherwise be a bottleneck.
- Integrate CommonMark-compliant parsing into Python applications that need strict spec compliance.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
pyromark is a CommonMark-compliant Markdown parser that converts Markdown to HTML and exposes a structured event stream for programmatic element access.
Yes, if you need fast Markdown parsing and can target Python 3.10+. The package is actively maintained, has no known vulnerabilities, and offers a clean API for both simple HTML conversion and structured event access. The only caveat is that license metadata is unclear in the fact sheet—verify the actual license terms match your use case before adopting it.
Install
pyromark on PyPI
pip
pip install pyromarkuv
uv add pyromarkpoetry
poetry add pyromarkInstalling pyromark
Before you install
Medium install friction due to compiled wheels, but well-supported across platforms (macOS, Linux, Windows, multiple architectures). Active maintenance with recent releases; last commit 2026-08-13.
License in practice
License treatment is unclear—the description references MIT, but the fact sheet shows license_spdx and license_raw as null. Verify the actual license terms before relying on this package in proprietary or restricted-license contexts.
Quickstart
pip install pyromark
import pyromark
html = pyromark.html("# Hello world")
print(html)
Requires Python 3.10 or later.
Verify before relying
- Whether the MIT license mentioned in the description excerpt is the actual license, given that license metadata is marked unclear in the fact sheet.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — typing-extensions |
| Maintenance | actively maintained — 62 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 290,795/month — #7,980 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyromark-0.9.13-cp310-cp310-macosx_10_12_x86_64.whl; pyromark-0.9.13-cp310-cp310-macosx_11_0_arm64.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_17_ppc64.manylinux2014_ppc64.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_28_aarch64.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_28_armv7l.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_28_i686.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_28_ppc64le.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_28_s390x.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_28_x86_64.whl; pyromark-0.9.13-cp310-cp310-manylinux_2_31_riscv64.whl; pyromark-0.9.13-cp310-cp310-musllinux_1_2_aarch64.whl; pyromark-0.9.13-cp310-cp310-musllinux_1_2_armv7l.whl; pyromark-0.9.13-cp310-cp310-musllinux_1_2_i686.whl; pyromark-0.9.13-cp310-cp310-musllinux_1_2_ppc64le.whl
Keywords: converter, html
Tags
More Markup packages
PyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
markdown-it-pyA Python markdown parser that converts markdown…
permissive · top 100 on PyPI
beautifulsoup4Beautiful Soup parses HTML and XML documents…
permissive · top 100 on PyPI
et-xmlfileet_xmlfile writes large XML files with minimal…
permissive · top 1,000 on PyPI
tomlkitParses and edits TOML files while preserving…
permissive · top 1,000 on PyPI
docstring-parserParses Python docstrings in ReST, Google,…
permissive · top 1,000 on PyPI
markdown-it-pyrsA Rust-backed Python Markdown parser that…
permissive · top 15,000 on PyPI
comrakRenders CommonMark and GitHub Flavored Markdown…
permissive · top 15,000 on PyPI
markoMarko is a pure Python markdown parser that…
permissive · top 5,000 on PyPI
mistuneMistune converts Markdown text to HTML using a…
permissive · top 1,000 on PyPI
commonmarkParses Markdown text according to the…
permissive · top 5,000 on PyPI
myst-parserMyST-Parser extends CommonMark-compliant…
permissive · top 5,000 on PyPI
markdown2Converts Markdown text to HTML using a fast,…
permissive · top 5,000 on PyPI
mistletoemistletoe is a pure-Python Markdown parser that…
permissive · top 5,000 on PyPI
slackify-markdownConverts standard Markdown to Slack-compatible…
permissive · top 15,000 on PyPI