Skip to main content

Lightweight Python SDK for sports data — football, F1, NFL, NBA, WNBA, NHL, MLB, tennis, CFB, CBB, golf, volleyball, prediction markets, betting analysis, and news

Project description

sports-skills

https://sports-skills.sh

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, football-data.co.uk, ClubElo — 25 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
  • College XC/TF: NCAA cross country and track & field — athlete profiles, personal records, meet results, and news via The Stride Report
  • Volleyball: Nevobo — Dutch volleyball (Eredivisie, Topdivisie, Superdivisie) standings, schedules, results, clubs
  • Racing: Formula 1 (via FastF1) — lap times, telemetry, and race results
  • Esports: Dota 2 (OpenDota) and League of Legends esports (Leaguepedia) — pro matches, leagues, teams, and tournaments
  • Prediction Markets: Polymarket & Kalshi live odds and order books, including esports implied-probability odds (CS2/LoL/Dota2)
  • 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
sports-skills xctf get_news --limit 5
sports-skills xctf search_athlete --name "Jane Hedengren" --school "UT_college_f_BYU"

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, xctf

# 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"])

# Get latest NCAA XC/TF news from The Stride Report
news = xctf.get_news(limit=5)
print(news["data"]["articles"])

# Look up an athlete's PRs
profile = xctf.get_athlete_profile(athlete_id="9230145", school="BYU", name="Jane_Hedengren")
print(profile["data"]["prs"])

🏗️ 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sports_skills-0.29.0.tar.gz (850.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sports_skills-0.29.0-py3-none-any.whl (232.1 kB view details)

Uploaded Python 3

File details

Details for the file sports_skills-0.29.0.tar.gz.

File metadata

  • Download URL: sports_skills-0.29.0.tar.gz
  • Upload date:
  • Size: 850.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for sports_skills-0.29.0.tar.gz
Algorithm Hash digest
SHA256 8c30d2fb3d81746bb9f5432a5f5011ff62c098d9db288f67861470bbaa7ae645
MD5 4bc2ed831647579ae396475650790498
BLAKE2b-256 39bc4eec0f66d69afb93380599adf84c374dd33589e5fadc84bf7f404ae97f94

See more details on using hashes here.

Provenance

The following attestation bundles were made for sports_skills-0.29.0.tar.gz:

Publisher: publish.yml on machina-sports/sports-skills

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sports_skills-0.29.0-py3-none-any.whl.

File metadata

  • Download URL: sports_skills-0.29.0-py3-none-any.whl
  • Upload date:
  • Size: 232.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for sports_skills-0.29.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32c9df125149a2d50d2ef6f3d69bad31f40526cd10d40abd7d39cac7eec65cde
MD5 a82ff21b2fea9ce3f5749ad3bbc52eab
BLAKE2b-256 4021b7dcbad5bd64113c011302e51e3ab2159a7f499405da8ffab45056c1f80f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sports_skills-0.29.0-py3-none-any.whl:

Publisher: publish.yml on machina-sports/sports-skills

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page