Skip to main content

Opinionated Markdown formatter and linter

Project description

mdlint — Python package

This directory contains the Python distribution for mdlint, an opinionated Markdown formatter and linter written in Rust.

The package wraps the pre-built mdlint binary. No Rust toolchain is required to install or use it.

Installation

pip install mdlint

Or with uv:

uv tool install mdlint

Usage

# Format Markdown files
mdlint format

# Check for issues
mdlint check

# Check and auto-fix
mdlint check --fix

See the full documentation for all options, configuration, and CI integration examples.

How it works

pip install mdlint downloads a platform-specific wheel that bundles the correct pre-built mdlint binary for your OS and architecture. The mdlint command is a thin Python wrapper that locates and execs that binary.

Supported platforms:

Platform Architecture
Linux x86_64 (glibc)
Linux aarch64 (glibc)
macOS x86_64
macOS arm64 (Apple Silicon)
Windows x86_64

Development

Prerequisites

Build a wheel locally

cd python

# Pure-Python wheel (no binary bundled — for metadata validation only)
uv build --wheel

# Platform-specific wheel with a binary
cp /path/to/mdlint-binary mdlint/mdlint
MDLINT_PLATFORM_TAG=macosx_11_0_arm64 uv build --wheel

MDLINT_PLATFORM_TAG is read by hatch_build.py to stamp the correct platform tag onto the wheel. Without it, the wheel is tagged py3-none-any and contains no binary — useful for metadata validation in CI but not for distribution.

Validate package metadata

cd python
uv build --wheel
uvx twine check dist/*.whl

Platform tags

Asset MDLINT_PLATFORM_TAG
mdlint-linux-x86_64 manylinux_2_17_x86_64.manylinux2014_x86_64
mdlint-linux-aarch64 manylinux_2_17_aarch64.manylinux2014_aarch64
mdlint-macos-x86_64 macosx_10_12_x86_64
mdlint-macos-aarch64 macosx_11_0_arm64
mdlint-windows-x86_64.exe win_amd64

Release

Releases are automated via .github/workflows/build-python.yml. On a version tag push, the workflow downloads each pre-built binary from the GitHub release, builds a platform-specific wheel, uploads it to the GitHub release, and publishes it to PyPI.

A PYPI_TOKEN secret must be configured in the repository settings.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

markdownlint_rs-0.3.13-py3-none-win_amd64.whl (1.4 MB view details)

Uploaded Python 3Windows x86-64

markdownlint_rs-0.3.13-py3-none-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

markdownlint_rs-0.3.13-py3-none-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

markdownlint_rs-0.3.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

markdownlint_rs-0.3.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

markdownlint_rs-0.3.13-py3-none-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

markdownlint_rs-0.3.13-py3-none-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file markdownlint_rs-0.3.13-py3-none-win_amd64.whl.

File metadata

  • Download URL: markdownlint_rs-0.3.13-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for markdownlint_rs-0.3.13-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b333d8227a96ced3ae79e561a8ee0e19a5c8443cdfe243a3bd86f92fe1c2f172
MD5 4d2b58f6a3e1aba80075815b60a1dcfe
BLAKE2b-256 62d4d4b04317ca636fe75a836a5b7bbca756d67d95dc7581c0a47d0593cfc2ef

See more details on using hashes here.

File details

Details for the file markdownlint_rs-0.3.13-py3-none-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: markdownlint_rs-0.3.13-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for markdownlint_rs-0.3.13-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f877213df9bf97e2c84390412be3c2b7a76bd39a467717a09f0c8e5b261704d1
MD5 7a37b6b72284634af8faab0e21364b12
BLAKE2b-256 6af9edb51131aa618e52afc77529dc182d4d3409e5e446e3232172ad5218a39c

See more details on using hashes here.

File details

Details for the file markdownlint_rs-0.3.13-py3-none-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: markdownlint_rs-0.3.13-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for markdownlint_rs-0.3.13-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a2ec62fccfca8a0f7c62c02254a94466dc851931283c318f78b92f6d507c0971
MD5 aacfc25f9c6a318fb74a29a734259bc5
BLAKE2b-256 7e5f29ec5928cd2d766e80c41a1abeaa8e91b83e83a10c2c50d65c7351e16976

See more details on using hashes here.

File details

Details for the file markdownlint_rs-0.3.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: markdownlint_rs-0.3.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for markdownlint_rs-0.3.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6a1c013b5f07eeb8c693d2fa541f9c1dd975684026ed024edc66c140f52be155
MD5 bafc1978747e39b6177ac5277ca222fd
BLAKE2b-256 c7d68a5ea6411da302214058750ce0f1afdde5681cbda27f7127a70138e2b2b0

See more details on using hashes here.

File details

Details for the file markdownlint_rs-0.3.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: markdownlint_rs-0.3.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for markdownlint_rs-0.3.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2601f917af841dd2fe8e3093b8c577d96142efdc1da370e8ae468366ac101b0e
MD5 cdfb05315a0af50286658a8fb17aec52
BLAKE2b-256 ddfab8f996791f1785e914a040d1aa89c62e78fa693b7767f848f15d626933ec

See more details on using hashes here.

File details

Details for the file markdownlint_rs-0.3.13-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: markdownlint_rs-0.3.13-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for markdownlint_rs-0.3.13-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0c4528250b14c56f8912c717e6f2b96942cfe2b053ea3133dda00f31a93caba
MD5 0c78850b83a795376127b774d3b6a0e1
BLAKE2b-256 6dc455b06ad39e9734bf4b475e5b4f50d8eab9f59e311e1121c6a672b166885d

See more details on using hashes here.

File details

Details for the file markdownlint_rs-0.3.13-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: markdownlint_rs-0.3.13-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for markdownlint_rs-0.3.13-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 38e72a594a77f0edd7ee437e9c99257ab3623857b948732230505bb4fa96fe3f
MD5 434ddc121d2a3cbee9cec73128cc6000
BLAKE2b-256 fa89274a6adca619f821144f7bfbf9e76da60b4105950bf10d2e9489d6dc9352

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page