Skip to main content

MinerU Python client

A practical wrapper around MinerU's asynchronous APIs, upgraded for production-style usage.

What it handles for you:

  • local file upload via MinerU signed URLs
  • remote URL submission
  • async polling until completion
  • Agent Lightweight API and Precision API
  • HTML routing to MinerU-HTML for precision mode
  • optional markdown download for Agent tasks
  • precision result zip download + auto-unzip
  • easy access to full.md, full.html, layout.json, content/model JSON paths
  • callback checksum generation and verification helpers

Installation

pip install mineru-python-client

Or from source:

git clone https://github.com/JimEverest/mineru-python-client.git
cd mineru-python-client
pip install -e .

Files

  • mineru_client.py — main client implementation
  • run_mineru_demo.py — CLI-style example runner
  • tests/test_mineru_client.py — unit tests using a fake HTTP session

Quick start

from mineru_client import MinerUClient

client = MinerUClient(token='YOUR_TOKEN', poll_interval=5, timeout=600, request_timeout=60)
result = client.precision_parse_local_files(
    ['/path/to/document.pdf'],
    extra_formats=['html'],
)
print(result[0].full_zip_url)

Production bundle example

This is the easiest production-style path for local files because it:

  • uploads
  • waits for completion
  • downloads the zip
  • extracts it
  • gives you direct file paths
from mineru_client import MinerUClient

client = MinerUClient(token='YOUR_TOKEN', poll_interval=5, timeout=600)
bundle = client.precision_parse_local_bundle(
    '/path/to/document.pdf',
    output_dir='./mineru_output',
    extra_formats=['html'],
)

print(bundle.zip_path)
print(bundle.extract_dir)
print(bundle.markdown_path)
print(bundle.html_path)
print(bundle.layout_path)

Callback signature verification

from mineru_client import build_callback_checksum, verify_callback_signature

checksum = build_callback_checksum(uid, seed, content)
assert verify_callback_signature(uid, seed, content, checksum)

CLI examples

Precision local file:

MINERU_TOKEN=*** python3 run_mineru_demo.py \
  --mode precision-local \
  --input '/path/to/document.pdf' \
  --poll-interval 5 \
  --timeout 600 \
  --request-timeout 60 \
  --extra-format html

Precision local bundle download + unzip:

MINERU_TOKEN=*** python3 run_mineru_demo.py \
  --mode precision-local-bundle \
  --input '/path/to/document.pdf' \
  --bundle-output-dir './mineru_output' \
  --poll-interval 5 \
  --timeout 600 \
  --extra-format html

Agent local file:

python3 run_mineru_demo.py \
  --mode agent-local \
  --input '/path/to/small.pdf' \
  --download-markdown

API notes

  • Precision API requires a token.
  • Agent API does not require a token, but is limited to small single files and does not support HTML.
  • MinerU parsing is asynchronous; this wrapper uploads/submits first, then polls until done or failed.
  • Precision local uploads use /api/v4/file-urls/batch even for a single file.
  • Agent local uploads use /api/v1/agent/parse/file and then PUT the file to the returned signed URL.
  • The wrapper validates local files before creating remote tasks.
  • The wrapper requires HTTPS for signed upload URLs and result URLs.
  • Duplicate local basenames are automatically assigned unique data_id values.

Metadata

Release files for mineru-python-client 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mineru-python-client 0.1.0
File Size Uploaded
mineru_python_client-0.1.0.tar.gz 11.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mineru-python-client 0.1.0
File Interpreter ABI Platform
mineru_python_client-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 21.4 kB

Release files / mineru_python_client-0.1.0.tar.gz

Download URL mineru_python_client-0.1.0.tar.gz
Size 11.8 kB
Tags Source
SHA-256 checksum
How to use checksums
72ea8b737b04f899d7810ff2b9968bef65a9b69952549bb34ba96c9ca2b31dba
BLAKE2b-256 checksum
How to use checksums
a7611dfc0cbd75cd128fa6b4e6ad638efbd9809589703c06923f4b77507a69c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / mineru_python_client-0.1.0-py3-none-any.whl

Download URL mineru_python_client-0.1.0-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
164e46588480ec00dfada2190c5b97af26df63a8916e95e5a7c7e0d1ea44a982
BLAKE2b-256 checksum
How to use checksums
a4b5cd35423b8d549f55ca9fc68c2f1ed6e0c9f9ce7d0dedeb46f9b6c197bc9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page