Full-screen live sports scoreboard tracking NBA, MLB, and Soccer games
Project description
Game Day Dashboard
Your personal sports command center. Track every live game across NBA, MLB, and Soccer on a single screen with real-time scores and play-by-play.
The Problem
You're hosting a watch party. Three NBA games, a Champions League match, and spring training all happening at once. You're flipping between apps, refreshing browser tabs, and still missing key plays. You need one screen that shows everything.
The Solution
Game Day Dashboard is a terminal-based live scoreboard that fits on any display — from a laptop to a bar TV. It auto-detects today's games, tracks all of them simultaneously, and streams play-by-play as it happens.
+----------------------------------------------+
| GAME DAY DASHBOARD |
| Feb 18, 2026 — 8 games live |
+----------------------------------------------+
| |
| NBA |
| ┌──────────────────────────────────────┐ |
| │ LAL 87 - 82 BOS Q3 4:32 │ |
| │ > LeBron James 3-pointer (27 pts) │ |
| ├──────────────────────────────────────┤ |
| │ MIA 64 - 71 GSW Q2 1:15 │ |
| │ > Curry pull-up jumper (18 pts) │ |
| └──────────────────────────────────────┘ |
| |
| SOCCER |
| ┌──────────────────────────────────────┐ |
| │ Arsenal 2 - 1 Bayern 67' │ |
| │ > GOAL! Saka (Arsenal) 65' │ |
| └──────────────────────────────────────┘ |
| |
| MLB (Spring Training) |
| ┌──────────────────────────────────────┐ |
| │ NYY 3 - 1 BOS Top 5th, 1 out │ |
| │ > Judge singles to right field │ |
| └──────────────────────────────────────┘ |
+----------------------------------------------+
Features
- Multi-sport, multi-game — NBA, MLB, and Soccer on one screen
- Real-time updates — Scores refresh every 10 seconds
- Play-by-play feed — Key moments appear as they happen
- Zero duplicates — Cursor-based polling ensures no repeated events
- Terminal-native — Works over SSH, on any screen, no browser needed
- Low bandwidth — Only fetches new events, not full game state
Quick Start
1. Install dependencies
pip install rich requests
2. Set your API key
Requires a Shipp.ai API key for real-time scores -- get 5,000 free credits/day at platform.shipp.ai.
export SHIPP_API_KEY="your-api-key-here"
3. Run the dashboard
python scripts/dashboard.py
Optional flags
# Filter to specific sports
python scripts/dashboard.py --sports nba,soccer
# Adjust refresh interval (seconds)
python scripts/dashboard.py --interval 15
# Show only live games (hide scheduled/final)
python scripts/dashboard.py --live-only
How It Works
- On launch, the dashboard queries today's schedule for NBA, MLB, and Soccer
- For each sport with active games, it creates a persistent data connection
- Every 10 seconds (configurable), it polls each connection for new events
- New scores and plays are rendered into the terminal grid
- Finished games are marked FINAL; upcoming games show start times
Requirements
| Dependency | Version | Purpose |
|---|---|---|
| Python | 3.9+ | Runtime |
| rich | 13.0+ | Terminal UI rendering |
| requests | 2.28+ | HTTP client |
Configuration
| Environment Variable | Required | Description |
|---|---|---|
SHIPP_API_KEY |
Yes | API key for real-time sports data |
Troubleshooting
| Issue | Fix |
|---|---|
| "No games found" | Check that games are scheduled for today in your timezone |
| "Connection failed" | Verify your API key is set and valid |
| Scores not updating | Check your internet connection; the dashboard retries automatically |
| Display too wide | Shrink terminal font or maximize the window |
License
MIT
Powered by Shipp.ai real-time sports data
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 shipp_dashboard-0.1.0.tar.gz.
File metadata
- Download URL: shipp_dashboard-0.1.0.tar.gz
- Upload date:
- Size: 44.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b707f32bd805fb7a1e6849e941f3b5fb17c28f6608b2e1b8b4f7413ed2e6bee
|
|
| MD5 |
ac7e94357730941159d5138bfcce020e
|
|
| BLAKE2b-256 |
bb70324a39f7318e55e31b7f037aa997cb4212dae9bdc0af54d2dc01854c726d
|
File details
Details for the file shipp_dashboard-0.1.0-py3-none-any.whl.
File metadata
- Download URL: shipp_dashboard-0.1.0-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc59529421ebe807340bc3dc6a68b9c998503aa974eb4081b5bee8d5b2cfb2e9
|
|
| MD5 |
17e49d7ad400e986012fa0d01dddd0b9
|
|
| BLAKE2b-256 |
9267fc567b2d7378efcd8c3154c81c29a50f4a75fcb75a8a01b2e8bcf5377168
|