変更履歴
Office Oxide は semver に従います。1.0 以前は、マイナーバージョンに破壊的変更が含まれることがあります — その場合は必ずここに明記します。
0.1.0 — 初回リリース
最初の公開リリース。6 形式、6 バインディング。
ハイライト
- 6 形式: DOCX、XLSX、PPTX、およびレガシー DOC、XLS、PPT — 純粋な Rust コア、JVM なし、外部バイナリなし。
- 6 バインディング: Rust、Python、Node.js(koffi 経由のネイティブ)、Node.js / ブラウザ(WASM)、Go(cgo)、C# / .NET(P/Invoke)、C FFI。
- 形式とバインディングをまたぐ統一
DocumentAPI — 拡張子検出、マジックバイトスニッフィング、どこでも同じメソッド名。 EditableDocumentにreplace_text(DOCX、PPTX)とset_cell(XLSX)— 保存時に変更されていない OPC パーツをすべて温存。- すべての形式に
to_markdown/to_html/to_ir— LLM と RAG パイプライン向けに設計。 - 透過的なレガシー → OOXML 変換のための
save_as(DOC → DOCX、XLS → XLSX、PPT → PPTX)。 - CLI(
office-oxide)と MCP サーバ(office-oxide-mcp)— 同じエンジン、異なるランタイム。
パフォーマンス
6,062 個の実世界ファイルでベンチマーク:
- DOCX: 平均 0.8 ms、python-docx より 14 倍高速
- XLSX: 平均 5.0 ms、python-calamine より 2.8 倍高速、openpyxl より 18 倍高速
- PPTX: 平均 0.7 ms、python-pptx より 46 倍高速
- DOC: 平均 0.3 ms、catdoc より 14 倍高速
- XLS: 平均 2.8 ms、xlrd より 13 倍高速
- PPT: 平均 0.7 ms、catppt より 4 倍高速
- 全体の通過率: 6,062 ファイルで 98.4%; 正規の Office ドキュメントでゼロ失敗
配布
- crates.io:
office_oxide、office_oxide_cli、office_oxide_mcp - PyPI:
office-oxide— Linux、macOS、Windows × Python 3.8–3.14 の wheel - npm:
office-oxide(ネイティブ)、office-oxide-wasm - NuGet:
OfficeOxide - pkg.go.dev:
github.com/yfedoseev/office_oxide/go
ライセンス
MIT OR Apache-2.0 のデュアルライセンス(あなたの選択)。AGPL なし、GPL なし、コピーレフト制限なし。商用・オープンソースプロジェクトで自由に使用できます。
詳細は GitHub releases ページ を参照してください。