Real-time sports data in your terminal
Project description
sportscli
Real-time sports data in your terminal — no browser, no app, no noise.
sportscli is a lightweight CLI tool that pulls live scores, standings, schedules, and player data directly into your terminal. Whether you want to check the Premier League table mid-debug, glance at a live cricket scorecard without leaving your workflow, or look up a chess player's rating while a build runs — sportscli keeps you in the terminal and out of the browser.
Built on free public APIs with no mandatory setup. Chess works out of the box. Cricket and Football need a one-time free API key that the tool will prompt you for automatically on first use.
Currently supports Chess (Lichess), Cricket (cricketdata.org), and Football (football-data.org), with the architecture designed so adding a new sport is a single self-contained module — no changes to existing code.
Requirements
- Python 3.10+
Installation
pip install sportscli
Works the same on Linux, macOS, and Windows. On Windows, make sure your Python Scripts directory is on your PATH.
Quick Start
sports # Welcome screen with all available commands
sports chess live # Live games on Lichess TV (no API key needed)
sports chess tournaments # Current and upcoming Lichess tournaments
sports cricket live # Live cricket scores (prompts for API key on first run)
sports football standings pl # Premier League table
Configuration
Chess
No API key required — Lichess is fully open.
Cricket
Free API key from cricketdata.org. You will be prompted automatically on first use, or set it manually:
sports config set cricket <your-key>
Football
Free API key from football-data.org. Set it with:
sports config set football <your-key>
Keys are stored in ~/.config/sportscli/config.json.
Commands
Chess (no key required)
sports chess tournaments # Current and upcoming tournaments
sports chess live # Live games by time control on Lichess TV
sports chess broadcasts # Major chess broadcasts and events
sports chess player <username> # Player profile, ratings, and recent games
Cricket
sports cricket live # Live match scores
sports cricket scorecard <match-id> # Detailed scorecard (get ID from 'cricket live')
sports cricket schedule # Upcoming matches
Football
| League code | Competition |
|---|---|
pl |
Premier League |
bl1 |
Bundesliga |
sa |
Serie A |
pd |
La Liga |
fl1 |
Ligue 1 |
ucl |
UEFA Champions League |
ec |
European Championship |
wc |
FIFA World Cup |
sports football live # All currently live matches
sports football standings pl # League table
sports football fixtures ucl # Upcoming fixtures
Config
sports config setup # Interactive wizard for all API keys
sports config set <sport> <key> # Set a single API key
sports config show # Show stored keys (partially masked)
Development Setup
git clone https://github.com/prrockzed/sportscli.git
cd sportscli
pip install -e .
Release Process
# 1. Bump version in pyproject.toml and sportscli/__init__.py
# 2. Clean and rebuild
rm -rf dist build *.egg-info
python -m build
# 3. Upload to PyPI
twine upload dist/*
PyPI does not allow re-uploading the same version — always bump before building.
Adding a New Sport
mkdir sportscli/sports/<sport>- Create
__init__.py,client.py,display.py,app.pyfollowing the existing pattern - In
cli.py:app.add_typer(<sport>_app, name="<sport>", help="...") - Done — no changes to any other existing file
License
MIT
Project details
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 sportscli-0.3.0.tar.gz.
File metadata
- Download URL: sportscli-0.3.0.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d106bcbcfaa6d2a07ff83a170fdd1ab191e152123ce57b1d00a7492c1e306b48
|
|
| MD5 |
c035a427faddfaac86d23a46deda197b
|
|
| BLAKE2b-256 |
7195b04c80ea98503dfe10ab4cf662aa4639dacffbf13fe7019d663a8899f18d
|
Provenance
The following attestation bundles were made for sportscli-0.3.0.tar.gz:
Publisher:
python-publish.yml on prrockzed/sportscli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sportscli-0.3.0.tar.gz -
Subject digest:
d106bcbcfaa6d2a07ff83a170fdd1ab191e152123ce57b1d00a7492c1e306b48 - Sigstore transparency entry: 1813113745
- Sigstore integration time:
-
Permalink:
prrockzed/sportscli@04048c386cb4552de693ea7bf54a5e5df8715ed2 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/prrockzed
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@04048c386cb4552de693ea7bf54a5e5df8715ed2 -
Trigger Event:
release
-
Statement type:
File details
Details for the file sportscli-0.3.0-py3-none-any.whl.
File metadata
- Download URL: sportscli-0.3.0-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d9c7dbe68e49b1b4c75c9ed47259c411ecbbc4f27434ae3754de9ff65869759
|
|
| MD5 |
52f600b1a654acfe56846f2f67639c32
|
|
| BLAKE2b-256 |
56ab8a305bd6ba7dcd8b390a5997c2a70ad1632ada5497d9d0c97aff4e50e441
|
Provenance
The following attestation bundles were made for sportscli-0.3.0-py3-none-any.whl:
Publisher:
python-publish.yml on prrockzed/sportscli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sportscli-0.3.0-py3-none-any.whl -
Subject digest:
9d9c7dbe68e49b1b4c75c9ed47259c411ecbbc4f27434ae3754de9ff65869759 - Sigstore transparency entry: 1813113954
- Sigstore integration time:
-
Permalink:
prrockzed/sportscli@04048c386cb4552de693ea7bf54a5e5df8715ed2 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/prrockzed
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@04048c386cb4552de693ea7bf54a5e5df8715ed2 -
Trigger Event:
release
-
Statement type: