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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

markdownlint_rs-0.3.8-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.8-py3-none-win_amd64.whl.

File metadata

  • Download URL: markdownlint_rs-0.3.8-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.8-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 031eaed8930f12c327c0d6c33f2f1f78e8b00fe6f99ae3e039cc32777f5a4ca4
MD5 e6fe04ae84cd178c755d99cf94f580a3
BLAKE2b-256 4301243402b28a1febf2938860a6f4dbece7cb2f1e624019a61f812636e72c5c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.8-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.8-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5ea287a5f7d92efb756b0506a3d4672d7631a86770ea236533f9a4d1b2098fe9
MD5 8e51b231a5c3fe8972db63f2a1fe384e
BLAKE2b-256 a90879cc107299aa05c9081dc940f5314f1ae02e89ce27688f8b162d0c461c2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.8-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.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 364e57e50a25b8a7416f498493c188ac0fe1fd394102e0670cd98d16ad6934f3
MD5 cc2b9cf8d5e48058b3478d394b25e139
BLAKE2b-256 7357d37f2cd81130679af5e53f2b5308e7ab8e60f7c3ba5cf2f9b6d77a5bbbd7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.8-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.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3ea9b9ec4405571648759095931310195508c670d451ae7d64b4c0e77b36b208
MD5 2677730ec321960526a6d6c511ac5cb8
BLAKE2b-256 31671dfdf8b201e51966144ac8401b72d9534f49f50a3f0773e97e937a6eebc0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.8-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.8-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05720938bf74eced7905921b857ff2382250ba5fc88b6d56c5557c57025583d9
MD5 009335eeb7af8df4b6dcc188cb389766
BLAKE2b-256 91edf9253c198e091400389b40ff04d8c834254df71217e63a02b634a4da31d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: markdownlint_rs-0.3.8-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.8-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 156474db3437955760941f645c9a1c0a772954682dfde192e5271dfc18358628
MD5 76caf9adbdbb1265f201825cbe0dc959
BLAKE2b-256 f947e9be844f87200c65609e1de7c38e6207d707c827a09aca056130860b7abf

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