docling-carve
Convert Docling documents to Carve with provenance, image assets, and diagnostics for content that needs review. Use the Python API, command line, HTTP, or MCP interface. All interfaces share the same exporter and report contract.
The package owns its native wrapper over carve-lang 0.1.12. It does not require carve-py or an unreleased Python binding API. Python 3.10 or newer is required.
Installation
The first release, 0.1.0, is being prepared. Until wheels are published, build from this repository with Rust and Python installed:
python -m venv .venv
. .venv/bin/activate
pip install maturin
maturin develop --release
After publication, install docling-carve. The core dependency is docling-core; the full extraction pipeline is optional. Extras are extract, http, and mcp. They can be combined, for example docling-carve[http,extract].
Python
from docling_core.types.doc import DoclingDocument, DocItemLabel
from docling_carve import export_docling
doc = DoclingDocument(name="report")
doc.add_heading("Report", level=1)
doc.add_text(label=DocItemLabel.PARAGRAPH, text="Reviewed content.")
result = export_docling(doc)
print(result.value)
result.write_bundle("report-bundle")
export_json(payload) accepts a Docling JSON object, string, or bytes. CarveDocSerializer and CarveSerializerProvider implement Docling's serializer interfaces. See the API guide.
Command line
docling-carve convert document.json -o document.crv --report report.json
docling-carve convert document.json --bundle report-bundle
docling-carve batch incoming --output-dir converted --keep-going
docling-carve convert report.pdf --extract --bundle report-bundle
docling-carve convert report.pdf --extract --pdf-pipeline native --bundle native-bundle
Bundles contain document.crv, report.json, ast.json, preview.html, extracted PNG assets, and docling.json. Existing outputs are refused. --force replaces a managed bundle only when it contains no unrelated files. Use --no-source-snapshot to omit the original document.
--strict refuses any conversion diagnostic and exits with status 2. Other failures use status 1. --format selects carve, report-json, ast-json, or html. JSON reports written to stdout include base64 assets.
HTTP and MCP
docling-carve serve --host 127.0.0.1 --port 8080
docling-carve mcp
docling-carve mcp --root ./incoming
HTTP accepts Docling JSON at POST /v1/convert, and uploaded document bytes at POST /v1/extract when extraction is installed. Set DOCLING_CARVE_TOKEN to require a bearer token. MCP runs over stdio; file extraction requires an explicit root. See service examples for JavaScript, PHP, and MCP clients.
Preservation limits
Reports always set complete: false. Conversion checks reading order, nested lists, formatting, table geometry, captions, assets, and available provenance. It cannot establish extraction accuracy, preserve visual layout, or verify downstream rendering. Unsupported roles and normalizations produce diagnostics. The original Docling snapshot retains information outside the Carve mapping.
Body content is exported by default. Other layers must be selected explicitly. Image files from JSON require a contained asset_root; remote image references are rejected. Resource limits cover input bytes, document items, table cells, image pixels, asset bytes, and retained diagnostics.
See mapping and compatibility, report schema, and development and release.
Metadata
Release files for docling-carve 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 | Provenance | |
|---|---|---|---|---|
| docling_carve-0.1.0.tar.gz | 29.3 kB | With provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| docling_carve-0.1.0-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| docling_carve-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl | CPython 3.10 | abi3 | Linux musl 1.2+ x86-64 | Details |
| docling_carve-0.1.0-cp310-abi3-musllinux_1_2_aarch64.whl | CPython 3.10 | abi3 | Linux musl 1.2+ ARM64 | Details |
| docling_carve-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| docling_carve-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| docling_carve-0.1.0-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details |
| docling_carve-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl | CPython 3.10 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 19.5 MB
Release files / docling_carve-0.1.0.tar.gz
| Download URL | docling_carve-0.1.0.tar.gz |
|---|---|
| Size | 29.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd800f02dfa736305ee33759c6fa376105a1af0824331388d255b210a77e6ecc
|
|
BLAKE2b-256 checksum How to use checksums |
418b4dc446ffef67f512a40286e6eafa63129179f7cde60a0ec37dc19208a94a
|
| 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 Oct 24, 2026.
Transparency logRelease files / docling_carve-0.1.0-cp310-abi3-win_amd64.whl
| Download URL | docling_carve-0.1.0-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
5002e008a005a463a934adacbb3ec8e089fb93b3574ec59000d95b286428a0e2
|
|
BLAKE2b-256 checksum How to use checksums |
0af11f4cac6a31b3d4f75f92fee2fd944c0bb949729dc1f9c70e88f86952ee7e
|
| 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 Oct 24, 2026.
Transparency logRelease files / docling_carve-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl
| Download URL | docling_carve-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
914d60f538b590c719ae6c5e9316405da978ced2ef107ad4e2f0120ee6adb6ce
|
|
BLAKE2b-256 checksum How to use checksums |
83c445be1a97f55fa8d0bdef00d8f2fb9ad676248f1104178e3effb8ed73d47d
|
| 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 Oct 24, 2026.
Transparency logRelease files / docling_carve-0.1.0-cp310-abi3-musllinux_1_2_aarch64.whl
| Download URL | docling_carve-0.1.0-cp310-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
b71879662e5363f17241af786df5185b4fc8bf09248aa63152a61f8e0ee2b4ce
|
|
BLAKE2b-256 checksum How to use checksums |
0baf46d8fe5cb284802ad815a1e319ae9eced80acb035a9145dcf45ce1c650b3
|
| 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 Oct 24, 2026.
Transparency logRelease files / docling_carve-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | docling_carve-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
955550e2140f65a03eb7bf82d3d2da508f6bbce7ab5c2665b56de7d898b8292c
|
|
BLAKE2b-256 checksum How to use checksums |
adb789d32f235083172c7c5ba09838bd274e590a71fa6c5e00a78bc6de99473f
|
| 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 Oct 24, 2026.
Transparency logRelease files / docling_carve-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | docling_carve-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
f4d7558c0fa1d416b182a398c8598431048cf15bd9a7f01802cffb0eda0f9580
|
|
BLAKE2b-256 checksum How to use checksums |
8e25d4ea47fddf7d317f32d3df631e2d8e890189adaf2241bd8a5082ca658b27
|
| 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 Oct 24, 2026.
Transparency logRelease files / docling_carve-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | docling_carve-0.1.0-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9abb3a061bf0a7283d6c6d8319008293180eee14b35be656646965234f103a42
|
|
BLAKE2b-256 checksum How to use checksums |
a014cfebd79fb8a52013b463d6a34307e1fa6b28a10309f7d6313610172b1555
|
| 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 Oct 24, 2026.
Transparency logRelease files / docling_carve-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl
| Download URL | docling_carve-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.10 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
7b2dba25fba7ef222a26c45955b135bd6481b1f937837bf5523344beb8780582
|
|
BLAKE2b-256 checksum How to use checksums |
5476ed211aa454fc0ec34b54761ec3e68513ce25edfdc87a0de9d329f8932dc6
|
| 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 Oct 24, 2026.
Transparency logSecurity for docling-carve 0.1.0
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 8 files in this release have been uploaded with provenance metadata.
Attestation for docling_carve-0.1.0.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 Oct 24, 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.