Skip to main content

Python client for the StatHead fantasy football model — rookie career predictions, historical ADP, dynasty values, and flattened feature matrices.

Project description

stathead

Python client for the StatHead fantasy football model. Returns pandas DataFrames of rookie career predictions, historical ADP, KeepTradeCut dynasty values, and the flattened feature matrix used to train the models.

Install

pip install stathead

Optional extras:

pip install "stathead[polars]"   # for .to_polars() helpers
pip install "stathead[duckdb]"   # for local SQL querying

Quick start

import stathead as sh

# 2026 rookie class predictions (77 players × ~80 columns)
rookies = sh.load_career_predictions_2026()
rookies.nlargest(10, "percentile")[["name", "position", "predictedCareerPPG", "modelTier"]]

# Historical backtest — predicted vs actual for every drafted rookie 2010-2025
backtest = sh.load_career_backtest()
wr = backtest[backtest.position == "WR"]
wr.groupby("modelTier")[["actualPPG", "predictedPPG"]].mean()

# Historical ADP, every season fully populated
adp = sh.load_adp_historical()
adp[(adp.season == 2023) & (adp.adp <= 24)]

# Dynasty values
ktc = sh.load_ktc()
ktc.nlargest(25, "value_1qb")

# Daily KTC history (for momentum / trend analysis)
hist = sh.load_ktc_history()
hist.pivot_table(index="date", columns="name", values="value_1qb")

Pinning to a specific version

Loaders resolve against the upstream GitHub repo. Pin to a commit SHA, tag, or branch for reproducibility:

sh.pin_version("a6720e5")   # or a tagged release

Clear the local cache if you want to re-fetch:

sh.clear_cache()

Data freshness

Data files are cached under ~/.cache/stathead/<ref>/ after the first download. Subsequent runs read from disk — no network roundtrip. Delete the cache directory or call clear_cache() to force a refresh.

Available loaders

Function Returns Shape
load_career_predictions_2026() 2026 rookie predictions ~77 × ~80 cols
load_career_backtest() Historical rookies with pred + actual PPG ~1087 × ~100 cols
load_adp_historical() Model-training ADP 2010-2025 4507 × 10
load_adp_ffc(season=None) FFC PPR raw ADP (per season as fetched) variable
load_ktc() Current KTC dynasty values ~500 × 9
load_ktc_history() Daily KTC history ~100k × 7
load_prospect_grades(year=2026) Draft scouting grades ~200 × 7
load_feature_matrix() Raw feature-matrix.json (dict)
load_manual_overrides() Manual CFBD usage overrides (dict)

Licensing & attribution

Package code is MIT-licensed. The data this package retrieves is derived from the StatHead project's own modeling pipeline; upstream sources (nflverse, FFC, KeepTradeCut, CFBD, etc.) retain their own terms — see each source's license before redistributing. If you're building on these predictions, a link back to the StatHead repo is appreciated but not required.

Contributing

The package is small and focused — see python/src/stathead/ for the loader modules. Issues and PRs welcome at the main repo.

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

stathead-0.1.0.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

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

stathead-0.1.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file stathead-0.1.0.tar.gz.

File metadata

  • Download URL: stathead-0.1.0.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stathead-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fe50eec69a6d0883bfb17ca3ad6a468bf61507d6317472e32f66b43e4bebe70b
MD5 990577f3b010b5bbe23134025cb19f1f
BLAKE2b-256 22d4792dceb1ebba7a295c8695f8a7a73b70cb704804401c608cdb8935f291db

See more details on using hashes here.

Provenance

The following attestation bundles were made for stathead-0.1.0.tar.gz:

Publisher: python-publish.yml on dachhack/stathead

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

File details

Details for the file stathead-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: stathead-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stathead-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 44f9cddfc9624d2e6ef5ddab03029c5ec68ef30e84c5f5f81b84ace3bc9d56ef
MD5 eec34d8c2f80ec660760e9ea542a310f
BLAKE2b-256 60ea2fc99ce44ab7a41d781441a55cc1a9e6c36541619a9af427e9db31186c2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for stathead-0.1.0-py3-none-any.whl:

Publisher: python-publish.yml on dachhack/stathead

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