Skip to main content

Python bindings for Quillmark - format-first Markdown rendering

Project description

Quillmark — Python bindings

Python bindings for Quillmark's format-first Markdown rendering engine.

Maintained by TTQ.

Installation

pip install quillmark

Quick Start

from quillmark import Quillmark, Document, OutputFormat

engine = Quillmark()
quill = engine.quill_from_path("path/to/quill")

markdown = """---
QUILL: my_quill
title: Hello World
---

# Hello
"""

parsed = Document.from_markdown(markdown)
result = quill.render(parsed, OutputFormat.PDF)
result.artifacts[0].save("output.pdf")

# Round-trip: mutate, emit, re-parse
parsed.set_field("title", "Updated")
emitted = parsed.to_markdown()
reparsed = Document.from_markdown(emitted)
assert reparsed.frontmatter["title"] == "Updated"

API Overview

Quillmark

engine = Quillmark()
engine.registered_backends()      # ['typst']
quill = engine.quill_from_path("path/to/quill")

Quill

quill = engine.quill_from_path("path")
result = quill.render(parsed, OutputFormat.PDF)
session = quill.open(parsed)
quill.dry_run(parsed)

Document

doc = Document.from_markdown(markdown)
emitted = doc.to_markdown()          # canonical Quillmark Markdown

# Versioned storage DTO — use this to persist a document across a
# process restart or crate upgrade. The wire format is frozen per
# schema version, whereas Markdown syntax evolves.
stored = doc.to_json()               # JSON string carrying a schema tag
restored = Document.from_json(stored)
assert restored.to_markdown() == doc.to_markdown()

from_json raises ParseError on malformed JSON or an unknown schema tag. A DTO-reconstructed document has no parse-time warnings.

Development

uv venv
uv pip install -e ".[dev]"
uv run pytest

License

Apache-2.0

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quillmark-0.81.0rc1.tar.gz (3.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

quillmark-0.81.0rc1-cp310-abi3-win_amd64.whl (14.0 MB view details)

Uploaded CPython 3.10+Windows x86-64

quillmark-0.81.0rc1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

quillmark-0.81.0rc1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (14.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

quillmark-0.81.0rc1-cp310-abi3-macosx_11_0_arm64.whl (13.8 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file quillmark-0.81.0rc1.tar.gz.

File metadata

  • Download URL: quillmark-0.81.0rc1.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for quillmark-0.81.0rc1.tar.gz
Algorithm Hash digest
SHA256 990300ffc8b90483f0ec8b80591550797e507a718c1b1998120284e6c2da7b01
MD5 d6b211e1b8bb7a57dc56877d9521e7a3
BLAKE2b-256 bfdee97df27f752c84fd65a25d1a21fd95093417ac65a0df177278dd211a1f3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for quillmark-0.81.0rc1.tar.gz:

Publisher: release.yml on quillmark-org/quillmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file quillmark-0.81.0rc1-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for quillmark-0.81.0rc1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6192c83734363e95fc6fa858581a9eb16ea7e5c1ff24e2c6ff16df685587cf8f
MD5 317eeb2f5271e8a6e6f1d8eee2cec1e8
BLAKE2b-256 d0a1e14af7f0d47810bc63ba69566e189dfe7bcfd6d616105f4e9ffef5b0c5f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for quillmark-0.81.0rc1-cp310-abi3-win_amd64.whl:

Publisher: release.yml on quillmark-org/quillmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file quillmark-0.81.0rc1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for quillmark-0.81.0rc1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3014d811806329f5868452a51b18999dd31c919d664873053df8bb3210f82ece
MD5 cb942106d2a504a2864fbc00bb281588
BLAKE2b-256 133e794acf82c896f9d5d1c8d7eca53fd79eedd26cb601c4a94828167d060bc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for quillmark-0.81.0rc1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on quillmark-org/quillmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file quillmark-0.81.0rc1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for quillmark-0.81.0rc1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2bfa5f5ca8e99416754af56032c36709a3219c13bd03cf898bb90b91d8b3b750
MD5 ded595f1a4ceae03bf8be8db1846c464
BLAKE2b-256 e078ab58d7f2f2e4cfc1790689091decde34a2a7111f0fbf8afaf0eb82c902eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for quillmark-0.81.0rc1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on quillmark-org/quillmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file quillmark-0.81.0rc1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for quillmark-0.81.0rc1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 83637c1a1b3c197b4ae48315a7c26131774eef87f82a4c501978dda2582be243
MD5 2edb5c484a221effa2ee015635dfe41f
BLAKE2b-256 bfec7025f38b0e4c4b8deb31a362ed47fcf47eacbd1b8fba47fb43eb27f8500e

See more details on using hashes here.

Provenance

The following attestation bundles were made for quillmark-0.81.0rc1-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on quillmark-org/quillmark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page