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.mdandBENCHMARK.md.
License
MIT. The frozen upstream implementation is also MIT; attribution and dependency
license metadata are retained in THIRD_PARTY_NOTICES.md.
Metadata
Release files for fast-mdurl-rs 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fast_mdurl_rs-0.1.0.tar.gz | 39.0 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| fast_mdurl_rs-0.1.0-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| fast_mdurl_rs-0.1.0-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
| fast_mdurl_rs-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl | CPython 3.9 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 4.4 MB
Release files / fast_mdurl_rs-0.1.0.tar.gz
| Download URL | fast_mdurl_rs-0.1.0.tar.gz |
|---|---|
| Size | 39.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
302f06c6092f000a97b6078546aa45e440a70aee82c97f00c98344bb4b3f9d69
|
|
BLAKE2b-256 checksum How to use checksums |
b3a78ca61b8446ecf5964db79bef1ffe1e3a2e2d41161fc419ec89c19b8be007
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency logRelease files / fast_mdurl_rs-0.1.0-cp39-abi3-win_amd64.whl
| Download URL | fast_mdurl_rs-0.1.0-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 739.3 kB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
6acf85ed300e8ae3adec218a56fc143073ff4ff88e7298ce9a422b58d88462e5
|
|
BLAKE2b-256 checksum How to use checksums |
9d577fa5eb736227560b717e34f8141015430f02e2b6a8ddacbae4da3cdb169c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency logRelease files / fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 961.1 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
8083366410ce441db9a5db8e0e2a437e96c9773e29acd437f043a4a4726e2ec7
|
|
BLAKE2b-256 checksum How to use checksums |
220f96a5bab6c6bf0d861ef5c22c94270d815163c4ff2e4d32dd2b824523106e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency logRelease files / fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 945.9 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
f4d71be58d4164103d5f1be1681cdb25fad9a46805d0bdf91a5b37b459b6110e
|
|
BLAKE2b-256 checksum How to use checksums |
92dd7e8f678dc9e61faa52c0c64842c406c2d02273bf81496aba53ea9ef717fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency logRelease files / fast_mdurl_rs-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | fast_mdurl_rs-0.1.0-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 817.8 kB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
bab7e8eebf7c62f98ea44195147f820d51ad6c857d7ea03fff8be20185d414a7
|
|
BLAKE2b-256 checksum How to use checksums |
bc0c3b220478f94e6089417bc488567e6c9ee576948c911e6823fa3315138d14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency logRelease files / fast_mdurl_rs-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
| Download URL | fast_mdurl_rs-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 855.7 kB |
| Tags | CPython 3.9 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
2b7c9b28876bad512e34d27846c1e05af6384d689736f0ead723660e0db504d8
|
|
BLAKE2b-256 checksum How to use checksums |
74f37fef8aa8a0e12be36d74f2f18bb044a2e7f09d6f39100c2a12c07bbbdd23
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency log