paper-docx README

The project's README from github.com/paper-instruments/paper-docx. As one markdown file: README.md.

paper-docx logo

paper-docx

PyPI Python versions Test

An import-compatible, agent-safe fork of python-docx for creating and editing Word documents without silent corruption.

paper-docx is an import-compatible hard fork of python-docx for creating and editing Microsoft Word (.docx) documents. It keeps the docx import name and upstream object model, and adds guarded inspection and editing APIs that refuse unsupported operations instead of guessing.

Installation

Use an activated virtual environment.

python -m pip uninstall -y python-docx paper-docx
python -m pip install paper-docx
python -m paper_docx_doctor

Both distributions provide the docx import package. Do not install python-docx and paper-docx in the same environment.

To return to python-docx, run the uninstall line above again, then python -m pip install python-docx.

Quick start

Create a Word redline from two document versions:

import docx
from docx.package import compare

original = docx.Document()
original.add_paragraph("Payment is due within thirty calendar days.")
original.save("original.docx")

revised = docx.Document()
revised.add_paragraph("Payment is due within thirty business days.")
revised.save("revised.docx")

result = compare("original.docx", "revised.docx", author="Reviewer")
result.document.save("redline.docx")
print(result.revision_count)  # 2

compare writes differences as tracked changes and refuses changes it cannot represent safely.

Documentation

Read the paper-docx documentation.

Contributing

Contributions are welcome. See CONTRIBUTING.md.

Acknowledgments

paper-docx builds on python-docx by Steve Canny and contributors. This fork preserves their API, license, and attribution.

Citation

If you reference paper-docx in research or writing:

@software{paper_docx,
  title   = {paper-docx: an agent-first structure editor for Word documents},
  author  = {{Paper Instruments, Inc.}},
  year    = {2026},
  url     = {https://github.com/paper-instruments/paper-docx}
}

Cite it as a fork of python-docx by Steve Canny and contributors.

License

MIT, inherited from python-docx. Original work © Steve Canny and the python-docx contributors; fork additions © Paper Instruments, Inc. See LICENSE.

paper-docx (paper-instruments/paper-docx)

Searching Database…

Что это?paper-docx — безопасный для агентов форк python-docx для создания и редактирования документов Microsoft Word (.docx), созданный так, чтобы отказываться от неподдерживаемых операций, а не молча портить файлы.
Чем это отличается от обычного python-docx?Это жёсткий форк: он сохраняет то же имя импорта 'docx' и ту же объектную модель, что и python-docx, но добавляет защищённые API для инспекции и редактирования, которые отказываются выполнять операции, которые не могут выполнить безопасно, вместо того чтобы угадывать.
Что будет, если я попробую операцию, которую paper-docx не может безопасно выполнить?Он откажет в операции, а не станет угадывать или создавать повреждённый файл; например, его функция сравнения записывает безопасные различия как исправления (tracked changes) и отклоняет правки, которые не может надёжно представить.
Могу ли я позже вернуться на оригинальный python-docx?Да — удалите paper-docx и выполните в том же окружении 'python -m pip install python-docx', чтобы вернуть исходный пакет.
Что на самом деле делает пример из быстрого старта?Он создаёт Word-редлайн из двух версий документа, записывая различия между ними как исправления (tracked changes).
Size
45.3 MB
Stars
122
Age
3mo
Commits · 90 Days