skillfed

nflreadpy

A Python package for downloading NFL data from nflverse repositories

nflreadpy v0.1.5 85.5K downloads/30d#13,920 on PyPI192
Permissive license MIT Active released

What it is and what it does

nflreadpy is a Python package that fetches NFL data from nflverse repositories and returns it as Polars DataFrames. It wraps access to multiple data sources—play-by-play records, player and team statistics, rosters, schedules, draft picks, injury reports, and fantasy football metrics—with built-in caching (memory or filesystem), progress tracking via tqdm, and configurable timeouts. The package uses requests for HTTP downloads, pydantic for configuration validation, and platformdirs for cache directory management.

You use it by calling functions like load_pbp(), load_player_stats(), or load_team_stats() with optional season parameters, and receive Polars DataFrames that can be converted to pandas if needed. Configuration is available via environment variables or programmatic calls to update_config(). The package is designed as a Python port of the R package nflreadr, so it follows similar naming and API conventions.

Use it for:

  • Fetch historical play-by-play data for a season to analyze game patterns and drive efficiency.
  • Load player stats across multiple seasons to build a dataset for fantasy football projections.
  • Retrieve current rosters and depth charts to track roster composition changes over time.
  • Download combine results and draft picks for scouting or historical analysis.
  • Cache NFL schedules and injury reports locally to power a dashboard or analytics application.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Downloads and caches NFL data from nflverse repositories into Polars DataFrames, providing access to play-by-play, player stats, team stats, rosters, schedules, and other NFL analytics datasets.

Yes, if you work with NFL data. The package is actively maintained, has low install friction, carries a permissive MIT license, and provides a straightforward API to multiple authoritative nflverse data sources. The Beta status and recent release history (first release September 2025, latest November 2025) suggest it is still stabilizing; verify that the specific load functions you need are fully implemented and stable in your target version.

Install

nflreadpy on PyPI

pip

pip install nflreadpy

uv

uv add nflreadpy

poetry

poetry add nflreadpy

Installing nflreadpy

Before you install

Low install friction with a pure-Python wheel and six well-maintained runtime dependencies. The package is actively maintained with recent commits and is in Beta status, indicating ongoing development and refinement.

License in practice

MIT license permits unrestricted use, modification, and distribution. Note that the underlying NFL data from nflverse repositories carries its own licenses (CC-BY 4.0 for most data, CC-BY-SA 4.0 for FTN data), which may impose attribution or share-alike requirements on derived works.

Quickstart

pip install nflreadpy

import nflreadpy as nfl

# Load current season play-by-play data
pbp = nfl.load_pbp()

# Convert to pandas if needed
pbp_pandas = pbp.to_pandas()

Requires Python 3.10 or later. Underlying nflverse data sources must be accessible (requires internet connectivity).

Verify before relying

  • Whether the caching system (memory or filesystem) is suitable for large datasets without performance degradation.
  • Actual data freshness guarantees and update frequency for each data source.
  • Whether all 22 documented load functions are fully implemented and stable in version 0.1.5.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 6 — requests, polars, platformdirs, tqdm, pydantic, pydantic-settings
Maintenance actively maintained — 268 days since the last release
Last repo commit
First released
Downloads 85,482/month — #13,920 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: nflreadpy-0.1.5-py3-none-any.whl

Keywords: nfl, football, sports, data, analytics

Development Status :: 4 - BetaIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Scientific/Engineering :: Information AnalysisTopic :: Software Development :: Libraries :: Python Modules

Tags

nfl data download pythonnfl play-by-play statsnflverse data loaderfootball analytics datanfl rosters schedulessports data fetchingnfl statistics api
sports-analyticsdata-fetchingnfl

More Python Modules packages