defeat-beta/defeatbeta-terminal

A Bloomberg-style TUI for stock analysis, powered by defeatbeta-api

TypeScript

10

31 commits

updated Jul 29, 2026

See the code

README

Defeat Beta

Defeat Beta Terminal

Release Downloads macOS Linux Python

A Bloomberg-style terminal in your terminal — a TUI client for stock analysis, powered by defeatbeta-api.


Screenshot

overview


What's inside

Ten tabs, each Bloomberg-coded:

#TabWhat it showsHighlights
1OverviewPrice line + volume panel, MA10/50/200, earnings ▼ / dividends $ / split ⇅ markersRendered by matplotlib → piped into the terminal as an iTerm2 inline image; ↑↓ adjusts range, ←→ pans
2ProfileCompany description, address, key executivesBloomberg DES-style
3FinancialsIncome Statement / Balance Sheet / Cash Flow with hierarchy + YoYs switches statement, p flips quarterly/annual
4ValuationP/E (TTM), P/S, P/B, PEG, EV/EBITDA, EV/Revenue + industry overlaysClick into a row → inline chart (multiples vs industry)
5GrowthYoY growth for Revenue / OpInc / EBITDA / Net Income / FCF / EPSQuarterly/Annual toggle, click a row → chart
6ProfitabilityGross / Operating / EBITDA / Net / FCF margins, with industry comparisonBar chart per metric
7DCFEditable 3-stage DCF (growth, discount rate, terminal)Tab cycles between editable cells, Enter to edit, formula bar at the bottom
8NewsEarnings-call transcripts (lazy-loaded paragraphs) + financial news cards (paginated, lazy-loaded summaries)Tab toggles sub-mode; ⏎ enters reading mode; URLs are clickable in supporting terminals
9SEC FilingsEDGAR submissions card list, filtered by importanceTab toggles Important (10-K/10-Q/8-K/DEF 14A/etc.) ↔ All forms; ⏎ opens EDGAR in browser
0BreakdownRevenue breakdown tables from SEC XBRL filingsTwo-panel: left lists breakdown types, right shows the table; f cycles form type (10-Q/10-K), p cycles period duration; tree-structured items with YoY

Global keys: 0-9 switch tabs, / or : triggers ticker search, q quits.

Per-tab screenshots

1. Overview

Overview

2. Profile

Profile

3. Financials

Financials

4. Valuation

Valuation

5. Growth

Growth

6. Profitability

Profitability

7. DCF

DCF

8. News

News

9. SEC Filings

SEC Filings

0. Breakdown

Breakdown


Quick start

Prerequisites

  • uv (Python package manager)
  • Python 3.11+
  • Terminal that supports iTerm2 inline images for the price chart on the Overview tab (iTerm2, WezTerm, kitty all work). Other tabs work in any terminal.
  • Optional: an HTTP proxy if huggingface.co (the data host) isn't directly reachable from your network.

Install uv

macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Or with Homebrew:

brew install uv

Install defeatbeta-terminal

curl -fsSL https://raw.githubusercontent.com/defeat-beta/defeatbeta-terminal/main/install.sh | bash

Start the terminal:

defeatbeta

Then press / to search a ticker (for example AAPL, NVDA, or TSLA), 0-9 to switch tabs, and q to quit.

If your network needs a proxy to reach Hugging Face, start it with HTTP_PROXY:

HTTP_PROXY="http://127.0.0.1:8118" defeatbeta

Update defeatbeta-terminal

Run the installer again:

curl -fsSL https://raw.githubusercontent.com/defeat-beta/defeatbeta-terminal/main/install.sh | bash

Contributing

Contributions welcome — issues, PRs, and ideas. See CONTRIBUTING.md (coming soon) for the workflow. Quick pointers in the meantime:

  • The fastest way to find work is the good first issue label.
  • Each tab is a self-contained component; pick one and improve it.
  • Bug reports: please include your terminal, OS, ticker, and a screenshot.

Credits

  • Data: defeatbeta-api — column-pruned, lazy-loaded reads of the Yahoo Finance + SEC EDGAR mirror hosted on Hugging Face Datasets.
  • Rendering: OpenTUI — the modern TUI framework that makes box-/flex-style layout actually pleasant in a terminal.
  • Reactivity: Solid.js — fine-grained reactivity, React-flavored DSL.
  • Inspiration: Bloomberg Terminal's keyboard-first information density.

License

Apache License 2.0 — see LICENSE.

bloomberg
bloomberg-api
bloomberg-data
bloomberg-terminal
bun
defeatbeta-api
finance
solidjs
stock-analysis
terminal
tui

Contributors

zxh2010

31 commits

defeat-beta/defeatbeta-terminal

