Skip to main content

quillwork

Lossless, AI-friendly editing of Word (.docx) documents, for Python 3.12 and newer.

An agent reads a compact text view of the document, with a short anchor on every paragraph, table row and comment. It sends small JSON edits against those anchors. Quillwork writes each edit into the original file as a real Word tracked change and leaves every byte it did not need to touch exactly as it was. Letterheads, numbering, styles, fields and existing tracked changes survive, and a person reviews the agent's work in Word's Review pane.

from pathlib import Path

import quillwork

doc = quillwork.Document.open(Path("contract.docx").read_bytes())
doc.set_agent("AI")
print(doc.read())        # [b103 #1.] The Consultant provides advice ... for 16 hours per week.

doc.apply({
    "base_version": doc.version,
    "ops": [{"op": "replace_text", "anchor": "b103", "find": "16 hours", "replace": "20 hours"}],
})
Path("contract.edited.docx").write_bytes(doc.save())

doc.help() lists every op. This is an alpha (0.0.x): the op language and the sidecar format may change between releases.

Licensed under Apache-2.0.

Metadata

Release files for quillwork 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quillwork 0.0.3
File Size Uploaded Provenance Actions
quillwork-0.0.3.tar.gz 356.7 kB With provenance Details for quillwork-0.0.3.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for quillwork 0.0.3
File Interpreter ABI Platform Actions
quillwork-0.0.3-cp312-abi3-manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64 Details for quillwork-0.0.3-cp312-abi3-manylinux_2_28_x86_64.whl
quillwork-0.0.3-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details for quillwork-0.0.3-cp312-abi3-macosx_11_0_arm64.whl

Total release size: 4.9 MB

Release files / quillwork-0.0.3.tar.gz

Download URL quillwork-0.0.3.tar.gz
Size 356.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d244c030b43a6deb0603ec2008f9014ae18bc249ba974ee15005a819367e85e2
BLAKE2b-256 checksum
How to use checksums
ff18a55116217b3db10aefde497517d773fdd634b655c1c7162065245177b788
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 Oct 27, 2026.

Transparency log

Release files / quillwork-0.0.3-cp312-abi3-manylinux_2_28_x86_64.whl

Download URL quillwork-0.0.3-cp312-abi3-manylinux_2_28_x86_64.whl
Size 2.4 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
8570a1bd8f4541e0b2b25fbafeddcdb5185ae3d78e9132fd1d18317cc43f6398
BLAKE2b-256 checksum
How to use checksums
8f001b3666d310dad128a5604e1d8e503f10ffe36bc056f3caa13c3c710037c1
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 Oct 27, 2026.

Transparency log

Release files / quillwork-0.0.3-cp312-abi3-macosx_11_0_arm64.whl

Download URL quillwork-0.0.3-cp312-abi3-macosx_11_0_arm64.whl
Size 2.1 MB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
26fa972e59251121cc8d8d2936addcb269c3be5d538b6845b3841fdccb853b69
BLAKE2b-256 checksum
How to use checksums
18a869e4da1d36276c33977c653f1303d87e9c2fab1e0fa10cfe2a4b6e0fd87b
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 Oct 27, 2026.

Transparency log

Security for quillwork 0.0.3

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 3 files in this release have been uploaded with provenance metadata.

Select from 3 files

Attestation for quillwork-0.0.3.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 27, 2026.

Transparency log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page