rumdl
A fast Markdown linter written in Rust
What it is and what it does
rumdl is a Markdown linter and formatter written in Rust and distributed as a Python package. It scans Markdown files for style and consistency issues across 82 built-in rules, supports multiple Markdown flavors (GFM, MkDocs, MDX, Quarto, MyST), and can automatically fix many violations with the `--fix` flag. The tool is designed for speed and includes intelligent caching to skip unchanged files on subsequent runs.
When installed via pip, rumdl arrives as a pre-built binary with no runtime dependencies, making it a single-command install. It integrates with CI/CD pipelines, pre-commit hooks, and editor LSP servers. Configuration is TOML-based and discoverable, and it supports both text and JSON output formats for programmatic use.
Use it for:
- Enforce consistent Markdown style across a documentation repository or wiki in CI/CD pipelines.
- Auto-fix common Markdown formatting issues (spacing, heading levels, list markers) across many files at once.
- Integrate into a pre-commit hook to catch Markdown violations before they reach version control.
- Lint Markdown in multiple flavors (GFM, MDX, Quarto) within a single project without switching tools.
- Watch mode linting during documentation writing with editor integration via LSP.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Rust-based Markdown linter and formatter that checks files against 82 lint rules and can automatically fix violations, installable via pip as a pre-built binary with zero runtime dependencies.
Yes, if you maintain Markdown documentation and want a fast, zero-dependency linter with broad rule coverage and auto-fix capability. The active maintenance, recent release cycle, and permissive license make it low-risk. Install friction is medium due to platform-specific wheels, but that is typical for Rust-compiled tools and does not affect usability once installed.
Install
rumdl on PyPI
pip
pip install rumdluv
uv add rumdlpoetry
poetry add rumdlInstalling rumdl
Before you install
Medium install friction due to platform-specific wheels, but the package itself carries no runtime dependencies and is actively maintained with a recent release cycle (2 days since last release).
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install rumdl
rumdl check .
rumdl check --fix .
Verify before relying
- Whether the pip-installed version includes all 82 lint rules mentioned in the description or if some are Rust-only features.
- Performance characteristics on typical project sizes (the description benchmarks against 478 files but doesn't quantify typical speedup vs. alternatives).
- Whether configuration via pyproject.toml works identically to TOML-based config files.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 2 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 832,231/month — #4,940 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: rumdl-0.2.55-py3-none-macosx_10_12_x86_64.whl; rumdl-0.2.55-py3-none-macosx_11_0_arm64.whl; rumdl-0.2.55-py3-none-manylinux_2_28_aarch64.whl; rumdl-0.2.55-py3-none-manylinux_2_28_x86_64.whl; rumdl-0.2.55-py3-none-musllinux_1_2_aarch64.whl; rumdl-0.2.55-py3-none-musllinux_1_2_x86_64.whl; rumdl-0.2.55-py3-none-win_amd64.whl
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
lintroLintro unifies code formatting, linting, and…
permissive · top 15,000 on PyPI
tclinttclint is a CLI linter, formatter, and language…
permissive · top 15,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
doccmdRuns linters, formatters, and other…
permissive · top 15,000 on PyPI
xbslXBSL is a linter, LSP server, and metadata…
permissive · top 15,000 on PyPI
gritqlGritQL is a Python binding for a declarative…
permissive · top 15,000 on PyPI
fixitFixit is a configurable linting framework built…
permissive · top 15,000 on PyPI
markdown-it-pyrsA Rust-backed Python Markdown parser that…
permissive · top 15,000 on PyPI
tombiTombi is a TOML formatter, linter, and language…
permissive · top 15,000 on PyPI
pymarkdownlntPyMarkdown is a GitHub Flavored Markdown linter…
permissive · top 5,000 on PyPI