markitdown-rs (Python)
Microsoft's markitdown Python API,
backed by markitdown-rs: the
same markitdown module and the same Markdown, byte for byte, from one native
extension instead of pdfminer, pandas, mammoth, magika and onnxruntime.
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("report.pdf") # path, Path, URL, file:/data: URI, stream or requests.Response
print(result.markdown) # also result.text_content
convert, convert_local, convert_stream, convert_uri, convert_response,
StreamInfo, the exception classes, custom converters (register_converter,
the markitdown.converters classes), plugins (enable_plugins=True, e.g.
markitdown-ocr), llm_client image captions, requests_session,
exiftool_path and the Azure docintel_* / cu_* options behave as in
markitdown 0.1.9, and so does style_map (through mammoth, with the
docx extra). Unknown keyword arguments are ignored, as in markitdown,
with a warning naming them (unless plugins are enabled). The wheel installs markitdown's markitdown command too (also
python -m markitdown), with all of 0.1.9's flags.
The module is named markitdown, so install it instead of, not next to, the
Python package of that name.
Build a wheel from a checkout with uv (into target/wheels/):
cd crates/markitdown-py
uv venv .venv && VIRTUAL_ENV=$PWD/.venv uv pip install maturin
VIRTUAL_ENV=$PWD/.venv .venv/bin/maturin build --release
The optional features take markitdown's extras, by the same names:
uv pip install 'target/wheels/markitdown_rs-0.2.0-cp310-abi3-macosx_11_0_arm64.whl[all]'
| Extra | Installs | For |
|---|---|---|
audio-transcription |
SpeechRecognition, pydub (and audioop-lts on Python 3.13+) | ### Audio Transcript for wav, mp3, m4a (mp3 and m4a need ffmpeg) |
youtube-transcription |
youtube-transcript-api | ### Transcript for YouTube pages |
az-doc-intel |
azure-ai-documentintelligence, azure-identity | docintel_endpoint= |
az-content-understanding |
azure-ai-contentunderstanding, azure-identity | cu_endpoint= |
docx |
mammoth, lxml, beautifulsoup4, defusedxml | style_map= |
mcp |
the MCP SDK | markitdown-mcp and markitdown mcp (markitdown-mcp 0.0.1a8's server, with plugins) |
ocr |
markitdown-ocr's dependencies except markitdown |
then pip install --no-deps markitdown-ocr |
all |
all of the above |
pptx, xlsx, xls, pdf and outlook exist but install nothing: those
converters are built in.
Plugins depend on Microsoft's markitdown, which would overwrite this
package's markitdown module; install them with --no-deps (or, with uv,
override-dependencies = ["markitdown; sys_platform == 'never'"]). The
package warns, when markitdown is imported, if both are installed or if
its markitdown module was removed or replaced.
Or install it into a development environment and run the tests:
cd crates/markitdown-py
uv venv .venv && VIRTUAL_ENV=$PWD/.venv uv pip install maturin pytest
VIRTUAL_ENV=$PWD/.venv .venv/bin/maturin develop --release --uv
.venv/bin/pytest tests # needs target/release/markitdown (cargo build --release)
Metadata
Release files for markitdown-rs 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| markitdown_rs-0.2.1.tar.gz | 912.6 kB | With provenance | Details for markitdown_rs-0.2.1.tar.gz |
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| markitdown_rs-0.2.1-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details for markitdown_rs-0.2.1-cp310-abi3-win_amd64.whl |
| markitdown_rs-0.2.1-cp310-abi3-manylinux_2_28_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.28+ x86-64 | Details for markitdown_rs-0.2.1-cp310-abi3-manylinux_2_28_x86_64.whl |
| markitdown_rs-0.2.1-cp310-abi3-manylinux_2_28_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.28+ ARM64 | Details for markitdown_rs-0.2.1-cp310-abi3-manylinux_2_28_aarch64.whl |
| markitdown_rs-0.2.1-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details for markitdown_rs-0.2.1-cp310-abi3-macosx_11_0_arm64.whl |
| markitdown_rs-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl | CPython 3.10 | abi3 | macOS 10.12+ x86-64 | Details for markitdown_rs-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl |
Total release size: 15.9 MB
Release files / markitdown_rs-0.2.1.tar.gz
| Download URL | markitdown_rs-0.2.1.tar.gz |
|---|---|
| Size | 912.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cb1d3069a7ec74a123b6db09c45042828f12cbe1201449f8d730a1c6bb6d0d71
|
|
BLAKE2b-256 checksum How to use checksums |
d32f45e3d3476f58bd2dc631775d47b92ffbb5fb968df252f885f10b17930c20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / markitdown_rs-0.2.1-cp310-abi3-win_amd64.whl
| Download URL | markitdown_rs-0.2.1-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
671d631b63cd59c33022d56c7c514161cdddc2157ba261bb6629a6ff2387247d
|
|
BLAKE2b-256 checksum How to use checksums |
5915e6945856300fccbf146a7e584c3aeff7d2ba1430f2b9ab91e715f658c4f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / markitdown_rs-0.2.1-cp310-abi3-manylinux_2_28_x86_64.whl
| Download URL | markitdown_rs-0.2.1-cp310-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
88f3bead1535ff97a1410b97ff8522828401acf6dce7bed07d7e761a104f137e
|
|
BLAKE2b-256 checksum How to use checksums |
375a0c35a4af7258ce35f101787bda507ccf0546b4dbeb364c8168b2f4697635
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / markitdown_rs-0.2.1-cp310-abi3-manylinux_2_28_aarch64.whl
| Download URL | markitdown_rs-0.2.1-cp310-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
bd795dbbc85ac8054a374be4d4168011a82fe448a97f17c847c475ea9d65befd
|
|
BLAKE2b-256 checksum How to use checksums |
61c6ff79c53f134f91104fb3df7c1c1b9413f96d3f1908e050ae66f9800db0e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / markitdown_rs-0.2.1-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | markitdown_rs-0.2.1-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.8 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
feb5115f832f2b064321533866a288a518aa0d52ff985a98c1e20df7b17fb554
|
|
BLAKE2b-256 checksum How to use checksums |
4c6e7b4cc87ea57ccd0e89fb925dd94a9bd52c74f3a6d98041892feda7efed24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / markitdown_rs-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl
| Download URL | markitdown_rs-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.10 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
eec0950a6e1d315dd96187449d0dd728b51ba05740925df2f0fb7fa247259c31
|
|
BLAKE2b-256 checksum How to use checksums |
dca94f4c0cc342baf3b5bfae1a455df94fd4acd15bc8378d9f6ed75599e2e336
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logSecurity for markitdown-rs 0.2.1
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.
Full provenance
All 6 files in this release have been uploaded with provenance metadata.
Attestation for markitdown_rs-0.2.1.tar.gz
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 Nov 6, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.