@xberg-io/opencode-xberg 1.3.11 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.opencode/ai-rulez-content.js +1 -1
- package/.opencode/commands/xberg-extract.md +1 -1
- package/.opencode/commands/xberg-ocr.md +1 -1
- package/.opencode/plugins/xberg.js +1 -1
- package/.opencode/skills/xberg/SKILL.md +6 -6
- package/.opencode/skills/xberg/index.md +3 -3
- package/.opencode/skills/xberg/references/advanced-features.md +1 -1
- package/.opencode/skills/xberg/references/cli-reference.md +5 -3
- package/.opencode/skills/xberg/references/configuration.md +4 -4
- package/.opencode/skills/xberg/references/nodejs-api.md +1 -1
- package/.opencode/skills/xberg/references/other-bindings.md +1 -1
- package/.opencode/skills/xberg/references/python-api.md +5 -5
- package/.opencode/skills/xberg/references/rust-api.md +1 -1
- package/.opencode/skills/xberg/references/supported-formats.md +1 -1
- package/.opencode/skills/xberg-batch-extraction/SKILL.md +1 -1
- package/.opencode/skills/xberg-batch-extraction/index.md +3 -3
- package/.opencode/skills/xberg-batch-extraction/references/advanced-features.md +1 -1
- package/.opencode/skills/xberg-batch-extraction/references/cli-reference.md +5 -3
- package/.opencode/skills/xberg-batch-extraction/references/configuration.md +4 -4
- package/.opencode/skills/xberg-batch-extraction/references/nodejs-api.md +1 -1
- package/.opencode/skills/xberg-batch-extraction/references/other-bindings.md +1 -1
- package/.opencode/skills/xberg-batch-extraction/references/python-api.md +5 -5
- package/.opencode/skills/xberg-batch-extraction/references/rust-api.md +1 -1
- package/.opencode/skills/xberg-batch-extraction/references/supported-formats.md +1 -1
- package/.opencode/skills/xberg-chunking/SKILL.md +1 -1
- package/.opencode/skills/xberg-chunking/index.md +3 -3
- package/.opencode/skills/xberg-chunking/references/advanced-features.md +1 -1
- package/.opencode/skills/xberg-chunking/references/cli-reference.md +5 -3
- package/.opencode/skills/xberg-chunking/references/configuration.md +4 -4
- package/.opencode/skills/xberg-chunking/references/nodejs-api.md +1 -1
- package/.opencode/skills/xberg-chunking/references/other-bindings.md +1 -1
- package/.opencode/skills/xberg-chunking/references/python-api.md +5 -5
- package/.opencode/skills/xberg-chunking/references/rust-api.md +1 -1
- package/.opencode/skills/xberg-chunking/references/supported-formats.md +1 -1
- package/.opencode/skills/xberg-extracting-keywords/SKILL.md +1 -1
- package/.opencode/skills/xberg-extracting-keywords/index.md +3 -3
- package/.opencode/skills/xberg-extracting-keywords/references/advanced-features.md +1 -1
- package/.opencode/skills/xberg-extracting-keywords/references/cli-reference.md +5 -3
- package/.opencode/skills/xberg-extracting-keywords/references/configuration.md +4 -4
- package/.opencode/skills/xberg-extracting-keywords/references/nodejs-api.md +1 -1
- package/.opencode/skills/xberg-extracting-keywords/references/other-bindings.md +1 -1
- package/.opencode/skills/xberg-extracting-keywords/references/python-api.md +5 -5
- package/.opencode/skills/xberg-extracting-keywords/references/rust-api.md +1 -1
- package/.opencode/skills/xberg-extracting-keywords/references/supported-formats.md +1 -1
- package/.opencode/skills/xberg-extracting-tables/SKILL.md +1 -1
- package/.opencode/skills/xberg-extracting-tables/index.md +3 -3
- package/.opencode/skills/xberg-extracting-tables/references/advanced-features.md +1 -1
- package/.opencode/skills/xberg-extracting-tables/references/cli-reference.md +5 -3
- package/.opencode/skills/xberg-extracting-tables/references/configuration.md +4 -4
- package/.opencode/skills/xberg-extracting-tables/references/nodejs-api.md +1 -1
- package/.opencode/skills/xberg-extracting-tables/references/other-bindings.md +1 -1
- package/.opencode/skills/xberg-extracting-tables/references/python-api.md +5 -5
- package/.opencode/skills/xberg-extracting-tables/references/rust-api.md +1 -1
- package/.opencode/skills/xberg-extracting-tables/references/supported-formats.md +1 -1
- package/.opencode/skills/xberg-extracting-with-ocr/SKILL.md +1 -1
- package/.opencode/skills/xberg-extracting-with-ocr/index.md +3 -3
- package/.opencode/skills/xberg-extracting-with-ocr/references/advanced-features.md +1 -1
- package/.opencode/skills/xberg-extracting-with-ocr/references/cli-reference.md +5 -3
- package/.opencode/skills/xberg-extracting-with-ocr/references/configuration.md +4 -4
- package/.opencode/skills/xberg-extracting-with-ocr/references/nodejs-api.md +1 -1
- package/.opencode/skills/xberg-extracting-with-ocr/references/other-bindings.md +1 -1
- package/.opencode/skills/xberg-extracting-with-ocr/references/python-api.md +5 -5
- package/.opencode/skills/xberg-extracting-with-ocr/references/rust-api.md +1 -1
- package/.opencode/skills/xberg-extracting-with-ocr/references/supported-formats.md +1 -1
- package/.opencode/skills/xberg-picking-a-format/SKILL.md +1 -1
- package/.opencode/skills/xberg-picking-a-format/index.md +3 -3
- package/.opencode/skills/xberg-picking-a-format/references/advanced-features.md +1 -1
- package/.opencode/skills/xberg-picking-a-format/references/cli-reference.md +5 -3
- package/.opencode/skills/xberg-picking-a-format/references/configuration.md +4 -4
- package/.opencode/skills/xberg-picking-a-format/references/nodejs-api.md +1 -1
- package/.opencode/skills/xberg-picking-a-format/references/other-bindings.md +1 -1
- package/.opencode/skills/xberg-picking-a-format/references/python-api.md +5 -5
- package/.opencode/skills/xberg-picking-a-format/references/rust-api.md +1 -1
- package/.opencode/skills/xberg-picking-a-format/references/supported-formats.md +1 -1
- package/.pi/prompts/xberg-extract.md +1 -1
- package/.pi/prompts/xberg-ocr.md +1 -1
- package/.pi/skills/xberg/SKILL.md +6 -6
- package/.pi/skills/xberg/index.md +3 -3
- package/.pi/skills/xberg/references/advanced-features.md +1 -1
- package/.pi/skills/xberg/references/cli-reference.md +5 -3
- package/.pi/skills/xberg/references/configuration.md +4 -4
- package/.pi/skills/xberg/references/nodejs-api.md +1 -1
- package/.pi/skills/xberg/references/other-bindings.md +1 -1
- package/.pi/skills/xberg/references/python-api.md +5 -5
- package/.pi/skills/xberg/references/rust-api.md +1 -1
- package/.pi/skills/xberg/references/supported-formats.md +1 -1
- package/.pi/skills/xberg-batch-extraction/SKILL.md +1 -1
- package/.pi/skills/xberg-batch-extraction/index.md +3 -3
- package/.pi/skills/xberg-batch-extraction/references/advanced-features.md +1 -1
- package/.pi/skills/xberg-batch-extraction/references/cli-reference.md +5 -3
- package/.pi/skills/xberg-batch-extraction/references/configuration.md +4 -4
- package/.pi/skills/xberg-batch-extraction/references/nodejs-api.md +1 -1
- package/.pi/skills/xberg-batch-extraction/references/other-bindings.md +1 -1
- package/.pi/skills/xberg-batch-extraction/references/python-api.md +5 -5
- package/.pi/skills/xberg-batch-extraction/references/rust-api.md +1 -1
- package/.pi/skills/xberg-batch-extraction/references/supported-formats.md +1 -1
- package/.pi/skills/xberg-chunking/SKILL.md +1 -1
- package/.pi/skills/xberg-chunking/index.md +3 -3
- package/.pi/skills/xberg-chunking/references/advanced-features.md +1 -1
- package/.pi/skills/xberg-chunking/references/cli-reference.md +5 -3
- package/.pi/skills/xberg-chunking/references/configuration.md +4 -4
- package/.pi/skills/xberg-chunking/references/nodejs-api.md +1 -1
- package/.pi/skills/xberg-chunking/references/other-bindings.md +1 -1
- package/.pi/skills/xberg-chunking/references/python-api.md +5 -5
- package/.pi/skills/xberg-chunking/references/rust-api.md +1 -1
- package/.pi/skills/xberg-chunking/references/supported-formats.md +1 -1
- package/.pi/skills/xberg-extracting-keywords/SKILL.md +1 -1
- package/.pi/skills/xberg-extracting-keywords/index.md +3 -3
- package/.pi/skills/xberg-extracting-keywords/references/advanced-features.md +1 -1
- package/.pi/skills/xberg-extracting-keywords/references/cli-reference.md +5 -3
- package/.pi/skills/xberg-extracting-keywords/references/configuration.md +4 -4
- package/.pi/skills/xberg-extracting-keywords/references/nodejs-api.md +1 -1
- package/.pi/skills/xberg-extracting-keywords/references/other-bindings.md +1 -1
- package/.pi/skills/xberg-extracting-keywords/references/python-api.md +5 -5
- package/.pi/skills/xberg-extracting-keywords/references/rust-api.md +1 -1
- package/.pi/skills/xberg-extracting-keywords/references/supported-formats.md +1 -1
- package/.pi/skills/xberg-extracting-tables/SKILL.md +1 -1
- package/.pi/skills/xberg-extracting-tables/index.md +3 -3
- package/.pi/skills/xberg-extracting-tables/references/advanced-features.md +1 -1
- package/.pi/skills/xberg-extracting-tables/references/cli-reference.md +5 -3
- package/.pi/skills/xberg-extracting-tables/references/configuration.md +4 -4
- package/.pi/skills/xberg-extracting-tables/references/nodejs-api.md +1 -1
- package/.pi/skills/xberg-extracting-tables/references/other-bindings.md +1 -1
- package/.pi/skills/xberg-extracting-tables/references/python-api.md +5 -5
- package/.pi/skills/xberg-extracting-tables/references/rust-api.md +1 -1
- package/.pi/skills/xberg-extracting-tables/references/supported-formats.md +1 -1
- package/.pi/skills/xberg-extracting-with-ocr/SKILL.md +1 -1
- package/.pi/skills/xberg-extracting-with-ocr/index.md +3 -3
- package/.pi/skills/xberg-extracting-with-ocr/references/advanced-features.md +1 -1
- package/.pi/skills/xberg-extracting-with-ocr/references/cli-reference.md +5 -3
- package/.pi/skills/xberg-extracting-with-ocr/references/configuration.md +4 -4
- package/.pi/skills/xberg-extracting-with-ocr/references/nodejs-api.md +1 -1
- package/.pi/skills/xberg-extracting-with-ocr/references/other-bindings.md +1 -1
- package/.pi/skills/xberg-extracting-with-ocr/references/python-api.md +5 -5
- package/.pi/skills/xberg-extracting-with-ocr/references/rust-api.md +1 -1
- package/.pi/skills/xberg-extracting-with-ocr/references/supported-formats.md +1 -1
- package/.pi/skills/xberg-picking-a-format/SKILL.md +1 -1
- package/.pi/skills/xberg-picking-a-format/index.md +3 -3
- package/.pi/skills/xberg-picking-a-format/references/advanced-features.md +1 -1
- package/.pi/skills/xberg-picking-a-format/references/cli-reference.md +5 -3
- package/.pi/skills/xberg-picking-a-format/references/configuration.md +4 -4
- package/.pi/skills/xberg-picking-a-format/references/nodejs-api.md +1 -1
- package/.pi/skills/xberg-picking-a-format/references/other-bindings.md +1 -1
- package/.pi/skills/xberg-picking-a-format/references/python-api.md +5 -5
- package/.pi/skills/xberg-picking-a-format/references/rust-api.md +1 -1
- package/.pi/skills/xberg-picking-a-format/references/supported-formats.md +1 -1
- package/README.md +9 -9
- package/assets/icon.svg +16 -9
- package/assets/logo.png +0 -0
- package/package.json +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:d9846749cb2b57685af6f077cfe2d16d5d7e58768437f14ee12f3c78a260106e
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -115,7 +115,7 @@ Nested sections (each `None`/unset by default unless noted): `ocr`, `xberg-chunk
|
|
|
115
115
|
enabled = true
|
|
116
116
|
backend = "tesseract"
|
|
117
117
|
language = ["eng"]
|
|
118
|
-
auto_rotate =
|
|
118
|
+
auto_rotate = true
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
| Option | Type | Default | Description |
|
|
@@ -123,7 +123,7 @@ auto_rotate = false
|
|
|
123
123
|
| `enabled` | boolean | `true` | Whether OCR is enabled. Setting `false` is equivalent to `disable_ocr` |
|
|
124
124
|
| `backend` | string | `"tesseract"` | OCR backend: `tesseract`, `paddleocr`/`paddle-ocr`, or `vlm` |
|
|
125
125
|
| `language` | string or array | `["eng"]` | Language code(s). Accepts `"eng"` or `["eng", "deu"]`. Tesseract joins with `+` |
|
|
126
|
-
| `auto_rotate` | boolean
|
|
126
|
+
| `auto_rotate` | boolean \| null | `null` | `true` always rotates, `false` never rotates or retries, unset keeps the orientation retry |
|
|
127
127
|
| `vlm_fallback` | string | `"disabled"` | VLM fallback policy |
|
|
128
128
|
| `output_format`| string \| null | `null` | Optional OCR output format override |
|
|
129
129
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:5dd1dce4a7814ed37c2ea273dda3dd60d7caa18b08b0aff933ce3a8f7717d1a6
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:dacb4d7def21681b8b237603d2c7b89beaf18b8ee4110175b6ea5593022f3229
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:9250a30997ec851cbb228ddcfd1f538e81e843f81e488e5f3d927ba94af93e4f
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -485,7 +485,7 @@ for table in result.results[0].tables:
|
|
|
485
485
|
|
|
486
486
|
## Error Classes
|
|
487
487
|
|
|
488
|
-
|
|
488
|
+
`extract()` and `extract_batch()` raise the exported exception subclass for the underlying Rust error kind, including calls with `on_progress`. Catch `XbergError` for extraction failures, or a specific subclass such as `ParsingError`, `SecurityError`, or `ValidationError`.
|
|
489
489
|
|
|
490
490
|
Xberg also defines a family of typed exception classes re-exported from `xberg`. The `XbergError`-rooted ones inherit from `XbergError` (base): `ParsingError`, `OcrError`, `ValidationError`, `MissingDependencyError`, `UnsupportedFormatError`, `CacheError`, `ImageProcessingError`, `SerializationError`, `PluginError`, `SecurityError`, `TranscriptionError`, `EmbeddingError`, `RerankingError`, `XbergTimeoutError`, `IoError`, and others. A few classes sit in separate hierarchies rooted at `Exception` rather than `XbergError` — e.g. `ConfigError`/`PdfAnalysisError` and `ParseError`/`SchemaValidationError`.
|
|
491
491
|
|
|
@@ -493,12 +493,12 @@ Xberg also defines a family of typed exception classes re-exported from `xberg`.
|
|
|
493
493
|
|
|
494
494
|
```python
|
|
495
495
|
import asyncio
|
|
496
|
-
from xberg import ExtractInput, extract, ExtractionConfig
|
|
496
|
+
from xberg import ExtractInput, extract, ExtractionConfig, XbergError
|
|
497
497
|
|
|
498
498
|
async def main() -> None:
|
|
499
499
|
try:
|
|
500
500
|
result = await extract(ExtractInput(uri="document.pdf"), ExtractionConfig())
|
|
501
|
-
except
|
|
501
|
+
except XbergError as e:
|
|
502
502
|
print(f"Extraction failed: {e}")
|
|
503
503
|
|
|
504
504
|
asyncio.run(main())
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:a257c85add0ba02dd9ab63eecac13348152038919a09ba99964261256acf4ee4
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:e3c1dcb34a4784efc4f7fd868468061c3bd49d41e7e39792086633dcfe029d63
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -6,7 +6,7 @@ name: xberg-extracting-tables
|
|
|
6
6
|
<!--
|
|
7
7
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
8
8
|
Content-Hash: blake3:80d26904ff70da39df4ee2b35bcfc06a186b30c0d2566cf4b60832cd42e475ef
|
|
9
|
-
Source-Hash: blake3:
|
|
9
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
10
10
|
Schema-Version: v1
|
|
11
11
|
-->
|
|
12
12
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:43dcdbf46004ae4879000b485fcfd507c98bd1d9588d0cec3e15c175b2523faf
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
8
8
|
# Concepts
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
- [Extracting Tables](SKILL.md) - Use when extracting tabular data from PDFs, spreadsheets, or images. Covers layout-aware table detection, table model selection, output formats (markdown / JSON cells), and known limits.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:353a7a05cbe84a2af1d053c8173d2154f418972a2bbfc2846dbb2c17a8a46197
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:70bcb43e649e885bb822d41efb7221b365fd6f1870d1e6a5bb4ab3ec10be6acc
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -11,11 +11,13 @@ Comprehensive command-line interface for the Xberg document intelligence library
|
|
|
11
11
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
|
+
The pinned command below follows this source release (1.4.0); use it once that release is published.
|
|
15
|
+
|
|
14
16
|
```bash
|
|
15
17
|
brew install xberg-io/tap/xberg
|
|
16
18
|
# or run without a persistent install (self-installs the binary):
|
|
17
19
|
npx @xberg-io/xberg-cli --help
|
|
18
|
-
uvx --from xberg-cli xberg --help
|
|
20
|
+
uvx --from xberg-cli==1.4.0 xberg --help
|
|
19
21
|
```
|
|
20
22
|
|
|
21
23
|
Or download a pre-built binary from the [latest GitHub Release](https://github.com/xberg-io/xberg/releases/latest), or build from source:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:d9846749cb2b57685af6f077cfe2d16d5d7e58768437f14ee12f3c78a260106e
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -115,7 +115,7 @@ Nested sections (each `None`/unset by default unless noted): `ocr`, `xberg-chunk
|
|
|
115
115
|
enabled = true
|
|
116
116
|
backend = "tesseract"
|
|
117
117
|
language = ["eng"]
|
|
118
|
-
auto_rotate =
|
|
118
|
+
auto_rotate = true
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
| Option | Type | Default | Description |
|
|
@@ -123,7 +123,7 @@ auto_rotate = false
|
|
|
123
123
|
| `enabled` | boolean | `true` | Whether OCR is enabled. Setting `false` is equivalent to `disable_ocr` |
|
|
124
124
|
| `backend` | string | `"tesseract"` | OCR backend: `tesseract`, `paddleocr`/`paddle-ocr`, or `vlm` |
|
|
125
125
|
| `language` | string or array | `["eng"]` | Language code(s). Accepts `"eng"` or `["eng", "deu"]`. Tesseract joins with `+` |
|
|
126
|
-
| `auto_rotate` | boolean
|
|
126
|
+
| `auto_rotate` | boolean \| null | `null` | `true` always rotates, `false` never rotates or retries, unset keeps the orientation retry |
|
|
127
127
|
| `vlm_fallback` | string | `"disabled"` | VLM fallback policy |
|
|
128
128
|
| `output_format`| string \| null | `null` | Optional OCR output format override |
|
|
129
129
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:5dd1dce4a7814ed37c2ea273dda3dd60d7caa18b08b0aff933ce3a8f7717d1a6
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:dacb4d7def21681b8b237603d2c7b89beaf18b8ee4110175b6ea5593022f3229
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:9250a30997ec851cbb228ddcfd1f538e81e843f81e488e5f3d927ba94af93e4f
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -485,7 +485,7 @@ for table in result.results[0].tables:
|
|
|
485
485
|
|
|
486
486
|
## Error Classes
|
|
487
487
|
|
|
488
|
-
|
|
488
|
+
`extract()` and `extract_batch()` raise the exported exception subclass for the underlying Rust error kind, including calls with `on_progress`. Catch `XbergError` for extraction failures, or a specific subclass such as `ParsingError`, `SecurityError`, or `ValidationError`.
|
|
489
489
|
|
|
490
490
|
Xberg also defines a family of typed exception classes re-exported from `xberg`. The `XbergError`-rooted ones inherit from `XbergError` (base): `ParsingError`, `OcrError`, `ValidationError`, `MissingDependencyError`, `UnsupportedFormatError`, `CacheError`, `ImageProcessingError`, `SerializationError`, `PluginError`, `SecurityError`, `TranscriptionError`, `EmbeddingError`, `RerankingError`, `XbergTimeoutError`, `IoError`, and others. A few classes sit in separate hierarchies rooted at `Exception` rather than `XbergError` — e.g. `ConfigError`/`PdfAnalysisError` and `ParseError`/`SchemaValidationError`.
|
|
491
491
|
|
|
@@ -493,12 +493,12 @@ Xberg also defines a family of typed exception classes re-exported from `xberg`.
|
|
|
493
493
|
|
|
494
494
|
```python
|
|
495
495
|
import asyncio
|
|
496
|
-
from xberg import ExtractInput, extract, ExtractionConfig
|
|
496
|
+
from xberg import ExtractInput, extract, ExtractionConfig, XbergError
|
|
497
497
|
|
|
498
498
|
async def main() -> None:
|
|
499
499
|
try:
|
|
500
500
|
result = await extract(ExtractInput(uri="document.pdf"), ExtractionConfig())
|
|
501
|
-
except
|
|
501
|
+
except XbergError as e:
|
|
502
502
|
print(f"Extraction failed: {e}")
|
|
503
503
|
|
|
504
504
|
asyncio.run(main())
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:a257c85add0ba02dd9ab63eecac13348152038919a09ba99964261256acf4ee4
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:e3c1dcb34a4784efc4f7fd868468061c3bd49d41e7e39792086633dcfe029d63
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -6,7 +6,7 @@ name: xberg-extracting-with-ocr
|
|
|
6
6
|
<!--
|
|
7
7
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
8
8
|
Content-Hash: blake3:b1718303d659167ff376b4e1d4baf546d3e74f8f0804698a3486c0a1d2e6c913
|
|
9
|
-
Source-Hash: blake3:
|
|
9
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
10
10
|
Schema-Version: v1
|
|
11
11
|
-->
|
|
12
12
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:d1d20cdd1b9e8121dfb95e3683881ca08aeac585ad203b562cfacbba24bdadde
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
8
8
|
# Concepts
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
- [Extracting With Ocr](SKILL.md) - Use when extracting text from scanned PDFs, photographed pages, or images that have no embedded text layer. Covers OCR backends, language packs, force-OCR, and performance tuning.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:353a7a05cbe84a2af1d053c8173d2154f418972a2bbfc2846dbb2c17a8a46197
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:70bcb43e649e885bb822d41efb7221b365fd6f1870d1e6a5bb4ab3ec10be6acc
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -11,11 +11,13 @@ Comprehensive command-line interface for the Xberg document intelligence library
|
|
|
11
11
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
|
+
The pinned command below follows this source release (1.4.0); use it once that release is published.
|
|
15
|
+
|
|
14
16
|
```bash
|
|
15
17
|
brew install xberg-io/tap/xberg
|
|
16
18
|
# or run without a persistent install (self-installs the binary):
|
|
17
19
|
npx @xberg-io/xberg-cli --help
|
|
18
|
-
uvx --from xberg-cli xberg --help
|
|
20
|
+
uvx --from xberg-cli==1.4.0 xberg --help
|
|
19
21
|
```
|
|
20
22
|
|
|
21
23
|
Or download a pre-built binary from the [latest GitHub Release](https://github.com/xberg-io/xberg/releases/latest), or build from source:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:d9846749cb2b57685af6f077cfe2d16d5d7e58768437f14ee12f3c78a260106e
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -115,7 +115,7 @@ Nested sections (each `None`/unset by default unless noted): `ocr`, `xberg-chunk
|
|
|
115
115
|
enabled = true
|
|
116
116
|
backend = "tesseract"
|
|
117
117
|
language = ["eng"]
|
|
118
|
-
auto_rotate =
|
|
118
|
+
auto_rotate = true
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
| Option | Type | Default | Description |
|
|
@@ -123,7 +123,7 @@ auto_rotate = false
|
|
|
123
123
|
| `enabled` | boolean | `true` | Whether OCR is enabled. Setting `false` is equivalent to `disable_ocr` |
|
|
124
124
|
| `backend` | string | `"tesseract"` | OCR backend: `tesseract`, `paddleocr`/`paddle-ocr`, or `vlm` |
|
|
125
125
|
| `language` | string or array | `["eng"]` | Language code(s). Accepts `"eng"` or `["eng", "deu"]`. Tesseract joins with `+` |
|
|
126
|
-
| `auto_rotate` | boolean
|
|
126
|
+
| `auto_rotate` | boolean \| null | `null` | `true` always rotates, `false` never rotates or retries, unset keeps the orientation retry |
|
|
127
127
|
| `vlm_fallback` | string | `"disabled"` | VLM fallback policy |
|
|
128
128
|
| `output_format`| string \| null | `null` | Optional OCR output format override |
|
|
129
129
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:5dd1dce4a7814ed37c2ea273dda3dd60d7caa18b08b0aff933ce3a8f7717d1a6
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:dacb4d7def21681b8b237603d2c7b89beaf18b8ee4110175b6ea5593022f3229
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:9250a30997ec851cbb228ddcfd1f538e81e843f81e488e5f3d927ba94af93e4f
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -485,7 +485,7 @@ for table in result.results[0].tables:
|
|
|
485
485
|
|
|
486
486
|
## Error Classes
|
|
487
487
|
|
|
488
|
-
|
|
488
|
+
`extract()` and `extract_batch()` raise the exported exception subclass for the underlying Rust error kind, including calls with `on_progress`. Catch `XbergError` for extraction failures, or a specific subclass such as `ParsingError`, `SecurityError`, or `ValidationError`.
|
|
489
489
|
|
|
490
490
|
Xberg also defines a family of typed exception classes re-exported from `xberg`. The `XbergError`-rooted ones inherit from `XbergError` (base): `ParsingError`, `OcrError`, `ValidationError`, `MissingDependencyError`, `UnsupportedFormatError`, `CacheError`, `ImageProcessingError`, `SerializationError`, `PluginError`, `SecurityError`, `TranscriptionError`, `EmbeddingError`, `RerankingError`, `XbergTimeoutError`, `IoError`, and others. A few classes sit in separate hierarchies rooted at `Exception` rather than `XbergError` — e.g. `ConfigError`/`PdfAnalysisError` and `ParseError`/`SchemaValidationError`.
|
|
491
491
|
|
|
@@ -493,12 +493,12 @@ Xberg also defines a family of typed exception classes re-exported from `xberg`.
|
|
|
493
493
|
|
|
494
494
|
```python
|
|
495
495
|
import asyncio
|
|
496
|
-
from xberg import ExtractInput, extract, ExtractionConfig
|
|
496
|
+
from xberg import ExtractInput, extract, ExtractionConfig, XbergError
|
|
497
497
|
|
|
498
498
|
async def main() -> None:
|
|
499
499
|
try:
|
|
500
500
|
result = await extract(ExtractInput(uri="document.pdf"), ExtractionConfig())
|
|
501
|
-
except
|
|
501
|
+
except XbergError as e:
|
|
502
502
|
print(f"Extraction failed: {e}")
|
|
503
503
|
|
|
504
504
|
asyncio.run(main())
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:a257c85add0ba02dd9ab63eecac13348152038919a09ba99964261256acf4ee4
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:e3c1dcb34a4784efc4f7fd868468061c3bd49d41e7e39792086633dcfe029d63
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -6,7 +6,7 @@ name: xberg-picking-a-format
|
|
|
6
6
|
<!--
|
|
7
7
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
8
8
|
Content-Hash: blake3:a2f204c34c2eb303812f0b7b0a9acf29c879edd1985b8cc3312555b347378e1e
|
|
9
|
-
Source-Hash: blake3:
|
|
9
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
10
10
|
Schema-Version: v1
|
|
11
11
|
-->
|
|
12
12
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:9068c82b2c04e3797f748f8d411beb9c7f4757910501844a8a8b40bac4331750
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
8
8
|
# Concepts
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
- [Picking A Format](SKILL.md) - Use when choosing an output format for extracted documents — plain text, markdown, djot, HTML, JSON, or DocTags. Maps consumer (LLM, parser, archive) to the right `--format` / `--content-format` pair.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:353a7a05cbe84a2af1d053c8173d2154f418972a2bbfc2846dbb2c17a8a46197
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:70bcb43e649e885bb822d41efb7221b365fd6f1870d1e6a5bb4ab3ec10be6acc
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -11,11 +11,13 @@ Comprehensive command-line interface for the Xberg document intelligence library
|
|
|
11
11
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
|
+
The pinned command below follows this source release (1.4.0); use it once that release is published.
|
|
15
|
+
|
|
14
16
|
```bash
|
|
15
17
|
brew install xberg-io/tap/xberg
|
|
16
18
|
# or run without a persistent install (self-installs the binary):
|
|
17
19
|
npx @xberg-io/xberg-cli --help
|
|
18
|
-
uvx --from xberg-cli xberg --help
|
|
20
|
+
uvx --from xberg-cli==1.4.0 xberg --help
|
|
19
21
|
```
|
|
20
22
|
|
|
21
23
|
Or download a pre-built binary from the [latest GitHub Release](https://github.com/xberg-io/xberg/releases/latest), or build from source:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:d9846749cb2b57685af6f077cfe2d16d5d7e58768437f14ee12f3c78a260106e
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -115,7 +115,7 @@ Nested sections (each `None`/unset by default unless noted): `ocr`, `xberg-chunk
|
|
|
115
115
|
enabled = true
|
|
116
116
|
backend = "tesseract"
|
|
117
117
|
language = ["eng"]
|
|
118
|
-
auto_rotate =
|
|
118
|
+
auto_rotate = true
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
| Option | Type | Default | Description |
|
|
@@ -123,7 +123,7 @@ auto_rotate = false
|
|
|
123
123
|
| `enabled` | boolean | `true` | Whether OCR is enabled. Setting `false` is equivalent to `disable_ocr` |
|
|
124
124
|
| `backend` | string | `"tesseract"` | OCR backend: `tesseract`, `paddleocr`/`paddle-ocr`, or `vlm` |
|
|
125
125
|
| `language` | string or array | `["eng"]` | Language code(s). Accepts `"eng"` or `["eng", "deu"]`. Tesseract joins with `+` |
|
|
126
|
-
| `auto_rotate` | boolean
|
|
126
|
+
| `auto_rotate` | boolean \| null | `null` | `true` always rotates, `false` never rotates or retries, unset keeps the orientation retry |
|
|
127
127
|
| `vlm_fallback` | string | `"disabled"` | VLM fallback policy |
|
|
128
128
|
| `output_format`| string \| null | `null` | Optional OCR output format override |
|
|
129
129
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:5dd1dce4a7814ed37c2ea273dda3dd60d7caa18b08b0aff933ce3a8f7717d1a6
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:dacb4d7def21681b8b237603d2c7b89beaf18b8ee4110175b6ea5593022f3229
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
|
-
Content-Hash: blake3:
|
|
4
|
-
Source-Hash: blake3:
|
|
3
|
+
Content-Hash: blake3:9250a30997ec851cbb228ddcfd1f538e81e843f81e488e5f3d927ba94af93e4f
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -485,7 +485,7 @@ for table in result.results[0].tables:
|
|
|
485
485
|
|
|
486
486
|
## Error Classes
|
|
487
487
|
|
|
488
|
-
|
|
488
|
+
`extract()` and `extract_batch()` raise the exported exception subclass for the underlying Rust error kind, including calls with `on_progress`. Catch `XbergError` for extraction failures, or a specific subclass such as `ParsingError`, `SecurityError`, or `ValidationError`.
|
|
489
489
|
|
|
490
490
|
Xberg also defines a family of typed exception classes re-exported from `xberg`. The `XbergError`-rooted ones inherit from `XbergError` (base): `ParsingError`, `OcrError`, `ValidationError`, `MissingDependencyError`, `UnsupportedFormatError`, `CacheError`, `ImageProcessingError`, `SerializationError`, `PluginError`, `SecurityError`, `TranscriptionError`, `EmbeddingError`, `RerankingError`, `XbergTimeoutError`, `IoError`, and others. A few classes sit in separate hierarchies rooted at `Exception` rather than `XbergError` — e.g. `ConfigError`/`PdfAnalysisError` and `ParseError`/`SchemaValidationError`.
|
|
491
491
|
|
|
@@ -493,12 +493,12 @@ Xberg also defines a family of typed exception classes re-exported from `xberg`.
|
|
|
493
493
|
|
|
494
494
|
```python
|
|
495
495
|
import asyncio
|
|
496
|
-
from xberg import ExtractInput, extract, ExtractionConfig
|
|
496
|
+
from xberg import ExtractInput, extract, ExtractionConfig, XbergError
|
|
497
497
|
|
|
498
498
|
async def main() -> None:
|
|
499
499
|
try:
|
|
500
500
|
result = await extract(ExtractInput(uri="document.pdf"), ExtractionConfig())
|
|
501
|
-
except
|
|
501
|
+
except XbergError as e:
|
|
502
502
|
print(f"Extraction failed: {e}")
|
|
503
503
|
|
|
504
504
|
asyncio.run(main())
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:a257c85add0ba02dd9ab63eecac13348152038919a09ba99964261256acf4ee4
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
|
|
3
3
|
Content-Hash: blake3:e3c1dcb34a4784efc4f7fd868468061c3bd49d41e7e39792086633dcfe029d63
|
|
4
|
-
Source-Hash: blake3:
|
|
4
|
+
Source-Hash: blake3:ab2bcd453f9c2ded67752f6a9800186d42b6921f4be16f6ab3a773254a9fba00
|
|
5
5
|
Schema-Version: v1
|
|
6
6
|
-->
|
|
7
7
|
|