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.12-py3-none-win_amd64.whl (1.4 MB view details)

Uploaded Python 3Windows x86-64

markdownlint_rs-0.3.12-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.12-py3-none-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

markdownlint_rs-0.3.12-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.12-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.12-py3-none-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

markdownlint_rs-0.3.12-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.12-py3-none-win_amd64.whl.

File metadata

  • Download URL: markdownlint_rs-0.3.12-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.12-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7df052477f01bf7a07b5eb47fcbda4c67f9a25b1f6fcb7793b6995ddc2c3aaca
MD5 586453a9c3c3628eb5b147b892125c5e
BLAKE2b-256 7fb37372363f219d82d8e06020f495bc1c4eaa520f4d8973f7ceb855d39959d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.12-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.12-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b54d696b42bc77775f9a9d64bcaabb71ac4fbcd0b928d0aeee2482faa5561828
MD5 a3362daa3974a3b5b1e3adce7001e864
BLAKE2b-256 880ee517c5be26a4f819ff6e5201b6a9f163121e71633c32cc27b9035b9df635

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.12-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.12-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a7e2757c531f1655e7018b9258de386436f0f16953200764984ae3a1be0baea1
MD5 019269b42f3186f5a7827548a2c848e9
BLAKE2b-256 62f79b1f5bedaeccc22614bffbaa530904f02a9e60f312296b76e6bf8ffcb259

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.12-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.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f86c661157ec65f0ef6df9d257b7ab91a87d4a1cccdaf6aaa9612449a4b1f784
MD5 24554c13176204ed1f17afdf3d1b8cd0
BLAKE2b-256 d1729b9e88909c4d2b34895352755b60d608bffb6f1045d56dd67ec0fc0fc6f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.12-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.12-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 836964009213012a419e8453af2dcb39d8b03c813309dbb6c18a73e6644bc5c9
MD5 723f60d9ee2519ce5074271239035880
BLAKE2b-256 4a19c6325491d8e9f3d4bf67d715e936c1d0f0f9f5af45ae7ffeb3a9bcaac616

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.12-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.12-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8054d9f35ff6a904df5c888b2fe4a30e82789f4a3971636904a08290dc339f7a
MD5 17d614b1c9375105c9551ff6624f14fe
BLAKE2b-256 57b17438a7a38b0aa20c9d8b5a7b3f082d742d4b939b382a33108ab0897c847d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.12-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.12-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4f4862a902f27f5f11697a7db0a3c7b3d2a2bfdad7014cbfde177d530704f41a
MD5 32b64519fe63b63b89e25051681d6c8b
BLAKE2b-256 e6a9e609dd63637d4e13c2202d5b37a839ec0276384a333f5fe63bac8c956cf7

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