nflreadpy
A Python package for downloading NFL data from nflverse repositories
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Underlying nflverse data sources must be accessible (requires internet connectivity).
- Low install friction with a pure-Python wheel and six well-maintained runtime dependencies.
License · maintenance · safety
MIT (permissive) — 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.
last release 2025-11-19 (268 days) · last repo commit 2026-08-05 · 192 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 85,482 downloads/mo, #13,920 on PyPI
Alternatives
Verify before relying
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()- 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.
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 on it.
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
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.
Requires Python 3.10 or later. Underlying nflverse data sources must be accessible (requires internet connectivity).
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()
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 packagesrequestspolarsplatformdirstqdmpydanticpydantic-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 |
| Classifiers | 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 |
Evidence: nflreadpy-0.1.5-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “nfl data download python”
- nflreadpyDownloads and caches NFL data from nflverse repositories into Polars…
- nfl-data-pyImports NFL play-by-play, weekly, seasonal, roster, draft, combine,…
- poochPooch downloads files from HTTP, FTP, and data repositories (Zenodo,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also espn-api · nfl-data-py · statsbombpy · nba_api · MLB-StatsAPI · pybaseball · fastf1 · pypistats · fr24 · stats-can