mcruft¶
Assemble pages from PDFs, slide decks, vector artwork and images through one Python API.
Keep native source files in a .mcruft folder, choose how to convert them, and inspect what each operation loses.
import mcruft
doc = mcruft.open("input.pdf")
doc.move_page(0, len(doc.pages) - 1)
doc.save("reordered.mcruft")
report = doc.export("reordered.pdf", policy="editable")
print(report.outputs, report.losses)
Install mcruft, then assemble your first document. The tutorial uses the core package alone. Add engines when you need rendering or conversions.
Find your way¶
- Learn: first document and conversion policies.
- Do: convert and export, edit pages, use MCP, resolve errors.
- Look up: Python API, packages and engines, format and route specification.
- Contribute: development and releases, research archive.
What ships¶
The core and five engine adapters are pure Python and require Python 3.12 or later.
Five separate CLI bundles and the PdfCraft native binding currently ship for macOS arm64 only.
Nothing downloads a product binary at runtime. mcruft[all] requires that platform;
other platforms can install core or engine adapters and supply compatible CLIs themselves.
The MVP supports paged documents. Frame editing, video/audio processing, batch-2 products, and faithful Office round trips remain future work. A successful conversion is not a promise that every source feature survived: always read its report.