nfl-data-py
python library for interacting with NFL data sourced from nflfastR
What it is and what it does
nfl_data_py is a wrapper library that fetches NFL statistics and metadata from multiple upstream sources and loads them into pandas DataFrames. It provides import functions for play-by-play data (the core use case), weekly and seasonal aggregates, rosters, draft picks, combine results, schedules, officials, and various other game-related datasets spanning back to 1999. The library depends on pandas for data manipulation, numpy for numerical operations, fastparquet for efficient file handling, and appdirs for cache management.
The package is designed for analysts and fantasy football enthusiasts who need structured access to historical NFL data without manually downloading or parsing files. It supports optional memory optimization through float downcasting and local caching to reduce repeated network requests. However, the repository is archived and abandoned, meaning no active maintenance or bug fixes are being applied—users relying on it should verify that the upstream data sources remain accessible and that the import functions continue to work with current data formats.
Use it for:
- Analyze historical play-by-play data to study offensive and defensive performance trends across seasons
- Build fantasy football models using weekly player statistics, combine metrics, and draft pick valuations
- Research receiver target share, air yards, and dominator ratings for talent evaluation
- Fetch NFL schedules, rosters, and injury reports for season-long tracking applications
- Retrieve QBR history and advanced stats from Pro Football Reference for quarterback analysis
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Imports NFL play-by-play, weekly, seasonal, roster, draft, combine, and other game data from nflfastR, nfldata, dynastyprocess, and Draft Scout into pandas DataFrames.
Yes, with conditions. The package is useful for NFL data analysis and fantasy football work, has low install friction, and carries a permissive MIT license. However, the abandoned repository status is a significant concern: there is no active maintenance, and you should verify that the upstream data sources remain accessible before committing to it in production. For one-off analysis or personal projects, it is likely stable enough; for ongoing systems, consider monitoring the upstream sources directly or seeking an actively maintained alternative.
Install
nfl-data-py on PyPI
pip
pip install nfl-data-pyuv
uv add nfl-data-pypoetry
poetry add nfl-data-pyInstalling nfl-data-py
Before you install
Low install friction with four common dependencies (numpy, pandas, appdirs, fastparquet). However, the repository is archived and marked abandoned, with the last commit on 2025-09-25 and no active maintenance.
License in practice
MIT license permits commercial and private use with minimal restrictions, requiring only attribution and inclusion of the license text.
Quickstart
pip install nfl_data_py
import nfl_data_py as nfl
# Import play-by-play data for specified years
data = nfl.import_pbp_data(years=[1999])
# Import weekly stats
weekly = nfl.import_weekly_data(years=[1999])
Verify before relying
- Whether the upstream data sources (nflfastR, nfldata, dynastyprocess, Draft Scout) remain actively maintained and accessible
- Whether the package's data import functions continue to work reliably given the abandoned repository status
- Performance characteristics when importing large multi-year datasets with the downcast option
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — numpy, pandas, appdirs, fastparquet |
| Maintenance | abandoned — 693 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 120,941/month — #12,003 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: nfl_data_py-0.3.3-py3-none-any.whl
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
nflreadpyDownloads and caches NFL data from nflverse…
permissive · top 15,000 on PyPI
espn-apiExtracts league, team, and player data from…
permissive · top 15,000 on PyPI
MLB-StatsAPIProvides Python access to MLB's Stats API,…
copyleft · top 15,000 on PyPI
ucimlrepoImports datasets from the UC Irvine Machine…
permissive · top 15,000 on PyPI
pybaseballScrapes baseball data from Baseball Reference,…
permissive · top 15,000 on PyPI
nba_apinba_api provides Python access to NBA.com's…
permissive · top 15,000 on PyPI
statsbombpyStreams StatsBomb football analytics data into…
unclear · top 15,000 on PyPI
pandas-read-xmlConverts XML files into pandas DataFrames, with…
permissive · top 15,000 on PyPI
gspread-dataframeConverts between Google Sheets worksheets and…
permissive · top 5,000 on PyPI
prophetProphet forecasts time series data using an…
permissive · top 5,000 on PyPI