Skip to main content
paper-xlsx logo

paper-xlsx

PyPI Python versions Test

An import-compatible, agent-safe fork of openpyxl for creating and editing Excel workbooks without silent data loss.

paper-xlsx is an import-compatible hard fork of openpyxl for creating and editing Excel (.xlsx) workbooks. It keeps the openpyxl import name and upstream object model. When editing an existing file, preserve mode retains package content that openpyxl does not model.

Installation

Use an activated virtual environment.

python -m pip uninstall -y openpyxl paper-xlsx
python -m pip install paper-xlsx
python -m paper_xlsx_doctor

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

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

Quick start

Create a workbook, reopen it in preserve mode, and save an edit with a machine-readable receipt:

from openpyxl import Workbook, load_workbook

wb = Workbook()
ws = wb.active
ws["A1"], ws["B1"] = "Growth rate", 0.05
ws["A2"], ws["B2"] = "Revenue", 1000
ws["B3"] = "=B2 * (1 + B1)"
wb.save("model.xlsx")

wb = load_workbook("model.xlsx")
wb.active["B1"] = 0.07
receipt = wb.save("model-v2.xlsx", receipt=True)
print(receipt.to_dict()["cells_changed"])

Preserve mode keeps untouched package content and refuses edits it cannot save safely.

Documentation

Read the paper-xlsx documentation.

Contributing

Contributions are welcome. See CONTRIBUTING.md.

Acknowledgments

paper-xlsx builds on openpyxl by Eric Gazoni, Charlie Clark, and contributors. This fork preserves their API, license, and attribution.

Citation

If you reference paper-xlsx in research or writing:

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

Cite it as a fork of openpyxl by Eric Gazoni, Charlie Clark, and contributors.

License

MIT, inherited from openpyxl. Original work © 2010 openpyxl; fork additions © 2026 Paper Instruments, Inc. See LICENCE.rst.

Metadata

Release files for paper-xlsx 0.2.2

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

Source distribution (sdist)

Source distribution for paper-xlsx 0.2.2
File Size Uploaded
paper_xlsx-0.2.2.tar.gz 392.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paper-xlsx 0.2.2
File Interpreter ABI Platform
paper_xlsx-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 863.8 kB

Release files / paper_xlsx-0.2.2.tar.gz

Download URL paper_xlsx-0.2.2.tar.gz
Size 392.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b0aa1610fc6abc5cf73269561260ace28411738f1364929c15daf6daed26d166
BLAKE2b-256 checksum
How to use checksums
e1d54348d97bef1649c10230de54189320850ac4f837f74c2126d69a3b48e4ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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 Sep 23, 2026.

Transparency log

Release files / paper_xlsx-0.2.2-py3-none-any.whl

Download URL paper_xlsx-0.2.2-py3-none-any.whl
Size 471.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
73a83801d6cdd265cf9324213bda033dd3cd0a250b476c2f383d7459bd60d5bd
BLAKE2b-256 checksum
How to use checksums
8a49db4311bbe6a73c87a1bda5fb1598f6b68164d15b1c2104871fcf0ab039de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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 Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

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