Changelog
Office Oxide дотримується semver. До 1.0 minor-версії можуть містити breaking changes — ми завжди підкреслюємо їх тут.
0.1.0 — перший реліз
Перший публічний реліз. Шість форматів, шість прив’язок.
Головне
- Шість форматів: DOCX, XLSX, PPTX, плюс legacy DOC, XLS, PPT — чисто-Rust ядро, жодних JVM, жодних зовнішніх бінарників.
- Шість прив’язок: Rust, Python, Node.js (нативна через koffi), Node.js / браузер (WASM), Go (cgo), C# / .NET (P/Invoke), C FFI.
- Уніфікований API
Documentчерез формати та прив’язки — визначення за розширенням, перевірка magic-байтами, ті самі імена методів усюди. EditableDocumentізreplace_text(DOCX, PPTX) таset_cell(XLSX) — зберігає всі незмінені OPC-частини при збереженні.to_markdown/to_html/to_irдля кожного формату — спроєктовано для LLM- і RAG-пайплайнів.save_asдля прозорої legacy → OOXML конвертації (DOC → DOCX, XLS → XLSX, PPT → PPTX).- CLI (
office-oxide) і MCP-сервер (office-oxide-mcp) — той самий двигун, різні рантайми.
Продуктивність
Бенчмарк на 6 062 реальних файлах:
- DOCX: 0,8 мс середнє, у 14 разів швидше за python-docx
- XLSX: 5,0 мс середнє, у 2,8 раза швидше за python-calamine, у 18 разів швидше за openpyxl
- PPTX: 0,7 мс середнє, у 46 разів швидше за python-pptx
- DOC: 0,3 мс середнє, у 14 разів швидше за catdoc
- XLS: 2,8 мс середнє, у 13 разів швидше за xlrd
- PPT: 0,7 мс середнє, у 4 рази швидше за catppt
- Загальний pass rate: 98,4% на 6 062 файлах; нуль провалів на легітимних Office-документах
Дистрибуція
- crates.io:
office_oxide,office_oxide_cli,office_oxide_mcp - PyPI:
office-oxide— wheels для Linux, macOS, Windows × Python 3.8–3.14 - npm:
office-oxide(нативний),office-oxide-wasm - NuGet:
OfficeOxide - pkg.go.dev:
github.com/yfedoseev/office_oxide/go
Ліцензування
Подвійна ліцензія MIT OR Apache-2.0 на ваш вибір. Жодних AGPL, GPL, copyleft-обмежень. Використовуйте вільно в комерційних та open-source проєктах.
Повні деталі — на сторінці релізів GitHub.