CLI Application
Python CLI for source extraction, detector execution, and batched output delivery.
Setup
cd /unstructured/apps/cli
uv sync
# Optional if you want an activated shell instead of `uv run ...`:
source .venv/bin/activate
Optional detector groups:
uv sync --group detectors
# or specific groups: --group secrets --group pii --group threat ...
Command Syntax
Use the thin wrapper:
uv run main.py <command> <recipe.json> [options]
Or direct module entrypoint:
uv run python -m src.main <command> <recipe.json> [options]
Commands:
test- test source connection.discover- discover source resources.extract- run extraction and emit batched output.sandbox- run sandbox parsing/detectors for a local file.
Extract Output Model
Extraction always emits in batches.
Recipes do not contain output configuration; output is controlled by CLI flags and environment variables.
Output types:
console- emits NDJSON envelopes to stdout.file- appends NDJSON envelopes to a file.rest- pushes batches to API endpoints and finalizes run.
Default behavior:
- If
source_idis present (--source-idorSOURCE_IDenv), default output isrest. - Otherwise default output is
console. - Default batch size is
20.
CLI Options
Global/common:
--debug- enable debug logging.--detectors-file <path>- sandbox only.
Extract output options:
--output-type rest|file|console--output-batch-size <int>--output-rest-url <url>--output-file-path <path>--source-id <uuid>--runner-id <uuid>--managed-runner(REST only; runner lifecycle managed by API orchestrator)
Environment fallbacks:
SOURCE_ID,RUNNER_IDCLASSIFYRE_OUTPUT_TYPE,CLASSIFYRE_OUTPUT_BATCH_SIZECLASSIFYRE_OUTPUT_REST_URL,CLASSIFYRE_OUTPUT_REST_TIMEOUT_SECCLASSIFYRE_OUTPUT_FILE_PATHAPI_URL(fallback base URL for REST output)
Practical Examples
1) Console output (quick local test)
uv run main.py extract ./wordpress-recipe.json --output-type console --output-batch-size 1
You will see NDJSON lines like:
{"event":"batch", ...}{"event":"finish", ...}
2) File output
uv run main.py extract ./wordpress-recipe.json \
--output-type file \
--output-file-path /tmp/classifyre-assets.ndjson \
--output-batch-size 20
3) REST output (manual CLI to backend)
uv run main.py extract ./wordpress-recipe.json \
--output-type rest \
--source-id <source_uuid>
Notes:
--runner-idoptional for manual runs. If omitted, CLI creates external runner automatically.--output-rest-urlis optional. If omitted, CLI usesCLASSIFYRE_OUTPUT_REST_URL, thenAPI_URL, thenhttp://localhost:8000.--managed-runnershould be used only for API-orchestrated runs where runner already exists.
4) REST output with explicit runner (managed/orchestrated style)
uv run main.py extract ./wordpress-recipe.json \
--output-type rest \
--source-id <source_uuid> \
--runner-id <runner_uuid> \
--managed-runner
5) Full extract command with all output flags
uv run main.py extract ./wordpress-recipe.json \
--output-type rest \
--output-batch-size 20 \
--output-rest-url http://localhost:8000 \
--output-file-path /tmp/classifyre-assets.ndjson \
--source-id <source_uuid> \
--runner-id <runner_uuid> \
--managed-runner
Use --output-file-path only when --output-type file.
Dev Scripts
bun run dev- run CLI quickly.bun run lint- ruff format/check.bun run check-types- mypy.bun run test- pytest suite.
Release files for classifyre-cli 0.4.44
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| classifyre_cli-0.4.44.tar.gz | 738.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| classifyre_cli-0.4.44-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / classifyre_cli-0.4.44.tar.gz
| Download URL | classifyre_cli-0.4.44.tar.gz |
|---|---|
| Size | 738.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3dcdd72dcf1ca9fde04e006bee11a2fce52762e5fa8d3ff33f1f03bfbdd8f3bb
|
|
BLAKE2b-256 checksum How to use checksums |
30d2da1424f6c6d1ea3554bc3667507c05c8475b6d5620839181cd4ff0d285c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / classifyre_cli-0.4.44-py3-none-any.whl
| Download URL | classifyre_cli-0.4.44-py3-none-any.whl |
|---|---|
| Size | 333.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5853bce9ca49591fe7b787f6ddfcf90bf3e01ec8ef1625521a68078e4f82755
|
|
BLAKE2b-256 checksum How to use checksums |
b0a06dba41bde74817cd75354bc3b40c09bceaa456debae6fa3eb239f93c517d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|