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 supports API 1.54.0 at https://api.adanos.com/docs and uses the published Python SDK under the hood.
The default API host is https://api.adanos.com. Explicit .org or custom base URLs in saved settings, ADANOS_BASE_URL, or --base-url still take precedence.
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 # paste the key at the hidden prompt
adanos whoami
adanos doctor
First market checks:
adanos stock TSLA
adanos compare NVDA TSLA AAPL
adanos trending stocks --limit 5
adanos consensus TSLA
adanos explain TSLA --profile investor
adanos scan 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
The shell prompt shows the latest monthly API request balance. Run /quota to
refresh it on demand; normal commands do not spend an extra request on quota
lookups.
One-shot command mode:
adanos stock NVDA
Authentication
Persist a key locally:
adanos login # interactive hidden prompt
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 --save # paste the one-time code at the hidden prompt
Use profiles:
adanos auth login --profile prod
adanos auth login --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
Compare stocks across News, Reddit, X/Twitter, and Polymarket:
adanos compare NVDA TSLA AAPL
Common crypto symbols are detected automatically:
adanos compare BTC ETH
Search and trending use all relevant sources by default. Add --platform only when you want one source:
adanos search Tesla
adanos trending stocks --limit 5
adanos trending crypto --limit 10
adanos search Tesla --platform news-stocks
Sentiment screener:
adanos scan stocks --style daytrader --top 10
adanos scan crypto --min-buzz 60 --min-volume 50
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
Destructive local operations prompt in an interactive terminal and require --force in scripts or JSON mode:
adanos auth logout --profile staging --force
adanos watchlist delete core --force
adanos config clear --force
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"
adanos endpoint call sentiment.analyze --text "Apple beats estimates while Tesla falls" --target Apple
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.
Polymarket unique_traders can be null when retained wallet-level trades do not fully cover the requested window. Across platforms, each trend_history value represents its own UTC calendar day; the current partial day's value is not expected to equal the top-level period buzz_score.
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.
Uninstall
Use the matching installer:
pipx uninstall adanos-cli
brew uninstall adanos-cli
python3 -m pip uninstall adanos-cli
For the standalone installer, remove ~/.local/bin/adanos. Local profiles and watchlists remain under ${XDG_CONFIG_HOME:-~/.config}/adanos-cli until you explicitly remove them.
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
Metadata
Release files for adanos-cli 1.34.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 | Provenance | |
|---|---|---|---|---|
| adanos_cli-1.34.0.tar.gz | 100.0 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adanos_cli-1.34.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 171.4 kB
Release files / adanos_cli-1.34.0.tar.gz
| Download URL | adanos_cli-1.34.0.tar.gz |
|---|---|
| Size | 100.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5aae336ba001d07f84e2b2ba04ffbfc955c3514c69d9d9d4913ba4b2ef91483e
|
|
BLAKE2b-256 checksum How to use checksums |
cd6fccc814d68a4ef63833f4c9b4a21ef4150aee3824570ea85de30fd82497ae
|
| 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 Oct 13, 2026.
Transparency logRelease files / adanos_cli-1.34.0-py3-none-any.whl
| Download URL | adanos_cli-1.34.0-py3-none-any.whl |
|---|---|
| Size | 71.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
48bea6dcfab98fe5a15fff1e0c8b8cb8571daff3efa65d3b221f66cc922e35fb
|
|
BLAKE2b-256 checksum How to use checksums |
9447a540c53f75a4d0c4e550549bbb75bb6af3e03335a35296df924721cef0ea
|
| 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 Oct 13, 2026.
Transparency logSecurity for adanos-cli 1.34.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for adanos_cli-1.34.0.tar.gz
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 Oct 13, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.