ParseCraft
Document intelligence: align existing converters, parsers, and OCR/VLM models behind one workflow and one typed output format
ParseCraft is a thin aggregation and alignment layer for document intelligence. Capable converters, parsers, and OCR/VLM models already exist, but each emits a different shape — and many ship demo-grade wrapper code pinned to an outdated Python version and dependency set. ParseCraft keeps every tool isolated behind a backend, translates its output into a single typed intermediate representation (IR), and projects that IR to deterministic Markdown. You get one workflow and one output format, while every heavy runtime stays optional.
The IR is the source of truth. Backends read a document and produce typed pages and chunks; every rendering — Markdown today, HTML/JSON/consumer trees later — is a projection of that same IR, never parsed back into state.
Requirements
- Python 3.13 (GIL only — the free-threaded
3.13tbuild is not supported) - Python 3.14 or newer, including free-threaded builds (
3.14t) - uv (recommended) or pip to install the package
Install and Quick Start
Install the released package and list the available backends:
uv add parsecraft # or: pip install parsecraft
uv run parsecraft backends
First release: 2026.9.2. The current version is on
PyPI.
Building from a source checkout, running the test suite, and working on the codebase are covered in the development setup.
CLI
| Command | Description |
|---|---|
parsecraft backends |
List registered backends; load warnings go to stderr |
parsecraft backends --json |
Emit backend descriptors as JSON |
parsecraft config check |
Validate the effective configuration |
parsecraft config show |
Show the resolved configuration with provenance |
parsecraft --version (-v) |
Print the package version |
uv run parsecraft backends
# No backends registered. (no third-party backend installed yet)
See the CLI reference for every command, flag, exit code, and environment variable.
How it works
source document → backend (analyze / convert) → typed IR → Markdown projection
- Backends are the extension point. A third party ships a
BackendFactoryunder theparsecraft.backendsentry-point group; the core package does not change to add one. - One typed IR.
DocumentResult,PageResult, andStructuredChunkmove between layers, and Markdown is a deterministic, dependency-free projection. - Heavy runtimes stay optional. Model weights, CUDA, and OCR/VLM stacks load only inside a backend factory, so importing ParseCraft stays offline-clean.
- Failures are typed. A failed pass records a
PassFailurerather than silently dropping a page.
Continue with the architecture overview, the IR model, the backend catalog, and the backend authoring guide.
Documentation
- Installation
- Quickstart
- Architecture
- Backends
- Write a backend
- Backend catalog
- CLI reference
- API reference
- Development setup
License
MIT — see LICENSE for details.
Metadata
Release files for parsecraft 2026.9.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| parsecraft-2026.9.8.tar.gz | 152.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| parsecraft-2026.9.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 232.0 kB
Release files / parsecraft-2026.9.8.tar.gz
| Download URL | parsecraft-2026.9.8.tar.gz |
|---|---|
| Size | 152.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1a905925f93905e6d8831b1683426653b9aa8d109ff9b838b35aa07e713b5426
|
|
BLAKE2b-256 checksum How to use checksums |
ce4448ffb5e95c8247550f397fb553d990a98d78d55d7a06caef79502a71d24f
|
| 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 Sep 27, 2026.
Transparency logRelease files / parsecraft-2026.9.8-py3-none-any.whl
| Download URL | parsecraft-2026.9.8-py3-none-any.whl |
|---|---|
| Size | 80.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c2c3a44ae41729377a6fadef5efbbd833e7d3c55429a8cef0173a57d27ca958a
|
|
BLAKE2b-256 checksum How to use checksums |
2786f98412cb381ece12c324838b5d8a03a500d862813ce8db9e494ed0f0861c
|
| 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 Sep 27, 2026.
Transparency log