CLI for the Adanos Market Sentiment API
Project description
adanos-cli
adanos-cli is the command-line client for the Adanos Market Sentiment API.
It is built for three use cases:
- traders who want fast stock and crypto sentiment reports
- analysts who want repeatable CLI workflows
- agents and automation that need stable JSON output
The CLI is versioned independently from the API backend. It targets the public API at https://api.adanos.org/docs and uses the published Python SDK under the hood.
Install
Recommended
pipx install adanos-cli
cURL
curl -fsSL https://raw.githubusercontent.com/adanos-software/adanos-cli/main/install.sh | bash
The shell installer downloads the latest standalone binary for:
- macOS arm64
- macOS x86_64
- Linux x86_64
By default it installs to ~/.local/bin. Override with ADANOS_INSTALL_DIR=/your/path.
Homebrew (macOS / Linux)
brew install adanos-software/tap/adanos-cli
PowerShell (Windows)
irm https://raw.githubusercontent.com/adanos-software/adanos-cli/main/install.ps1 | iex
Plain pip
python3 -m pip install adanos-cli
From source
git clone https://github.com/adanos-software/adanos-cli.git
cd adanos-cli
python3 -m pip install -e ".[dev]"
Quick Start
If you already have an API key:
adanos login --api-key sk_live_xxx
adanos whoami
adanos doctor
First market checks:
adanos consensus TSLA
adanos explain TSLA --profile investor
adanos scan --asset stocks --style daytrader --top 10
Crypto:
adanos crypto BTC
adanos crypto BTC/ETH
Start Modes
adanos shows a compact start screen with the CLI header and next actions.
adanos
Explicit interactive shell:
adanos shell
One-shot command mode:
adanos stock NVDA
Authentication
Persist a key locally:
adanos login --api-key sk_live_xxx
printf '%s\n' "$ADANOS_API_KEY" | adanos login --api-key-stdin
adanos login --api-key-file ~/.config/adanos-cli/key.txt
Request a recovery email for an existing account:
adanos onboard recover --email you@example.com
Start a new signup from the CLI:
adanos onboard register --name "Jane Doe" --email "jane@example.com" --purpose "Trading research"
# then redeem the one-time token from the verification email
adanos onboard redeem --token kt_xxx --save
Use profiles:
adanos auth login --api-key sk_live_prod --profile prod
adanos auth login --api-key sk_live_staging --profile staging
adanos auth switch prod
adanos auth current --json
Priority order:
--api-keyADANOS_API_KEY- stored credentials in the active profile
Recommended secret input for automation is --api-key-stdin or --api-key-file. --api-key and ADANOS_API_KEY remain supported, but they are easier to leak through shell history or process inspection.
Use --no-input in CI or agents to make missing prompts fail fast:
adanos --no-input login --api-key-stdin
Common Workflows
Stock report:
adanos stock TSLA
Cross-platform consensus:
adanos consensus TSLA
Narrative explanation:
adanos explain TSLA --profile investor
Watchlists:
adanos watchlist add core --asset stocks --symbols TSLA,NVDA,AAPL
adanos watchlist report core --asset stocks
adanos watch core --kind watchlist --asset stocks --refresh 60 --iterations 1
Raw endpoint access:
adanos endpoint list
adanos endpoint list --platform polymarket-stocks
adanos endpoint list --search mentions
adanos endpoint call root.health
adanos endpoint call reddit-stocks.trending --limit 10
adanos endpoint call reddit-stocks.market-sentiment --from 2026-05-01 --to 2026-05-07
adanos endpoint call reddit-stocks.stock.mentions --ticker TSLA --from 2026-05-01 --to 2026-05-07 --limit 10 --offset 10 --include-inherited
adanos endpoint call x-stocks.stock.explain --ticker TSLA
adanos endpoint call sentiment.analyze --text "TSLA looks like a short squeeze setup"
Polymarket endpoint output includes both market_count for selected-window breadth and current_market_count for live-only active-market breadth.
For API 1.45.1+, Polymarket top_mentions in stock detail output are representative sentiment evidence, not a liquidity leaderboard. When market status is available, the CLI shows market_status alongside the evidence. For API 1.46.0+, human summaries prefer daily_trend[].bullish_pct and daily_trend[].bearish_pct over deprecated positive/negative/neutral count fields.
Period-capable commands and endpoint calls accept --from YYYY-MM-DD and --to YYYY-MM-DD as inclusive UTC date windows. --days N remains available for v1 compatibility, but is legacy; combining --from, --to and --days returns API validation error 422. Search commands are the exception: they accept only --limit and use the API-managed recent summary window.
AI / Automation
The CLI supports explicit machine-readable output via --output json or --quiet.
adanos --quiet capabilities
adanos --quiet whoami
adanos --quiet doctor
adanos --quiet ask "How does TSLA look?"
adanos --quiet endpoint call news-stocks.trending --limit 3
Output modes:
- default auto: human text on a TTY, JSON when stdout is piped
--output text: force human text, even when stdout is redirected--plain: force plain text and disable auto JSON--output json,--json, or--quiet: force JSON--no-color: disable ANSI color output;NO_COLOR=1is also honored
JSON conventions:
- object payloads include a stable
kind - command wrappers include
command, andsubcommandwhen relevant - endpoint-backed payloads include
platform,route,endpoint,path, anddata - raw endpoint payloads are available with
--json/--output json; human mode prints compact tables or summaries
Exit codes:
0: success1: runtime or network/API failure2: usage, auth, or missing configuration error
This CLI is a research and workflow tool, not investment advice.
Diagnostics
Identity and runtime context:
adanos whoami
Problem-focused self-check:
adanos doctor
adanos doctor --verbose
Releases
Tagged releases build standalone archives for:
- macOS arm64
- macOS x86_64
- Linux x86_64
The repo also generates a Homebrew formula artifact for each tagged binary release and can publish it to adanos-software/homebrew-tap when HOMEBREW_TAP_TOKEN is configured.
PyPI publishing also happens from this repo, not from the API monorepo.
Development
Install the repo in editable mode:
python3 -m pip install -e ".[dev]"
Run tests:
python3 -m pytest tests -q
Build wheel and sdist:
python3 -m build
Build a standalone binary archive locally:
python3 scripts/build_cli_binary.py --output-dir dist-binaries
Generate a Homebrew formula:
VERSION=$(python3 - <<'PY'
import re
from pathlib import Path
text = Path("src/adanos_cli/__init__.py").read_text(encoding="utf-8")
print(re.search(r'__version__\s*=\s*"([^"]+)"', text).group(1))
PY
)
python3 scripts/generate_homebrew_formula.py \
--version "$VERSION" \
--darwin-arm64-url "https://example.com/adanos-cli-${VERSION}-darwin-arm64.tar.gz" \
--darwin-arm64-sha256 <sha256> \
--darwin-x86_64-url "https://example.com/adanos-cli-${VERSION}-darwin-x86_64.tar.gz" \
--darwin-x86_64-sha256 <sha256> \
--linux-x86_64-url "https://example.com/adanos-cli-${VERSION}-linux-x86_64.tar.gz" \
--linux-x86_64-sha256 <sha256> \
--output dist/homebrew/adanos-cli.rb
License
MIT
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 adanos_cli-1.31.0.tar.gz.
File metadata
- Download URL: adanos_cli-1.31.0.tar.gz
- Upload date:
- Size: 86.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e78a32054cdd87c87748173cd37d744ee78dd61caf676cb900be0d426afdd0ac
|
|
| MD5 |
e56050d633adf4e26c12533e224beb69
|
|
| BLAKE2b-256 |
7468853890365a9048fcfed9949400e1f8308279e79dabb4f30ee3e19bb7c70e
|
Provenance
The following attestation bundles were made for adanos_cli-1.31.0.tar.gz:
Publisher:
publish-pypi.yml on adanos-software/adanos-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adanos_cli-1.31.0.tar.gz -
Subject digest:
e78a32054cdd87c87748173cd37d744ee78dd61caf676cb900be0d426afdd0ac - Sigstore transparency entry: 2057185516
- Sigstore integration time:
-
Permalink:
adanos-software/adanos-cli@553004bff076f59dd2468f9b07c30f87feb00d07 -
Branch / Tag:
refs/tags/v1.31.0 - Owner: https://github.com/adanos-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@553004bff076f59dd2468f9b07c30f87feb00d07 -
Trigger Event:
release
-
Statement type:
File details
Details for the file adanos_cli-1.31.0-py3-none-any.whl.
File metadata
- Download URL: adanos_cli-1.31.0-py3-none-any.whl
- Upload date:
- Size: 64.1 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 |
cc10019a67a997129b33b450d0aabf312fedf14c9919feb988f188de8934def0
|
|
| MD5 |
26ccb75e6dcd88246ce480e62c358559
|
|
| BLAKE2b-256 |
f2e8250ccf827a7d253b968b3ea84b223b2b84111816f9acd789a360fcb5d552
|
Provenance
The following attestation bundles were made for adanos_cli-1.31.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on adanos-software/adanos-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adanos_cli-1.31.0-py3-none-any.whl -
Subject digest:
cc10019a67a997129b33b450d0aabf312fedf14c9919feb988f188de8934def0 - Sigstore transparency entry: 2057185675
- Sigstore integration time:
-
Permalink:
adanos-software/adanos-cli@553004bff076f59dd2468f9b07c30f87feb00d07 -
Branch / Tag:
refs/tags/v1.31.0 - Owner: https://github.com/adanos-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@553004bff076f59dd2468f9b07c30f87feb00d07 -
Trigger Event:
release
-
Statement type: