Skip to main content

adanos-cli

PyPI version

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  # 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-key
  • ADANOS_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"

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=1 is also honored

JSON conventions:

  • object payloads include a stable kind
  • command wrappers include command, and subcommand when relevant
  • endpoint-backed payloads include platform, route, endpoint, path, and data
  • raw endpoint payloads are available with --json / --output json; human mode prints compact tables or summaries

Exit codes:

  • 0: success
  • 1: runtime or network/API failure
  • 2: 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adanos_cli-1.33.0.tar.gz (98.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adanos_cli-1.33.0-py3-none-any.whl (71.2 kB view details)

Uploaded Python 3

File details

Details for the file adanos_cli-1.33.0.tar.gz.

File metadata

  • Download URL: adanos_cli-1.33.0.tar.gz
  • Upload date:
  • Size: 98.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for adanos_cli-1.33.0.tar.gz
Algorithm Hash digest
SHA256 e880b179150ab4373205e0c003837ec649e1183a7fcd951540c9d0a7c2b198e6
MD5 f8a6b25c509a2ec74f3771221ca268b7
BLAKE2b-256 23ad4e4a79946c286e15cc9ebede582752c14ee9c832ecf685b7b23692fdae0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for adanos_cli-1.33.0.tar.gz:

Publisher: publish-pypi.yml on adanos-software/adanos-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adanos_cli-1.33.0-py3-none-any.whl.

File metadata

  • Download URL: adanos_cli-1.33.0-py3-none-any.whl
  • Upload date:
  • Size: 71.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for adanos_cli-1.33.0-py3-none-any.whl
Algorithm Hash digest
SHA256 60458e6d9c4f1cabff2fc1ea9d385597dfd4dbe2b87ec0384109539fca2e6e7b
MD5 451c7acaa13c4c6cec648807a528eaf6
BLAKE2b-256 ce5d5c03cf211311160a47ea5bc46fb9048811a231a9a8fb5891587ffa0f0bbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for adanos_cli-1.33.0-py3-none-any.whl:

Publisher: publish-pypi.yml on adanos-software/adanos-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.33.0 This release

2 files

1.32.0

2 files

1.31.0

2 files

1.30.0

2 files

1.29.0

2 files

1.28.0

2 files

1.27.2

2 files

1.27.1

2 files

1.27.0

2 files

1.26.0

2 files

1.25.0

2 files

1.24.0

2 files

1.23.0

2 files

1.22.0

2 files

1.21.0

2 files

1.20.5

2 files

1.20.4

2 files

1.20.3

2 files

1.20.2

2 files

1.20.1

2 files

1.20.0

2 files

1.19.1

2 files

1.18.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page