A Bloomberg-style TUI for stock analysis, powered by defeatbeta-api

TypeScript

10

31 commits

updated Jul 29, 2026

See the code

README

Defeat Beta

Defeat Beta Terminal

Release Downloads macOS Linux Python

A Bloomberg-style terminal in your terminal — a TUI client for stock analysis, powered by defeatbeta-api.


Screenshot

overview


What's inside

Ten tabs, each Bloomberg-coded:

#TabWhat it showsHighlights
1OverviewPrice line + volume panel, MA10/50/200, earnings ▼ / dividends $ / split ⇅ markersRendered by matplotlib → piped into the terminal as an iTerm2 inline image; ↑↓ adjusts range, ←→ pans
2ProfileCompany description, address, key executivesBloomberg DES-style
3FinancialsIncome Statement / Balance Sheet / Cash Flow with hierarchy + YoYs switches statement, p flips quarterly/annual
4ValuationP/E (TTM), P/S, P/B, PEG, EV/EBITDA, EV/Revenue + industry overlaysClick into a row → inline chart (multiples vs industry)
5GrowthYoY growth for Revenue / OpInc / EBITDA / Net Income / FCF / EPSQuarterly/Annual toggle, click a row → chart
6ProfitabilityGross / Operating / EBITDA / Net / FCF margins, with industry comparisonBar chart per metric
7DCFEditable 3-stage DCF (growth, discount rate, terminal)Tab cycles between editable cells, Enter to edit, formula bar at the bottom
8NewsEarnings-call transcripts (lazy-loaded paragraphs) + financial news cards (paginated, lazy-loaded summaries)Tab toggles sub-mode; ⏎ enters reading mode; URLs are clickable in supporting terminals
9SEC FilingsEDGAR submissions card list, filtered by importanceTab toggles Important (10-K/10-Q/8-K/DEF 14A/etc.) ↔ All forms; ⏎ opens EDGAR in browser
0BreakdownRevenue breakdown tables from SEC XBRL filingsTwo-panel: left lists breakdown types, right shows the table; f cycles form type (10-Q/10-K), p cycles period duration; tree-structured items with YoY

Global keys: 0-9 switch tabs, / or : triggers ticker search, q quits.

Per-tab screenshots

1. Overview

Overview

2. Profile

Profile

3. Financials

Financials

4. Valuation

Valuation

5. Growth

Growth

6. Profitability

Profitability

7. DCF

DCF

8. News

News

9. SEC Filings

SEC Filings

0. Breakdown

Breakdown


Quick start

Prerequisites

  • uv (Python package manager)
  • Python 3.11+
  • Terminal that supports iTerm2 inline images for the price chart on the Overview tab (iTerm2, WezTerm, kitty all work). Other tabs work in any terminal.
  • Optional: an HTTP proxy if huggingface.co (the data host) isn't directly reachable from your network.

Install uv

macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Or with Homebrew:

brew install uv

Install defeatbeta-terminal

curl -fsSL https://raw.githubusercontent.com/defeat-beta/defeatbeta-terminal/main/install.sh | bash

Start the terminal:

defeatbeta

Then press / to search a ticker (for example AAPL, NVDA, or TSLA), 0-9 to switch tabs, and q to quit.

If your network needs a proxy to reach Hugging Face, start it with HTTP_PROXY:

HTTP_PROXY="http://127.0.0.1:8118" defeatbeta

Update defeatbeta-terminal

Run the installer again:

curl -fsSL https://raw.githubusercontent.com/defeat-beta/defeatbeta-terminal/main/install.sh | bash

Contributing

Contributions welcome — issues, PRs, and ideas. See CONTRIBUTING.md (coming soon) for the workflow. Quick pointers in the meantime:

  • The fastest way to find work is the good first issue label.
  • Each tab is a self-contained component; pick one and improve it.
  • Bug reports: please include your terminal, OS, ticker, and a screenshot.

Credits

  • Data: defeatbeta-api — column-pruned, lazy-loaded reads of the Yahoo Finance + SEC EDGAR mirror hosted on Hugging Face Datasets.
  • Rendering: OpenTUI — the modern TUI framework that makes box-/flex-style layout actually pleasant in a terminal.
  • Reactivity: Solid.js — fine-grained reactivity, React-flavored DSL.
  • Inspiration: Bloomberg Terminal's keyboard-first information density.

License

Apache License 2.0 — see LICENSE.

bloomberg
bloomberg-api
bloomberg-data
bloomberg-terminal
bun
defeatbeta-api
finance
solidjs
stock-analysis
terminal
tui

Contributors

zxh2010

31 commits

Languages

TypeScript

84.1%

Python

13.4%

Shell

2.4%