Lightweight Python SDK for sports data — football, F1, NFL, NBA, WNBA, NHL, MLB, tennis, CFB, CBB, golf, prediction markets, betting analysis, and news
Project description
sports-skills
A lightweight, zero-config Python SDK and CLI for live sports data and prediction markets.
Built natively for AI agents, but works perfectly as a standalone Python library for developers. Wraps publicly available sports data sources and APIs into unified, deterministic commands.
Zero API keys. Zero signup. Just works.
📦 Installation
Install as a global CLI tool (recommended for agents):
uv tool install sports-skills
# or
pip install sports-skills
Base install includes all sports modules.
Install as a Python library:
uv add sports-skills
# or
pip install sports-skills
Optional extras:
pip install "sports-skills[all]"
pip install "sports-skills[dev]"
⚡ What's Included
- Football (Soccer): ESPN, Understat, FPL, Transfermarkt — 21 commands across 30 leagues
- US Sports: NFL, NBA, WNBA, NHL, MLB, College Football (CFB), College Basketball (CBB) — live scores, standings, depth charts, injuries, and leaders
- Tennis: ATP and WTA tournament scores, rankings, calendars, and player profiles
- Golf: PGA, LPGA, and DP World tour scorecards and leaderboards
- Racing: Formula 1 (via FastF1) — lap times, telemetry, and race results
- Prediction Markets: Polymarket & Kalshi live odds and order books
- News: Multi-sport news aggregators
💻 CLI Usage
The package exposes a sports-skills binary.
List all supported sports:
sports-skills --help
List commands for a specific sport:
sports-skills nfl --help
Execute a command:
sports-skills nfl get_scoreboard --date 2026-02-24
sports-skills football get_current_season --competition_id premier-league
sports-skills polymarket get_markets --query "super bowl"
sports-skills news fetch_items --query "Lando Norris" --limit 5
All CLI output is printed as strict JSON, making it perfect for AI agents (Claude, GPT, Gemini) to parse and reason over.
🐍 Python SDK Usage
You can use the exact same commands directly in your Python code:
from sports_skills import nfl, football, polymarket
# Get live NFL scores
scores = nfl.get_scoreboard(date="2026-02-24")
print(scores["data"]["events"])
# Get Premier League standings
table = football.get_season_standings(season_id="premier-league-2025")
print(table["data"]["standings"])
# Fetch live odds from Polymarket
markets = polymarket.get_markets(query="bitcoin")
print(markets["data"]["markets"])
🏗️ AI Agent Integration
sports-skills is built on the Anthropic Level-3 Agent capability spec. Every command is deterministic and automatically generates its own JSON Schema.
To extract the OpenAI/Anthropic compatible tool schema for any module:
from sports_skills import nfl
import json
# Returns a list of dicts formatted exactly like Anthropic/OpenAI tools
schema = nfl.generate_schema()
print(json.dumps(schema, indent=2))
License
MIT
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 sports_skills-0.16.1.tar.gz.
File metadata
- Download URL: sports_skills-0.16.1.tar.gz
- Upload date:
- Size: 236.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb35097c157551e42af4fcb1454bff3f81505a52b69227f6998351c81de39bf9
|
|
| MD5 |
2e3e1362419be2364fcf447cc268291b
|
|
| BLAKE2b-256 |
f88790f0739345bf15a292423a4ec13c44b8b5620ba2823ee9ea09e923985797
|
Provenance
The following attestation bundles were made for sports_skills-0.16.1.tar.gz:
Publisher:
publish.yml on machina-sports/sports-skills
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sports_skills-0.16.1.tar.gz -
Subject digest:
cb35097c157551e42af4fcb1454bff3f81505a52b69227f6998351c81de39bf9 - Sigstore transparency entry: 1063609539
- Sigstore integration time:
-
Permalink:
machina-sports/sports-skills@6d49355b7e2b627e1599a59f06f6df0af9a40c24 -
Branch / Tag:
refs/tags/v0.16.1 - Owner: https://github.com/machina-sports
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6d49355b7e2b627e1599a59f06f6df0af9a40c24 -
Trigger Event:
release
-
Statement type:
File details
Details for the file sports_skills-0.16.1-py3-none-any.whl.
File metadata
- Download URL: sports_skills-0.16.1-py3-none-any.whl
- Upload date:
- Size: 162.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76dfe49f547f612c1e3e4c1e49531136cd277cd91699866343427c1314bdda2f
|
|
| MD5 |
69f18381e83faa3f333dee388d010077
|
|
| BLAKE2b-256 |
378851a068829a671ac819599aaead47e66b3366176355f1a8502e0b072b1854
|
Provenance
The following attestation bundles were made for sports_skills-0.16.1-py3-none-any.whl:
Publisher:
publish.yml on machina-sports/sports-skills
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sports_skills-0.16.1-py3-none-any.whl -
Subject digest:
76dfe49f547f612c1e3e4c1e49531136cd277cd91699866343427c1314bdda2f - Sigstore transparency entry: 1063609566
- Sigstore integration time:
-
Permalink:
machina-sports/sports-skills@6d49355b7e2b627e1599a59f06f6df0af9a40c24 -
Branch / Tag:
refs/tags/v0.16.1 - Owner: https://github.com/machina-sports
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6d49355b7e2b627e1599a59f06f6df0af9a40c24 -
Trigger Event:
release
-
Statement type: