1.6 KiB
1.6 KiB
priority
| priority |
|---|
| high |
Crate Structure
Version source of truth: root Cargo.toml [workspace.package] version.
Workspace crates (crates/)
kreuzberg— core library: extraction engine, MIME detection, plugin system, OCR, chunking, embeddings, API/MCP serverkreuzberg-cli— CLI binary; thin wrapper over core withclifeature setkreuzberg-ffi— C FFI layer (#[no_mangle] extern "C"); opaque handles, cbindgen headers; used by Go, Java, C# bindingskreuzberg-node— NAPI-RS Node.js/TypeScript bindingskreuzberg-py— PyO3 Python bindingskreuzberg-php— ext-php-rs PHP bindingskreuzberg-wasm— wasm-bindgen WASM bindings; useswasm-targetfeature setkreuzberg-paddle-ocr— PaddleOCR via ONNX Runtime; not available on WASM or Windowskreuzberg-tesseract— Rust bindings for Tesseract OCR
Out-of-workspace bindings (packages/)
packages/python/— PyPI (maturin + PyO3)packages/typescript/— npm type declarationspackages/ruby/— RubyGems (Magnus); native ext compiled byrakepackages/php/— Composer (ext-php-rs)packages/go/v5/— Go module; cgo over kreuzberg-ffipackages/java/— Maven; Foreign Function & Memory API over kreuzberg-ffipackages/csharp/— NuGet; P/Invoke over kreuzberg-ffipackages/elixir/— Hex; Rustler NIF (workspace member atpackages/elixir/native/kreuzberg_rustler)packages/r/— CRAN; extendr (excluded from workspace)
Tools (tools/)
tools/e2e-generator— reads JSON fixtures, generates runnable test suites per language intoe2e/tools/benchmark-harness— criterion-based benchmark runner