Skip to content

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

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.