Name | scorebug JSON |
Version |
0.3.0
JSON |
| download |
home_page | None |
Summary | Follow any MLB game in your shell |
upload_time | 2025-09-07 18:37:34 |
maintainer | None |
docs_url | None |
author | Matt Stiles |
requires_python | >=3.9 |
license | MIT |
keywords |
baseball
cli
live
mlb
sports
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
## Scorebug
Follow your favorite MLB teams with live play-by-play in the terminal.

## Example Output
```
⚾ Game On! ⚾
Teams: Los Angeles Dodgers at Baltimore Orioles
Pitchers: Clayton Kershaw vs. Tomoyuki Sugano
📍 Oriole Park at Camden Yards
🕐 Sun 10:35 AM PDT
▲1 Shohei Ohtani homers (47) on a fly ball to center field. (1 RBI) (1-0) ○○○
▲1 Mookie Betts strikes out swinging. (3-3) ○○○
────────────────────────────────────────────────
🏟️ ▲ Top 1
⚾ LAD 1 (H: 1 E:0)
⚾ BAL 0 (H: 0 E:0)
```
## Install
- From PyPI
```bash
pip install scorebug
```
- Local checkout (editable)
- Clone this repo
- pip install -e .
Requires Python 3.9+.
## Usage
- Positional team or prompt
```bash
scorebug dodgers
# or just run `scorebug` and enter a team when prompted
```
- Specific game by gamePk
```bash
scorebug --gamepk 716910
```
- Show every pitch and start from the first at-bat
```bash
scorebug yankees --pitches --from-start
```
## What it does
- Finds today's game for a team (or uses --gamepk)
- Streams new at-bats and optionally every pitch
- Prints a compact scoreboard on change or inning transitions
- Highlights scoring plays
- If no game is live, prints the last final and the next scheduled game
## Outputs
- Uses team abbreviations in the scoreboard
- Shows ▲ for top and ▼ for bottom of the inning
- Reprints a play if its description updates
- Prints the scoreboard at start of halves and on End/Middle of innings
- Prints an inning banner on half-inning transitions for readability
- Colors: cyan for away, magenta for home, green for scoring plays
- Disable color with --no-color
- Includes ball-strike count and approximate pitch count per at-bat
- Shows base runners when available (◉ occupied, ○ empty)
- Pre-game shows probable pitchers and local start time
- If a team has multiple games today, you can select which one to follow
## CLI reference
- team: team id, abbr, or name (e.g., 119, LAD, Dodgers)
- `--team`: same as positional team
- `--date YYYY-MM-DD`: date to search (default: today in Los Angeles)
- `--gamepk`: MLB gamePk to stream directly
- `--interval`: poll seconds (default 2.5)
- `--pitches`: print each pitch
- `--from-start`: print all prior at-bats on first fetch
- `--no-color`: disable ANSI color
- `--scoring-only`: only print scoring plays and inning transitions
- `--opponent TEAM`: disambiguate doubleheaders by opponent (id, abbr, or name)
- `--log FILE`: append the live stream to a file
- `--dump FILE`: write full game log for the selected game and exit
- `--tz ZONE`: override local timezone (e.g., America/New_York)
- `--line-score`: print inning-by-inning linescore under the scoreboard
- `--box-interval N`: every N minutes, reprint the scoreboard even if unchanged
- `--quiet`: only scoreboard and inning banners
- `--verbose`: extra details (pitches and runners)
## Notes
- Data comes from MLB StatsAPI schedule and the v1.1 live feed
- Uses If-None-Match to avoid reprinting unchanged states
- Team IDs are cached in `~/.scorebug/teams-<season>.json` to reduce API calls
## Config (optional)
Create `~/.scorebug/config.toml` to set defaults:
```toml
team = "Dodgers" # default team
tz = "America/Los_Angeles" # IANA timezone
interval = 2.5 # poll seconds
no_color = false # disable ANSI color
line_score = true # show inning-by-inning line score
box_interval = 5 # minutes between forced scoreboard prints
```
Raw data
{
"_id": null,
"home_page": null,
"name": "scorebug",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "baseball, cli, live, mlb, sports",
"author": "Matt Stiles",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/39/38/828215d5b8edcc3afbc31b2113daf9dc81816b7ab10a5315c81d89e35888/scorebug-0.3.0.tar.gz",
"platform": null,
"description": "## Scorebug\n\nFollow your favorite MLB teams with live play-by-play in the terminal. \n\n\n\n## Example Output\n\n```\n\u26be Game On! \u26be\nTeams: Los Angeles Dodgers at Baltimore Orioles \nPitchers: Clayton Kershaw vs. Tomoyuki Sugano\n\ud83d\udccd Oriole Park at Camden Yards\n\ud83d\udd50 Sun 10:35 AM PDT\n\n\u25b21 Shohei Ohtani homers (47) on a fly ball to center field. (1 RBI) (1-0) \u25cb\u25cb\u25cb\n\u25b21 Mookie Betts strikes out swinging. (3-3) \u25cb\u25cb\u25cb\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\ud83c\udfdf\ufe0f \u25b2 Top 1\n \u26be LAD 1 (H: 1 E:0)\n \u26be BAL 0 (H: 0 E:0)\n```\n\n## Install\n\n- From PyPI\n ```bash\n pip install scorebug\n ```\n\n- Local checkout (editable)\n - Clone this repo\n - pip install -e .\n\nRequires Python 3.9+.\n\n## Usage\n\n- Positional team or prompt\n\n```bash\nscorebug dodgers\n# or just run `scorebug` and enter a team when prompted\n```\n\n- Specific game by gamePk\n\n```bash\nscorebug --gamepk 716910\n```\n\n- Show every pitch and start from the first at-bat\n\n```bash\nscorebug yankees --pitches --from-start\n```\n\n## What it does\n\n- Finds today's game for a team (or uses --gamepk)\n- Streams new at-bats and optionally every pitch\n- Prints a compact scoreboard on change or inning transitions\n- Highlights scoring plays\n- If no game is live, prints the last final and the next scheduled game\n\n## Outputs\n\n- Uses team abbreviations in the scoreboard\n- Shows \u25b2 for top and \u25bc for bottom of the inning\n- Reprints a play if its description updates\n- Prints the scoreboard at start of halves and on End/Middle of innings\n- Prints an inning banner on half-inning transitions for readability\n- Colors: cyan for away, magenta for home, green for scoring plays\n- Disable color with --no-color\n- Includes ball-strike count and approximate pitch count per at-bat\n- Shows base runners when available (\u25c9 occupied, \u25cb empty)\n- Pre-game shows probable pitchers and local start time\n- If a team has multiple games today, you can select which one to follow\n\n## CLI reference\n\n- team: team id, abbr, or name (e.g., 119, LAD, Dodgers)\n- `--team`: same as positional team\n- `--date YYYY-MM-DD`: date to search (default: today in Los Angeles)\n- `--gamepk`: MLB gamePk to stream directly\n- `--interval`: poll seconds (default 2.5)\n- `--pitches`: print each pitch\n- `--from-start`: print all prior at-bats on first fetch\n- `--no-color`: disable ANSI color\n- `--scoring-only`: only print scoring plays and inning transitions\n- `--opponent TEAM`: disambiguate doubleheaders by opponent (id, abbr, or name)\n- `--log FILE`: append the live stream to a file\n- `--dump FILE`: write full game log for the selected game and exit\n- `--tz ZONE`: override local timezone (e.g., America/New_York)\n- `--line-score`: print inning-by-inning linescore under the scoreboard\n- `--box-interval N`: every N minutes, reprint the scoreboard even if unchanged\n- `--quiet`: only scoreboard and inning banners\n- `--verbose`: extra details (pitches and runners)\n\n## Notes\n\n- Data comes from MLB StatsAPI schedule and the v1.1 live feed\n- Uses If-None-Match to avoid reprinting unchanged states\n - Team IDs are cached in `~/.scorebug/teams-<season>.json` to reduce API calls\n\n## Config (optional)\n\nCreate `~/.scorebug/config.toml` to set defaults:\n\n```toml\nteam = \"Dodgers\" # default team\ntz = \"America/Los_Angeles\" # IANA timezone\ninterval = 2.5 # poll seconds\nno_color = false # disable ANSI color\nline_score = true # show inning-by-inning line score\nbox_interval = 5 # minutes between forced scoreboard prints\n```",
"bugtrack_url": null,
"license": "MIT",
"summary": "Follow any MLB game in your shell",
"version": "0.3.0",
"project_urls": {
"Homepage": "https://github.com/stiles/scorebug",
"Issues": "https://github.com/stiles/scorebug/issues",
"Repository": "https://github.com/stiles/scorebug"
},
"split_keywords": [
"baseball",
" cli",
" live",
" mlb",
" sports"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3451f989f0188eb61e370fb39889ca029f2725d6aec4ef29bccf01b2ad874923",
"md5": "ba59264ee53897f491cfceb9d3d8a548",
"sha256": "3be65346c1fcc1ad60b61236b33cf69d7e65d1f954a9e5692cbb0c39135ccbfa"
},
"downloads": -1,
"filename": "scorebug-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ba59264ee53897f491cfceb9d3d8a548",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 13236,
"upload_time": "2025-09-07T18:37:33",
"upload_time_iso_8601": "2025-09-07T18:37:33.014300Z",
"url": "https://files.pythonhosted.org/packages/34/51/f989f0188eb61e370fb39889ca029f2725d6aec4ef29bccf01b2ad874923/scorebug-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3938828215d5b8edcc3afbc31b2113daf9dc81816b7ab10a5315c81d89e35888",
"md5": "e3e5d40bca15f5c0191785845c1d7e15",
"sha256": "bc1591e9f31e1c66985619d8e9a67e08d983531724a2d076835e76a6bf655806"
},
"downloads": -1,
"filename": "scorebug-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "e3e5d40bca15f5c0191785845c1d7e15",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 408042,
"upload_time": "2025-09-07T18:37:34",
"upload_time_iso_8601": "2025-09-07T18:37:34.216201Z",
"url": "https://files.pythonhosted.org/packages/39/38/828215d5b8edcc3afbc31b2113daf9dc81816b7ab10a5315c81d89e35888/scorebug-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-07 18:37:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "stiles",
"github_project": "scorebug",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "scorebug"
}