ndi-cli
ndi — the NDI platform CLI. Document operations, jobs, and workspace
lifecycle wrap the same /v1 methods as ndi-sdk. The six workspace tools
also run inside an agent sandbox; every other verb is refused there.
Setup
ndi login # browser device-code; writes ~/.ndi/config.toml
export NDI_BASE_URL="https://ndi-api.nace.ai" # optional; default shown
export NDI_WORKSPACE_ID="<workspace uuid>" # or: ndi workspace use <id>
$NDI_API_KEY still wins over the file. $NDI_CONFIG_PATH overrides the
config location. Workspace-scoped verbs also take --workspace ID.
Commands
| Command | Use |
|---|---|
ndi login |
Authorize and save the API key |
ndi version |
CLI + SDK versions |
ndi upload FILE |
Stage bytes; prints ndi://upload/<id> |
ndi parse SOURCE |
Markdown / text / blocks |
ndi extract SOURCE -s SCHEMA |
Structured extract (--validate checks a schema with no job) |
ndi split SOURCE --class id:label |
Logical sections |
ndi classify SOURCE --class id:label |
Labels (refuses jobid://) |
ndi ground SOURCE --target id=TEXT |
Locate quoted text |
ndi job ID / ndi jobs / ndi cancel ID |
Inspect or cancel jobs |
ndi workspace create|list|get|stats|delete|use |
Workspace lifecycle |
ndi files upload|list|get|delete |
Workspace files (--ingest uploads then queues ingestion) |
ndi ingest |
Queue ingestion |
ndi deep-search QUERY / ndi fact-search QUERY |
Agentic / single-shot search |
ndi folder-metadata / file-metadata / read-file / ask-file / run-sql / hybrid-search |
Read-only workspace tools (the sandbox surface) |
Sources
SOURCE for document ops:
- local file — uploaded, then the handle is used
- directory — supported files, one job each (
-j N, default 4) https://...— fetched by the serverndi://upload/<uuid>— a priorndi uploadjobid://<uuid>or a bare UUID — reuse a parse job (not classify)ws://<file_id>— a workspace file (needs a workspace)-— ajobid:/// UUID line, or raw bytes with--file-name
ndi parse a.pdf -o id | ndi extract - -s schema.json
Output
Result content goes to stdout; status (job <id> queued, saved …) goes
to stderr. -o auto|md|json|payload|id picks the shape. --json is an
alias for -o json. --save PATH / --out-dir DIR write files. --async
submits and prints the job id.
API failures exit 1. Usage / config errors exit 2. Schema-validation failures also show up to five field constraints, each limited to 500 characters; request input and unrelated error-detail fields are omitted.
See SKILL.md for the agent-facing guide to the six workspace tools.
Metadata
Release files for ndi-cli 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ndi_cli-0.4.0.tar.gz | 30.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ndi_cli-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 67.7 kB
Release files / ndi_cli-0.4.0.tar.gz
| Download URL | ndi_cli-0.4.0.tar.gz |
|---|---|
| Size | 30.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
154140795df902dc2baf82a1a5ed647da2e4d265a379c82367e51656748d8944
|
|
BLAKE2b-256 checksum How to use checksums |
88408c763a30785168b72a31cbb9563dbfda938f5fa2d2b3c9b89b5c86471542
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / ndi_cli-0.4.0-py3-none-any.whl
| Download URL | ndi_cli-0.4.0-py3-none-any.whl |
|---|---|
| Size | 37.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ae1d81b5a17587c95660a08db122c6a7fb1c975dd9e572d6eb6f9d41a0272ee
|
|
BLAKE2b-256 checksum How to use checksums |
3926fd18c470c66ce55f8f2e4117f0643a83ed44f4c7544e8032ba8d6d975464
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency log