[package]
edition = "2024"
rust-version = "1.92"
name = "xberg-cli"
version = "1.2.1"
authors = ["Na'aman Hirschfeld <naaman@xberg.io>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Command-line interface for Xberg document intelligence"
homepage = "https://xberg.io"
documentation = "https://docs.xberg.io"
readme = "README.md"
keywords = [
"document",
"extraction",
"cli",
"tool",
"parser",
]
categories = [
"command-line-utilities",
"text-processing",
]
license = "MIT"
repository = "https://github.com/xberg-io/xberg"
resolver = "2"
[package.metadata.cargo-machete]
ignored = ["serde_toon_format"]
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/xberg-cli-binstall-{ target }{ archive-suffix }"
bin-dir = "xberg-cli-binstall-{ target }/{ bin }{ binary-ext }"
[features]
all = [
"default",
"api",
"heic",
"html",
"url-ingestion",
"mcp",
"mcp-http",
"chunking-tokenizers",
"tree-sitter",
"liter-llm",
"classification",
"captioning",
"ner-onnx",
"ner-llm",
"summarization",
"summarization-llm",
"transcription",
"pdf-pdfium-surface",
]
analysis = ["xberg/analysis"]
api = [
"legacy-base",
"xberg/api",
]
binstall = [
"formats-no-heic",
"analysis",
"core-cli",
"html",
"url-ingestion",
"liter-llm",
"chunking-tokenizers",
"tree-sitter",
]
binstall-ocr = [
"binstall",
"candle-trocr",
"candle-paddleocr-vl",
]
candle-accelerate = [
"legacy-base",
"xberg/candle-accelerate",
]
candle-cuda = [
"legacy-base",
"xberg/candle-cuda",
]
candle-deepseek-ocr = [
"legacy-base",
"ocr-surface",
"xberg/candle-deepseek-ocr",
]
candle-glm-ocr = [
"legacy-base",
"ocr-surface",
"layout-detection",
"xberg/candle-glm-ocr",
]
candle-metal = [
"legacy-base",
"xberg/candle-metal",
]
candle-mkl = [
"legacy-base",
"xberg/candle-mkl",
]
candle-ocr = [
"legacy-base",
"ocr-surface",
"xberg/candle-ocr",
]
candle-paddleocr-vl = [
"legacy-base",
"ocr-surface",
"xberg/candle-paddleocr-vl",
]
candle-trocr = [
"legacy-base",
"ocr-surface",
"xberg/candle-trocr",
]
candle-vlm-ocr = [
"legacy-base",
"ocr-surface",
"layout-detection",
"xberg/candle-vlm-ocr",
]
captioning = [
"legacy-base",
"xberg/captioning",
]
chunking-tokenizers = [
"legacy-base",
"xberg/chunking-tokenizers",
]
classification = [
"legacy-base",
"xberg/classification",
]
core-cli = [
"url-surface",
"xberg/url-ingestion",
"xberg/cli",
]
default = [
"formats-no-heic",
"analysis",
"core-cli",
"embeddings",
"html",
"url-ingestion",
"liter-llm",
"ocr",
"paddle-ocr",
"sceptre-ocr",
"candle-vlm-ocr",
"layout-detection",
"chunking-tokenizers",
"tree-sitter",
]
embeddings = [
"legacy-base",
"xberg/embeddings",
]
formats = [
"pdf-surface",
"xberg/formats",
]
formats-no-heic = [
"pdf-surface",
"xberg/formats-no-heic",
]
formula-recognition = [
"layout-detection",
"xberg/formula-recognition",
]
heic = [
"legacy-base",
"formats",
"xberg/heic",
]
html = [
"legacy-base",
"xberg/html",
]
layout-detection = [
"legacy-base",
"xberg/layout-detection",
]
legacy-base = [
"formats-no-heic",
"analysis",
"core-cli",
"ocr-surface",
]
liter-llm = [
"legacy-base",
"ocr-surface",
"xberg/liter-llm",
]
macos-intel = [
"legacy-base",
"ocr-surface",
"pdf-surface",
"xberg/macos-intel-target",
]
mcp = [
"legacy-base",
"xberg/mcp",
]
mcp-http = [
"legacy-base",
"xberg/mcp-http",
]
ner-llm = [
"legacy-base",
"xberg/ner-llm",
]
ner-onnx = [
"legacy-base",
"xberg/ner-onnx",
]
ocr = [
"legacy-base",
"ocr-surface",
"xberg/ocr",
]
ocr-surface = []
ort-bundled = [
"legacy-base",
"xberg/ort-bundled",
]
ort-dynamic = [
"legacy-base",
"xberg/ort-dynamic",
]
paddle-ocr = [
"legacy-base",
"ocr-surface",
"xberg/paddle-ocr",
]
pdf-heuristic = ["pdf-surface"]
pdf-ocr = [
"pdf-heuristic",
"ocr-surface",
"xberg/ocr",
]
pdf-pdfium-surface = [
"pdf-surface",
"xberg/pdf-pdfium",
]
pdf-surface = ["xberg/pdf"]
prometheus = [
"legacy-base",
"xberg/prometheus",
]
sceptre-ocr = [
"legacy-base",
"ocr-surface",
"xberg/sceptre-ocr",
]
summarization = [
"legacy-base",
"xberg/summarization",
]
summarization-llm = [
"legacy-base",
"xberg/summarization-llm",
]
transcription = [
"legacy-base",
"xberg/transcription",
]
tree-sitter = [
"legacy-base",
"xberg/tree-sitter",
"dep:tree-sitter-language-pack",
]
url-ingestion = [
"legacy-base",
"url-surface",
"xberg/url-ingestion",
]
url-surface = []
[[bin]]
name = "xberg"
path = "src/main.rs"
[[test]]
name = "cli_envelope_surface"
path = "tests/cli_envelope_surface.rs"
[[test]]
name = "commands_test"
path = "tests/commands_test.rs"
[[test]]
name = "config_discovery_test"
path = "tests/config_discovery_test.rs"
[[test]]
name = "config_env_overrides_test"
path = "tests/config_env_overrides_test.rs"
[[test]]
name = "config_tests"
path = "tests/config_tests.rs"
[[test]]
name = "contract_cli"
path = "tests/contract_cli.rs"
[[test]]
name = "e2e_config_test"
path = "tests/e2e_config_test.rs"
[[test]]
name = "extract_envelope"
path = "tests/extract_envelope.rs"
[[test]]
name = "server_test"
path = "tests/server_test.rs"
[dependencies.anstyle]
version = "1"
[dependencies.anyhow]
version = "1.0"
[dependencies.base64]
version = "0.23.1"
[dependencies.clap]
version = "4.6"
features = [
"derive",
"color",
"suggestions",
]
[dependencies.clap_complete]
version = "4.6"
[dependencies.libc]
version = "0.2.189"
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.serde_toon_format]
version = "0.1"
[dependencies.tokio]
version = "1.53.1"
features = [
"rt",
"macros",
"sync",
"time",
"io-util",
"process",
"fs",
"rt-multi-thread",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
]
[dependencies.tree-sitter-language-pack]
version = "1.19.1"
features = [
"serde",
"dynamic-loading",
"download",
"serde",
]
optional = true
default-features = false
[dependencies.xberg]
version = "1.2.1"
features = [
"tokio-runtime",
"simd-utf8",
]
default-features = false
[dev-dependencies.bytes]
version = "1"
features = ["serde"]
[dev-dependencies.tempfile]
version = "3.27.0"
[dev-dependencies.ureq]
version = "3.4"
features = ["json"]