Read-only CLI for a research data API (wiki, graph, memos, raw, coverage, eval). Self-documenting; an agent can drive it without a skill.
Project description
data-cli
Read-only CLI for a research data API. Gives an agent (or you) access to every research surface — wiki, knowledge graph, memos, raw primary-source files, coverage, and eval — through one self-documenting tool.
It is read-only: the key it uses can only GET. It can never trigger a research run, refetch, or any write.
This tool talks to a private data API. You need two values, provided to you separately: the API base URL and a read-only key. Without both, the tool does nothing.
Install
pip install cpe-data-cli
# or, isolated:
pipx install cpe-data-cli
Upgrade
pip install --upgrade cpe-data-cli
# or, with pipx:
pipx upgrade cpe-data-cli
Configure
export CPE_API_BASE=<base url you were given>
export CPE_API_KEY=<read-only key you were given>
data-cli auth check # verify base + key + connectivity
Both are required. The tool makes no network call until both are set.
Version & completion
data-cli --version # or -V
data-cli --install-completion # install shell completion (bash/zsh/fish)
Use
Start with orientation, then drill in. Every command prints the next commands to run, so you can navigate without memorizing anything.
data-cli ticker NVDA # what exists for a ticker + next steps
data-cli coverage NVDA # trust layer: how complete is the data
data-cli eval NVDA # trust layer: quality + contradictions
data-cli memo get NVDA # full verified dossier (markdown)
data-cli memo list NVDA # list memos for a ticker (run ids)
data-cli wiki get NVDA # synthesized company page (markdown)
data-cli wiki list # all covered companies
data-cli raw NVDA # list primary-source files
data-cli raw NVDA source_map.json # provenance map: read FIRST to find Tier-1 files
data-cli graph ticker NVDA # cross-ticker links
data-cli graph search "TSMC" # find nodes by NAME (companies/people, not concepts)
data-cli graph all # the full knowledge graph
data-cli guide # this workflow, any time
Recommended flow for researching a ticker: ticker → coverage → eval →
memo get → raw <file>. Check coverage and eval before trusting figures.
Output
- Markdown-native surfaces (
wiki,memo, raw.md) print markdown by default.coverageandevalprint a human-readable summary by default (the trust layer, scannable at a glance); add--jsonfor the full payload. Other structured surfaces (ticker,graph, lists) print JSON. --jsonon any data command for structured output (with_nextbreadcrumbs in the body).-o FILEwrites the content to a file (confirmation goes to stderr). Plain> file.mdworks too — diagnostics and breadcrumbs go to stderr, so a redirected or-ofile holds only clean content. (auth checkandguideare diagnostics and ignore-o.)
For AI agents
This tool ships with an agent skill that teaches the right way to drive it (which surface answers which question, how to read the trust layer in both directions, and the common pitfalls):
data-cli skill # print the skill
data-cli skill --path # print its path — point your agent's skills dir at it
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cpe_data_cli-0.3.1.tar.gz.
File metadata
- Download URL: cpe_data_cli-0.3.1.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d46958a61d8c69f5e335da4b9c97cd213140479b847743ebf2184a9f42b44d31
|
|
| MD5 |
27e7321861996e3979f9352815c1db67
|
|
| BLAKE2b-256 |
98198c551ea76656d05d5853c921c9c9908a95d8e9d7713a146d572aab5725cd
|
Provenance
The following attestation bundles were made for cpe_data_cli-0.3.1.tar.gz:
Publisher:
publish.yml on cpe-research/data-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cpe_data_cli-0.3.1.tar.gz -
Subject digest:
d46958a61d8c69f5e335da4b9c97cd213140479b847743ebf2184a9f42b44d31 - Sigstore transparency entry: 1820151163
- Sigstore integration time:
-
Permalink:
cpe-research/data-cli@e039deea5597dd3d04bf29812217a7dfeb921720 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cpe-research
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e039deea5597dd3d04bf29812217a7dfeb921720 -
Trigger Event:
push
-
Statement type:
File details
Details for the file cpe_data_cli-0.3.1-py3-none-any.whl.
File metadata
- Download URL: cpe_data_cli-0.3.1-py3-none-any.whl
- Upload date:
- Size: 22.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66e484a95c724363140aa28cd0e8a081c9e854567b45654568b74adbf0965a65
|
|
| MD5 |
0a9b2694f41f769ea4b9c3c9208c4fc9
|
|
| BLAKE2b-256 |
b6f9d4edc9e4573fb3253c52ebf52e243f9b386db8a33aaea12506285ea35dbd
|
Provenance
The following attestation bundles were made for cpe_data_cli-0.3.1-py3-none-any.whl:
Publisher:
publish.yml on cpe-research/data-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cpe_data_cli-0.3.1-py3-none-any.whl -
Subject digest:
66e484a95c724363140aa28cd0e8a081c9e854567b45654568b74adbf0965a65 - Sigstore transparency entry: 1820151178
- Sigstore integration time:
-
Permalink:
cpe-research/data-cli@e039deea5597dd3d04bf29812217a7dfeb921720 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cpe-research
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e039deea5597dd3d04bf29812217a7dfeb921720 -
Trigger Event:
push
-
Statement type: