Changelog
Office Oxide folgt semver. Vor 1.0 können Minor-Versionen Breaking Changes enthalten — die werden immer hier vermerkt.
0.1.0 — Erstrelease
Erstes öffentliches Release. Sechs Formate, sechs Bindings.
Highlights
- Sechs Formate: DOCX, XLSX, PPTX plus Legacy-DOC, -XLS, -PPT — reiner Rust-Kern, keine JVM, keine externen Binaries.
- Sechs Bindings: Rust, Python, Node.js (nativ über koffi), Node.js / Browser (WASM), Go (cgo), C# / .NET (P/Invoke), C-FFI.
- Einheitliche
Document-API über Formate und Bindings — Erkennung über Erweiterung, Magic-Byte-Sniffing, überall dieselben Methodennamen. EditableDocumentmitreplace_text(DOCX, PPTX) undset_cell(XLSX) — bewahrt beim Speichern alle unveränderten OPC-Teile.to_markdown/to_html/to_irfür jedes Format — designt für LLM- und RAG-Pipelines.save_asfür transparente Legacy → OOXML-Konvertierung (DOC → DOCX, XLS → XLSX, PPT → PPTX).- CLI (
office-oxide) und MCP-Server (office-oxide-mcp) — derselbe Motor, verschiedene Runtimes.
Performance
Gebenchmarkt auf 6.062 realen Dateien:
- DOCX: 0,8 ms Mittelwert, 14× schneller als python-docx
- XLSX: 5,0 ms Mittelwert, 2,8× schneller als python-calamine, 18× schneller als openpyxl
- PPTX: 0,7 ms Mittelwert, 46× schneller als python-pptx
- DOC: 0,3 ms Mittelwert, 14× schneller als catdoc
- XLS: 2,8 ms Mittelwert, 13× schneller als xlrd
- PPT: 0,7 ms Mittelwert, 4× schneller als catppt
- Gesamt-Pass-Rate: 98,4 % über 6.062 Dateien; null Fails bei legitimen Office-Dokumenten
Distribution
- crates.io:
office_oxide,office_oxide_cli,office_oxide_mcp - PyPI:
office-oxide— Wheels für Linux, macOS, Windows × Python 3.8–3.14 - npm:
office-oxide(nativ),office-oxide-wasm - NuGet:
OfficeOxide - pkg.go.dev:
github.com/yfedoseev/office_oxide/go
Lizenzierung
Doppelt lizenziert unter MIT OR Apache-2.0 nach deiner Wahl. Kein AGPL, kein GPL, keine Copyleft-Beschränkungen. Frei nutzbar in kommerziellen und Open-Source-Projekten.
Vollständige Details auf der GitHub-Releases-Seite.