Skip to main content

fast-mdurl-rs

Opt-in Rust-backed, behavior-compatible replacement for mdurl==0.1.2. It keeps the same mdurl import, public functions and URL NamedTuple while accelerating encode, decode and parse hot paths.

The frozen contract, reuse decision and evidence are in UPSTREAM-CONTRACT.md, REUSE-AUDIT.md, COMPATIBILITY.md, and FULL-RELEASE-REPORT.md. Release claims remain acceptance-gated: a source checkout or successful build alone is not evidence of a public PyPI release.

Latest exact-wheel evidence on macOS arm64: the complete upstream and candidate suites pass, a deterministic 10,000-case oracle differential has zero mismatches, and encode/decode/parse each outperform the frozen Python oracle. Exact raw samples, medians and p95 are in benchmark.json and COMPATIBILITY.md. The trivial Python formatter remains Python because the first Rust crossing measured only 0.63x; removing it is part of the design, not an omitted feature.

Real-consumer validation against markdown-it-py==4.2.0 passed its complete 981-test suite. Interleaved end-to-end measurements show a modest benefit on link-dense Markdown, while a real README and a no-link control show no consistent gain. Exact raw samples, medians, artifact hash and environment are generated after the immutable wheel in external consumer-benchmark.json; they are workload-specific evidence, not a blanket speed claim.

Installation limitation

The distribution is named fast-mdurl-rs, while consumers declare a dependency on the separate mdurl distribution. Python package resolvers do not treat one distribution as satisfying the other even though both provide the mdurl namespace. Therefore this is an API/import drop-in, not a resolver-transparent replacement. It supports Python >=3.9; the frozen upstream also supports 3.7 and 3.8, which are outside this package's compatibility range. A controlled opt-in install on Python 3.9+ is:

python -m pip install markdown-it-py
python -m pip uninstall -y mdurl
python -m pip install fast-mdurl-rs
python -c "from markdown_it import MarkdownIt; print(MarkdownIt().render('[x](https://example.com)'))"

pip check will still report that markdown-it-py requires mdurl; do not install both distributions together because they own the same import namespace. Rollback with python -m pip uninstall -y fast-mdurl-rs && python -m pip install 'mdurl~=0.1'. The lowest-friction ecosystem path is an optional backend accepted by upstream mdurl/markdown-it-py; no such upstream acceptance is claimed yet.

Local development:

uv venv
uv pip install maturin pytest pytest-randomly pytest-cov
uv run maturin develop
uv run pytest -q

Verification and release assets

  • Complete frozen upstream and candidate suites plus a deterministic 10,000-case differential.
  • Five-platform abi3 release-wheel matrix, sdist rebuild, artifact metadata/RECORD audit, and public reinstall gates.
  • Exact-artifact benchmark evidence attached to the formal GitHub Release created last.
  • Truthful limitations and workload-specific results in COMPATIBILITY.md and BENCHMARK.md.

License

MIT. The frozen upstream implementation is also MIT; attribution and dependency license metadata are retained in THIRD_PARTY_NOTICES.md.

Download files

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

Source Distribution

fast_mdurl_rs-0.1.0.tar.gz (39.0 kB view details)

Uploaded Source

Built Distributions

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

fast_mdurl_rs-0.1.0-cp39-abi3-win_amd64.whl (739.3 kB view details)

Uploaded CPython 3.9+Windows x86-64

fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (961.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (945.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

fast_mdurl_rs-0.1.0-cp39-abi3-macosx_11_0_arm64.whl (817.8 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

fast_mdurl_rs-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl (855.7 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file fast_mdurl_rs-0.1.0.tar.gz.

File metadata

  • Download URL: fast_mdurl_rs-0.1.0.tar.gz
  • Upload date:
  • Size: 39.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fast_mdurl_rs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 302f06c6092f000a97b6078546aa45e440a70aee82c97f00c98344bb4b3f9d69
MD5 b59fe1dd45b5828b98ab8e961b0e7c20
BLAKE2b-256 b3a78ca61b8446ecf5964db79bef1ffe1e3a2e2d41161fc419ec89c19b8be007

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mdurl_rs-0.1.0.tar.gz:

Publisher: release.yml on lowmiaq-gmail/fast-mdurl-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mdurl_rs-0.1.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: fast_mdurl_rs-0.1.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 739.3 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fast_mdurl_rs-0.1.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6acf85ed300e8ae3adec218a56fc143073ff4ff88e7298ce9a422b58d88462e5
MD5 a1518ab661edd4b4cd6a9dc360995e35
BLAKE2b-256 9d577fa5eb736227560b717e34f8141015430f02e2b6a8ddacbae4da3cdb169c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mdurl_rs-0.1.0-cp39-abi3-win_amd64.whl:

Publisher: release.yml on lowmiaq-gmail/fast-mdurl-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8083366410ce441db9a5db8e0e2a437e96c9773e29acd437f043a4a4726e2ec7
MD5 bc071b75f0ef759e4902fcd9189b0047
BLAKE2b-256 220f96a5bab6c6bf0d861ef5c22c94270d815163c4ff2e4d32dd2b824523106e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on lowmiaq-gmail/fast-mdurl-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f4d71be58d4164103d5f1be1681cdb25fad9a46805d0bdf91a5b37b459b6110e
MD5 8712f72b76938822f368b19ad870b135
BLAKE2b-256 92dd7e8f678dc9e61faa52c0c64842c406c2d02273bf81496aba53ea9ef717fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on lowmiaq-gmail/fast-mdurl-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mdurl_rs-0.1.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fast_mdurl_rs-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bab7e8eebf7c62f98ea44195147f820d51ad6c857d7ea03fff8be20185d414a7
MD5 dc5d7f57d50f9314775f24cd0b69d238
BLAKE2b-256 bc0c3b220478f94e6089417bc488567e6c9ee576948c911e6823fa3315138d14

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mdurl_rs-0.1.0-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on lowmiaq-gmail/fast-mdurl-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mdurl_rs-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fast_mdurl_rs-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2b7c9b28876bad512e34d27846c1e05af6384d689736f0ead723660e0db504d8
MD5 e2f3fe11719b5db26102ffe6d3c73bf1
BLAKE2b-256 74f37fef8aa8a0e12be36d74f2f18bb044a2e7f09d6f39100c2a12c07bbbdd23

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mdurl_rs-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on lowmiaq-gmail/fast-mdurl-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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