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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

markdownlint_rs-0.3.5-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.5-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.5-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.5-py3-none-win_amd64.whl.

File metadata

  • Download URL: markdownlint_rs-0.3.5-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.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d76216b39fb1eee17746955c0f80004fbb6436c19832d1e701b25b3ffc39c06e
MD5 9d01344e952d3423ac9fdd5de6919520
BLAKE2b-256 e199ebabf21a261c9c9f18e5132eb044893c7eb204737e745f1d33eb99fa5ace

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.5-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.5-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f67bed58a62073bb8e3f3fec543f1de637341cafa6bbfde50a46fbefc0e5a9a4
MD5 43a73551dc9de54f1f42c5883c1e91cf
BLAKE2b-256 65cb84fc53a95026e0218f317a1a1b2374a5cbe9da813dbb9351c8569432ebdf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.5-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.5-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0c3073394338002eb5ddf4bca17ab01e51594f86f4d7e15f641d87f0b75d2414
MD5 66cd5633a6bc46796b5e5ccc858acb76
BLAKE2b-256 22636c41ac95d9909eb08118e487abd8660038648ca7f23e57b33cc64a5c60e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.5-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.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ddea325c82c3a650a5961a8b59ce99ef5a345828e133adb2b8ff1adaa3080eaf
MD5 7b6980c5ac623fafb0d52263239ba6bb
BLAKE2b-256 dd5ff5176cfa06cba8f60eb92c7702d3a4d45cb28b0c029afebb7c8789c86cc4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.5-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.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fb3ddcf9397bce71d687d4121ede050a7b66cd57964a857a798f30a024bd1437
MD5 65c70f1ff41633771d5b7d42790d85a0
BLAKE2b-256 fc42c4bee8337ae06219195c2bf06ea24510826bbe549f1a60db68f819e20e52

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.5-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.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e50a03367d5e83f6e93c0af8697a53ea21a8926442b4044a0d3219e697bb696a
MD5 7e6b4cdf6575ddd9cecc77cf55734143
BLAKE2b-256 08327dd7945961623a279cc068b378e3feb89cdafa5bf391f14edaf8c465a635

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