Changelog
Office Oxide sigue semver. Antes de 1.0, las versiones minor pueden incluir cambios incompatibles — siempre se destacarán aquí.
0.1.0 — primer release
Primer release público. Seis formatos, seis bindings.
Destacado
- Seis formatos: DOCX, XLSX, PPTX, más los heredados DOC, XLS, PPT — núcleo en Rust puro, sin JVM, sin binarios externos.
- Seis bindings: Rust, Python, Node.js (nativo vía koffi), Node.js / navegador (WASM), Go (cgo), C# / .NET (P/Invoke), FFI C.
- API
Documentunificada entre formatos y bindings — detección por extensión, sniffing por magic bytes, mismos nombres de método en todas partes. EditableDocumentconreplace_text(DOCX, PPTX) yset_cell(XLSX) — preserva todas las partes OPC sin tocar al guardar.to_markdown/to_html/to_irpara cada formato — diseñados para pipelines de LLM y RAG.save_aspara conversión heredado → OOXML transparente (DOC → DOCX, XLS → XLSX, PPT → PPTX).- CLI (
office-oxide) y servidor MCP (office-oxide-mcp) — el mismo motor, distintos runtimes.
Rendimiento
Benchmarkado sobre 6.062 archivos reales:
- DOCX: 0,8 ms media, 14× más rápido que python-docx
- XLSX: 5,0 ms media, 2,8× más rápido que python-calamine, 18× más rápido que openpyxl
- PPTX: 0,7 ms media, 46× más rápido que python-pptx
- DOC: 0,3 ms media, 14× más rápido que catdoc
- XLS: 2,8 ms media, 13× más rápido que xlrd
- PPT: 0,7 ms media, 4× más rápido que catppt
- Tasa de éxito total: 98,4% sobre 6.062 archivos; cero fallos en documentos Office legítimos
Distribución
- crates.io:
office_oxide,office_oxide_cli,office_oxide_mcp - PyPI:
office-oxide— wheels para Linux, macOS, Windows × Python 3.8–3.14 - npm:
office-oxide(nativo),office-oxide-wasm - NuGet:
OfficeOxide - pkg.go.dev:
github.com/yfedoseev/office_oxide/go
Licencia
Doble licencia MIT OR Apache-2.0 a tu elección. Sin AGPL, sin GPL, sin restricciones copyleft. Úsalo libremente en proyectos comerciales y open source.
Para detalles completos, consulta la página de releases de GitHub.