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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
302f06c6092f000a97b6078546aa45e440a70aee82c97f00c98344bb4b3f9d69
|
|
| MD5 |
b59fe1dd45b5828b98ab8e961b0e7c20
|
|
| BLAKE2b-256 |
b3a78ca61b8446ecf5964db79bef1ffe1e3a2e2d41161fc419ec89c19b8be007
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fast_mdurl_rs-0.1.0.tar.gz -
Subject digest:
302f06c6092f000a97b6078546aa45e440a70aee82c97f00c98344bb4b3f9d69 - Sigstore transparency entry: 2446867726
- Sigstore integration time:
-
Permalink:
lowmiaq-gmail/fast-mdurl-rs@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lowmiaq-gmail
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6acf85ed300e8ae3adec218a56fc143073ff4ff88e7298ce9a422b58d88462e5
|
|
| MD5 |
a1518ab661edd4b4cd6a9dc360995e35
|
|
| BLAKE2b-256 |
9d577fa5eb736227560b717e34f8141015430f02e2b6a8ddacbae4da3cdb169c
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fast_mdurl_rs-0.1.0-cp39-abi3-win_amd64.whl -
Subject digest:
6acf85ed300e8ae3adec218a56fc143073ff4ff88e7298ce9a422b58d88462e5 - Sigstore transparency entry: 2446867860
- Sigstore integration time:
-
Permalink:
lowmiaq-gmail/fast-mdurl-rs@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lowmiaq-gmail
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Trigger Event:
workflow_dispatch
-
Statement type:
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
- Download URL: fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 961.1 kB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8083366410ce441db9a5db8e0e2a437e96c9773e29acd437f043a4a4726e2ec7
|
|
| MD5 |
bc071b75f0ef759e4902fcd9189b0047
|
|
| BLAKE2b-256 |
220f96a5bab6c6bf0d861ef5c22c94270d815163c4ff2e4d32dd2b824523106e
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
8083366410ce441db9a5db8e0e2a437e96c9773e29acd437f043a4a4726e2ec7 - Sigstore transparency entry: 2446868023
- Sigstore integration time:
-
Permalink:
lowmiaq-gmail/fast-mdurl-rs@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lowmiaq-gmail
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 945.9 kB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4d71be58d4164103d5f1be1681cdb25fad9a46805d0bdf91a5b37b459b6110e
|
|
| MD5 |
8712f72b76938822f368b19ad870b135
|
|
| BLAKE2b-256 |
92dd7e8f678dc9e61faa52c0c64842c406c2d02273bf81496aba53ea9ef717fd
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fast_mdurl_rs-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
f4d71be58d4164103d5f1be1681cdb25fad9a46805d0bdf91a5b37b459b6110e - Sigstore transparency entry: 2446867800
- Sigstore integration time:
-
Permalink:
lowmiaq-gmail/fast-mdurl-rs@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lowmiaq-gmail
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file fast_mdurl_rs-0.1.0-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: fast_mdurl_rs-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 817.8 kB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bab7e8eebf7c62f98ea44195147f820d51ad6c857d7ea03fff8be20185d414a7
|
|
| MD5 |
dc5d7f57d50f9314775f24cd0b69d238
|
|
| BLAKE2b-256 |
bc0c3b220478f94e6089417bc488567e6c9ee576948c911e6823fa3315138d14
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fast_mdurl_rs-0.1.0-cp39-abi3-macosx_11_0_arm64.whl -
Subject digest:
bab7e8eebf7c62f98ea44195147f820d51ad6c857d7ea03fff8be20185d414a7 - Sigstore transparency entry: 2446867909
- Sigstore integration time:
-
Permalink:
lowmiaq-gmail/fast-mdurl-rs@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lowmiaq-gmail
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file fast_mdurl_rs-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: fast_mdurl_rs-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 855.7 kB
- Tags: CPython 3.9+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b7c9b28876bad512e34d27846c1e05af6384d689736f0ead723660e0db504d8
|
|
| MD5 |
e2f3fe11719b5db26102ffe6d3c73bf1
|
|
| BLAKE2b-256 |
74f37fef8aa8a0e12be36d74f2f18bb044a2e7f09d6f39100c2a12c07bbbdd23
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fast_mdurl_rs-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl -
Subject digest:
2b7c9b28876bad512e34d27846c1e05af6384d689736f0ead723660e0db504d8 - Sigstore transparency entry: 2446867968
- Sigstore integration time:
-
Permalink:
lowmiaq-gmail/fast-mdurl-rs@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lowmiaq-gmail
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ea6f151f7a4a0f410e0014209ff15d8a0005a30c -
Trigger Event:
workflow_dispatch
-
Statement type: