Preserve the workbook
Modify mode patches supported changes into the existing package instead of rewriting it, so charts, pivot tables, VBA, and other parts you did not touch stay intact in supported workflows.
For production Excel workflows that outgrew openpyxl
WolfXL is a fast Rust-backed Excel engine for Python. Keep familiar openpyxl-shaped code for a supported workflow, patch bounded changes into existing .xlsx and .xlsm workbooks, and keep Microsoft Excel out of the server path.
Built for Microsoft Excel .xlsx / .xlsm openpyxl-compatible API
Community is MIT-licensed on public PyPI; the unpinned command currently resolves Community 2.0.9. Commercial 2.1+ is a separate authenticated-index distribution.
The cited 2.1.0 clean-wheel release-artifact benchmark records 23 OpenPyXL comparison rows and 8 OpenPyXL memory rows. It is dated evidence for its recorded wheel and source, not a universal compatibility or release-quality claim.
Benchmark evidence and versionsMethodologyCommunity scenariosCompatibility matrixLimitations
-import openpyxl+import wolfxl as openpyxl# existing supported-surface code runs unchangedwb = openpyxl.load_workbook("report.xlsx")2.1.0 clean-wheel evidence
bounded benchmark surface
8 OpenPyXL memory comparisons
dated clean-wheel evidence
Why teams switch
Modify mode patches supported changes into the existing package instead of rewriting it, so charts, pivot tables, VBA, and other parts you did not touch stay intact in supported workflows.
Existing code on the supported openpyxl surface runs unchanged. Update one import line, or install the runtime alias at startup.
The Rust core writes multi-sheet workbooks up to 17.2x faster and reads bulk rows up to 15.0x faster than openpyxl 3.1.5 in the 2026-08-16 release-artifact benchmark.
Surgical modify mode
A full rewrite reads the entire workbook package and writes it back from parsed state, so content the library does not model can be lost or altered. Modify mode targets the supported change and keeps the rest of the package intact.
Parse the .xlsx or .xlsm container and inventory its parts before changing anything.
Update the targeted worksheet XML and leave unrelated source parts as they were.
Recalculate supported formulas locally and confirm the saved workbook before it ships.
| Full rewrite | WolfXL modify mode | |
|---|---|---|
| Package handling | Reads and rebuilds the whole package | Patches the targeted parts |
| Untouched content | Rewritten from parsed state | Preserved from the source file |
| Two-cell edit, large workbook | 9.36s save in openpyxl 3.1.5 | 0.60s save with WolfXL |
The preservation approach, with the supporting evidence: openpyxl preservation.
Use cases
Recurring reports and client deliverables with charts, pivots, and macros that automated edits must not disturb.
Preservation approachWorkbook pipelines that must calculate supported formulas and save current cached results before Excel opens.
Calculation workflowServer jobs that need supported worksheet, range, or chart output without desktop Excel automation.
Rendering workflowBatch generation and bulk reads that have outgrown pure-Python throughput.
Performance evidenceWorkbooks where load time and peak RAM decide whether the pipeline fits its window.
Large-file resultsSide-by-side speed, memory, and license comparisons across the maintained Python Excel libraries.
Library comparisonA local fit check, a fixed-scope compatibility assessment, and a bounded pilot before broad deployment.
Rollout pathClean-source WolfXL 2.1.0 release-artifact benchmark dated 2026-08-16, openpyxl 3.1.5 comparison, supported scope.
Bulk reads
up to 15.0x faster
Bulk writes
up to 17.2x faster
Modify + save phase (2 cells, large workbook)
0.60s vs 9.36s
OpenPyXL bulk reads up to 15.05x
read_values_plain (standard workbook, 3 measured runs) from openpyxl_benchmark_summary.comparisons; the large-workbook case large_read_values_plain is 14.80x from a single measured run
OpenPyXL bulk writes append 7.39x to 13.07x
write_append family ranges from write_append_formulas 7.39x to write_append_plain write_rows 13.07x
OpenPyXL multi-sheet writes up to 17.23x
write_multi_sheet_plain with wolfxl_write_rows_fast_multi_sheet
OpenPyXL modify + save 13.85x to 15.65x
modify_save phase only (load excluded): modify_two_cells_plain 13.85x and large_modify_two_cells_plain 15.65x; the large case is a single measured run
OpenPyXL comparisons use the public Python API.
2026-08-16 release artifact benchmark rerun
WolfXL ships in two editions. Community 2.0.9 is MIT-licensed on public PyPI with no credential. Commercial 2.1+ adds separately distributed production operations through the authenticated package index.
| Capability | Community | Commercial |
|---|---|---|
| License | MIT | Commercial |
| Distribution | Public PyPI (2.0.9) | Authenticated package index (2.1+) |
| Workbook I/O | Included | Included |
| Existing 2.0 modify and pivot APIs | Included | Current implementations and fixes |
| Native recalculation | Not included | Included |
| Render, PDF, and image output | Not included | Included |
| Format conversion | Not included | Included |
| VBA and Power Query operations | Not included | Included |
| Production operations SDK | Not included | Included |
| Direct support | Community issues | Included with paid plans |
Community receives critical correctness and security fixes. We do not withhold a confirmed correctness fix to sell an upgrade.
Only pulling worksheet values into Arrow or Polars? wolfxl-data is a separate read-only bridge with no workbook, calculation, render, or pivot API.
Purchase paths
One Seat, Five Seats, and Organization check out online under the standard Order Terms, billed monthly or annually. OEM, redistribution, multi-entity, and hosted use need a written Order.
Invoices, payment details, and cancellation are in the billing portal, which signs you in with a code sent to your purchase email. Lost package credentials can be reissued through a single-use link sent to the same address.
Wolf Suite is a free showcase of WolfXL, WolfPPT, and WolfDocx updating one reporting pack together. It is not sold separately and changes nothing about a WolfXL subscription, price, or rights.
Install the MIT Community edition now, or prove one workflow on the commercial engine for 30 days.