# Table of Contents - [Changelog - nflreadpy](#changelog-nflreadpy) - [Contributing - nflreadpy](#contributing-nflreadpy) - [LICENSE - nflreadpy](#license-nflreadpy) - [Cache Management - nflreadpy](#cache-management-nflreadpy) - [Configuration - nflreadpy](#configuration-nflreadpy) - [nflreadpy](#nflreadpy) - [Utilities - nflreadpy](#utilities-nflreadpy) - [Load Functions - nflreadpy](#load-functions-nflreadpy) --- # Changelog - nflreadpy [Skip to content](https://nflreadpy.nflverse.com/CHANGELOG/#nflreadpy-devel) nflreadpy devel[¶](https://nflreadpy.nflverse.com/CHANGELOG/#nflreadpy-devel "Permanent link") =============================================================================================== * update `load_participation()` season assertions to use improved week-level logic. * Added `team_abbr_mapping()`, `team_abbr_mapping_norelocate()`, and `player_name_mapping()` * * * nflreadpy v0.1.5[¶](https://nflreadpy.nflverse.com/CHANGELOG/#nflreadpy-v015 "Permanent link") =============================================================================================== Release date: 2025-11-19 * Adds `load_pfr_advstats()` * Added argument `use_date` to get\_current\_week() to implement both, a date based approach and a schedules based approach to current week caluclations. (#39) * * * nflreadpy v0.1.4[¶](https://nflreadpy.nflverse.com/CHANGELOG/#nflreadpy-v014 "Permanent link") =============================================================================================== Release date: 2025-10-19 Changes: * load\_teams() now points to nflverse-data@teams for compat with nflreadr (breaking change) * load\_schedules() now points to nflverse-data@schedules to access parquet version of file * load\_trades() now points to nflverse-data@trades to access parquet version of file * * * nflreadpy v0.1.3[¶](https://nflreadpy.nflverse.com/CHANGELOG/#nflreadpy-v013 "Permanent link") =============================================================================================== Release date: 2025-09-20 Minor tweaks: * config defaults to verbose = FALSE * load\_nextgen\_stats() argument order updated for consistency * summary\_level arg in stats functions now a Literal type instead of a plain string * * * nflreadpy v0.1.2[¶](https://nflreadpy.nflverse.com/CHANGELOG/#nflreadpy-v012 "Permanent link") =============================================================================================== Release date: 2025-09-15 First version of nflreadpy, a port of nflreadr and a successor to nfl\_data\_py, with the goal of starting fresh and maintaining API compatibility with nflreadr so that it's easier for nflverse maintainers to keep it in parallel with nflreadr updates. This first version was mostly written with the help of Claude Code. New functions[¶](https://nflreadpy.nflverse.com/CHANGELOG/#new-functions "Permanent link") ------------------------------------------------------------------------------------------- The following functions are included in this release: * load\_pbp() - play-by-play data * load\_player\_stats() - player game or season statistics * load\_team\_stats() - team game or season statistics * load\_schedules() - game schedules and results * load\_players() - player information * load\_rosters() - team rosters * load\_rosters\_weekly() - team rosters by season-week * load\_snap\_counts() - snap counts * load\_nextgen\_stats() - advanced stats from nextgenstats.nfl.com * load\_ftn\_charting() - charted stats from ftnfantasy.com/data * load\_participation() - participation data (historical) * load\_draft\_picks() - nfl draft picks * load\_injuries() - injury statuses and practice participation * load\_contracts() - historical contract data from OTC * load\_officials() - officials for each game * load\_combine() - nfl combine results * load\_depth\_charts() - depth charts * load\_trades() - trades * load\_ff\_playerids() - ffverse/dynastyprocess player ids * load\_ff\_rankings() - fantasypros rankings * load\_ff\_opportunity() - expected yards, touchdowns, and fantasy points * clear\_cache() - Clear cached data * get\_current\_season() - Get current NFL season * get\_current\_week() - Get current NFL week Feature comparisons[¶](https://nflreadpy.nflverse.com/CHANGELOG/#feature-comparisons "Permanent link") ------------------------------------------------------------------------------------------------------- * [feature comparison with nflreadr](https://github.com/nflverse/nflreadpy/issues/2) * [feature comparison with nfl\_data\_py](https://github.com/nflverse/nflreadpy/issues/6) Acknowledgements[¶](https://nflreadpy.nflverse.com/CHANGELOG/#acknowledgements "Permanent link") ------------------------------------------------------------------------------------------------- Thanks to @mrcaseb, @guga31bb, @guidopetri, and @akeaswaran for reviewing the code in this release, and to @alecglen and @cooperdff for their stewardship of the nfl\_data\_py package. Back to top --- # Contributing - nflreadpy [Skip to content](https://nflreadpy.nflverse.com/CONTRIBUTING/#contributing) Contributing[¶](https://nflreadpy.nflverse.com/CONTRIBUTING/#contributing "Permanent link") ============================================================================================ Many hands make light work! Here are some ways you can contribute to this project: ### Open an issue[¶](https://nflreadpy.nflverse.com/CONTRIBUTING/#open-an-issue "Permanent link") * You can [open an issue](https://github.com/nflverse/nflreadpy/issues/new/choose) if you'd like to request a specific function or report a bug/error. ### Fixing typos[¶](https://nflreadpy.nflverse.com/CONTRIBUTING/#fixing-typos "Permanent link") * You can fix typos, spelling mistakes, or grammatical errors in the documentation directly using the GitHub web interface, as long as the changes are made in the _source_ file. ### Bigger changes[¶](https://nflreadpy.nflverse.com/CONTRIBUTING/#bigger-changes "Permanent link") * If you want to make a bigger change, it's a good idea to first file an issue and make sure someone from the team agrees that it’s needed. If you’ve found a bug, please file an issue that illustrates the bug with a minimal [reprex](https://www.tidyverse.org/help/#reprex) (this will also help you write a unit test, if needed). * You can also bring up changes in the [nflverse discord](https://discord.com/invite/5Er2FBnnQa) and our team will be happy to discuss! ### Tooling and Code Practices[¶](https://nflreadpy.nflverse.com/CONTRIBUTING/#tooling-and-code-practices "Permanent link") This project uses the following tooling: * uv for dependency management * ruff for linting and formatting * mypy for type checking * pytest for testing * mkdocs for documentation site `[](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-1) # Install development dependencies [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-2) uv sync --dev [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-3) [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-4) # Run tests [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-5) uv run pytest [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-6) [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-7) # Format code [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-8) uv run ruff format [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-9) [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-10) # Type check [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-11) uv run mypy src [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-12) [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-13) # Serve docs site locally [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-14) uv run mkdocs serve [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-15) [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-16) # Build docs site [](https://nflreadpy.nflverse.com/CONTRIBUTING/#__codelineno-0-17) uv run mkdocs build` Code of Conduct[¶](https://nflreadpy.nflverse.com/CONTRIBUTING/#code-of-conduct "Permanent link") -------------------------------------------------------------------------------------------------- Please note that the nflverse project is released with a [Contributor Code of Conduct](https://github.com/nflverse/.github/blob/main/.github/CODE_OF_CONDUCT.md) . By contributing to this project you agree to abide by its terms. Back to top --- # LICENSE - nflreadpy LICENSE ======= MIT License Copyright (c) 2025 nflreadpy contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Back to top --- # Cache Management - nflreadpy [Skip to content](https://nflreadpy.nflverse.com/api/cache/#cache-management) Cache Management[¶](https://nflreadpy.nflverse.com/api/cache/#cache-management "Permanent link") ================================================================================================= nflreadpy.clear\_cache [¶](https://nflreadpy.nflverse.com/api/cache/#nflreadpy.clear_cache "Permanent link") ------------------------------------------------------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-1) clear_cache(pattern: str | None = None) -> None` Clear cached data entries matching a pattern. This is the main function for clearing nflreadpy's cache. It provides a simple interface to the underlying CacheManager functionality. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `pattern` | `str \| None` | Optional string pattern to match against cached data. If None, clears all cached data. Pattern matching is performed on cache keys, which typically contain URLs and parameters. | `None` | Examples: `[](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-1) >>> import nflreadpy as nfl [](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-2) >>> nfl.clear_cache() # Clear all cached data [](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-3) >>> nfl.clear_cache("pbp_2023") # Clear 2023 play-by-play data [](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-4) >>> nfl.clear_cache("roster") # Clear all roster data` Note This affects both memory and filesystem cache depending on your cache configuration. See nflreadpy.config for cache settings. See Also [nflreadr clear\_cache reference](https://nflreadr.nflverse.com/reference/clear_cache.html) Source code in `src/nflreadpy/cache.py` | | | | --- | --- | | [263](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-263)
[264](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-264)
[265](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-265)
[266](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-266)
[267](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-267)
[268](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-268)
[269](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-269)
[270](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-270)
[271](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-271)
[272](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-272)
[273](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-273)
[274](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-274)
[275](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-275)
[276](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-276)
[277](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-277)
[278](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-278)
[279](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-279)
[280](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-280)
[281](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-281)
[282](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-282)
[283](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-283)
[284](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-284)
[285](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-285)
[286](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-286)
[287](https://nflreadpy.nflverse.com/api/cache/#__codelineno-0-287) | `def clear_cache(pattern: str \| None = None) -> None: """Clear cached data entries matching a pattern. This is the main function for clearing nflreadpy's cache. It provides a simple interface to the underlying CacheManager functionality. Args: pattern: Optional string pattern to match against cached data. If None, clears all cached data. Pattern matching is performed on cache keys, which typically contain URLs and parameters. Examples: >>> import nflreadpy as nfl >>> nfl.clear_cache() # Clear all cached data >>> nfl.clear_cache("pbp_2023") # Clear 2023 play-by-play data >>> nfl.clear_cache("roster") # Clear all roster data Note: This affects both memory and filesystem cache depending on your cache configuration. See nflreadpy.config for cache settings. See Also: [nflreadr clear_cache reference](https://nflreadr.nflverse.com/reference/clear_cache.html) """ _cache_manager.clear(pattern)` | Back to top --- # Configuration - nflreadpy [Skip to content](https://nflreadpy.nflverse.com/api/configuration/#configuration) Configuration[¶](https://nflreadpy.nflverse.com/api/configuration/#configuration "Permanent link") =================================================================================================== nflreadpy.config.NflreadpyConfig [¶](https://nflreadpy.nflverse.com/api/configuration/#nflreadpy.config.NflreadpyConfig "Permanent link") ------------------------------------------------------------------------------------------------------------------------------------------ Bases: `BaseSettings` Configuration settings for nflreadpy. This class manages all configuration options for the nflreadpy package. Settings can be configured via environment variables or programmatically. Environment Variables * NFLREADPY\_CACHE: Cache mode ("memory", "filesystem", or "off") * NFLREADPY\_CACHE\_DIR: Directory path for filesystem cache * NFLREADPY\_CACHE\_DURATION: Cache duration in seconds * NFLREADPY\_VERBOSE: Enable verbose output (true/false) * NFLREADPY\_TIMEOUT: HTTP request timeout in seconds * NFLREADPY\_USER\_AGENT: Custom user agent string Example `[](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-1) from nflreadpy.config import update_config, get_config [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-2) [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-3) # Update settings programmatically [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-4) update_config(cache_mode="filesystem", verbose=False) [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-5) [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-6) # Get current settings [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-7) config = get_config() [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-8) print(f"Cache mode: {config.cache_mode}")` nflreadpy.config.update\_config [¶](https://nflreadpy.nflverse.com/api/configuration/#nflreadpy.config.update_config "Permanent link") --------------------------------------------------------------------------------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-1) update_config(**kwargs: Any) -> None` Update configuration settings programmatically. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `**kwargs` | `Any` | Configuration options to update. Valid options include:

* cache\_mode: "memory", "filesystem", or "off"
* cache\_dir: Path to cache directory (str or Path)
* cache\_duration: Cache duration in seconds (int)
* verbose: Enable verbose output (bool)
* timeout: HTTP timeout in seconds (int)
* user\_agent: Custom user agent string (str) | `{}` | Raises: | Type | Description | | --- | --- | | `ValueError` | If an unknown configuration option is provided. | Example `[](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-1) # Enable filesystem caching with custom directory [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-2) update_config( [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-3) cache_mode="filesystem", [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-4) cache_dir="/path/to/my/cache", [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-5) verbose=True [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-6) ) [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-7) [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-8) # Disable caching and increase timeout [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-9) update_config( [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-10) cache_mode="off" [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-11) timeout=60 [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-12) )` Source code in `src/nflreadpy/config.py` | | | | --- | --- | | [132](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-132)
[133](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-133)
[134](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-134)
[135](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-135)
[136](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-136)
[137](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-137)
[138](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-138)
[139](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-139)
[140](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-140)
[141](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-141)
[142](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-142)
[143](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-143)
[144](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-144)
[145](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-145)
[146](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-146)
[147](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-147)
[148](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-148)
[149](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-149)
[150](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-150)
[151](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-151)
[152](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-152)
[153](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-153)
[154](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-154)
[155](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-155)
[156](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-156)
[157](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-157)
[158](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-158)
[159](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-159)
[160](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-160)
[161](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-161)
[162](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-162)
[163](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-163)
[164](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-164)
[165](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-165)
[166](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-166)
[167](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-167)
[168](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-168)
[169](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-169) | `def update_config(**kwargs: Any) -> None: """Update configuration settings programmatically. Args: **kwargs: Configuration options to update. Valid options include: - cache_mode: "memory", "filesystem", or "off" - cache_dir: Path to cache directory (str or Path) - cache_duration: Cache duration in seconds (int) - verbose: Enable verbose output (bool) - timeout: HTTP timeout in seconds (int) - user_agent: Custom user agent string (str) Raises: ValueError: If an unknown configuration option is provided. Example: ```python # Enable filesystem caching with custom directory update_config( cache_mode="filesystem", cache_dir="/path/to/my/cache", verbose=True ) # Disable caching and increase timeout update_config( cache_mode="off" timeout=60 ) ``` """ global config for key, value in kwargs.items(): if hasattr(config, key): setattr(config, key, value) else: raise ValueError(f"Unknown configuration option: {key}")` | nflreadpy.config.get\_config [¶](https://nflreadpy.nflverse.com/api/configuration/#nflreadpy.config.get_config "Permanent link") --------------------------------------------------------------------------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-1) get_config() -> NflreadpyConfig` Get the current configuration instance. Returns: | Type | Description | | --- | --- | | `[NflreadpyConfig](https://nflreadpy.nflverse.com/api/configuration/#nflreadpy.config.NflreadpyConfig "nflreadpy.config.NflreadpyConfig") ` | The global configuration object containing all current settings. | Example `[](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-1) config = get_config() [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-2) print(f"Cache directory: {config.cache_dir}") [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-3) print(f"Verbose mode: {config.verbose}")` Source code in `src/nflreadpy/config.py` | | | | --- | --- | | [116](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-116)
[117](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-117)
[118](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-118)
[119](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-119)
[120](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-120)
[121](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-121)
[122](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-122)
[123](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-123)
[124](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-124)
[125](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-125)
[126](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-126)
[127](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-127)
[128](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-128)
[129](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-129) | `def get_config() -> NflreadpyConfig: """Get the current configuration instance. Returns: The global configuration object containing all current settings. Example: ```python config = get_config() print(f"Cache directory: {config.cache_dir}") print(f"Verbose mode: {config.verbose}") ``` """ return config` | nflreadpy.config.reset\_config [¶](https://nflreadpy.nflverse.com/api/configuration/#nflreadpy.config.reset_config "Permanent link") ------------------------------------------------------------------------------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-1) reset_config() -> None` Reset all configuration settings to their default values. This will restore all settings to their initial state, clearing any programmatic or environment variable overrides. Example `[](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-1) # Make some changes [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-2) update_config(cache_mode="off", verbose=False) [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-3) [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-4) # Reset everything back to defaults [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-5) reset_config() [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-6) [](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-7) # Now cache_mode is "memory" and verbose is True again` Source code in `src/nflreadpy/config.py` | | | | --- | --- | | [172](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-172)
[173](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-173)
[174](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-174)
[175](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-175)
[176](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-176)
[177](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-177)
[178](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-178)
[179](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-179)
[180](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-180)
[181](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-181)
[182](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-182)
[183](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-183)
[184](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-184)
[185](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-185)
[186](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-186)
[187](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-187)
[188](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-188)
[189](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-189)
[190](https://nflreadpy.nflverse.com/api/configuration/#__codelineno-0-190) | `def reset_config() -> None: """Reset all configuration settings to their default values. This will restore all settings to their initial state, clearing any programmatic or environment variable overrides. Example: ```python # Make some changes update_config(cache_mode="off", verbose=False) # Reset everything back to defaults reset_config() # Now cache_mode is "memory" and verbose is True again ``` """ global config config = NflreadpyConfig()` | Back to top --- # nflreadpy [Skip to content](https://nflreadpy.nflverse.com/#nflreadpy) nflreadpy [![](https://nflreadpy.nflverse.com/assets/nflverse.png)](https://nflreadpy.nflverse.com/) [¶](https://nflreadpy.nflverse.com/#nflreadpy "Permanent link") ===================================================================================================================================================================== [![PyPI status](https://img.shields.io/pypi/v/nflreadpy?style=flat-square&logo=python&label=pypi)](https://pypi.org/project/nflreadpy/) [![Dev status](https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fgithub.com%2Fnflverse%2Fnflreadpy%2Fraw%2Fmain%2Fpyproject.toml&query=%24.project.version&prefix=v&style=flat-square&label=dev%20version)](https://nflreadpy.nflverse.com/) [![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg?style=flat-square)](https://lifecycle.r-lib.org/articles/stages.html) [![CI test status](https://img.shields.io/github/actions/workflow/status/nflverse/nflreadpy/ci-test.yaml?label=CI%20tests&style=flat-square&logo=github)](https://github.com/nflverse/nflreadpy/actions) [![nflverse discord](https://img.shields.io/discord/789805604076126219?color=7289da&label=nflverse%20discord&logo=discord&logoColor=fff&style=flat-square)](https://discord.com/invite/5Er2FBnnQa) A Python package for downloading NFL data from nflverse repositories. This is a Python port of the popular R package [nflreadr](https://github.com/nflverse/nflreadr) , designed to provide easy access to NFL data with caching, progress tracking, and modern Python conventions. Features[¶](https://nflreadpy.nflverse.com/#features "Permanent link") ----------------------------------------------------------------------- * Compatible API with nflreadr R package * Fast data loading with Polars DataFrames * Intelligent caching (memory or filesystem) * Progress tracking for large downloads Install[¶](https://nflreadpy.nflverse.com/#install "Permanent link") --------------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/#__codelineno-0-1) # Using uv (recommended) [](https://nflreadpy.nflverse.com/#__codelineno-0-2) uv add nflreadpy [](https://nflreadpy.nflverse.com/#__codelineno-0-3) [](https://nflreadpy.nflverse.com/#__codelineno-0-4) # Using pip [](https://nflreadpy.nflverse.com/#__codelineno-0-5) pip install nflreadpy` Usage[¶](https://nflreadpy.nflverse.com/#usage "Permanent link") ----------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/#__codelineno-1-1) import nflreadpy as nfl [](https://nflreadpy.nflverse.com/#__codelineno-1-2) [](https://nflreadpy.nflverse.com/#__codelineno-1-3) # Load current season play-by-play data [](https://nflreadpy.nflverse.com/#__codelineno-1-4) pbp = nfl.load_pbp() [](https://nflreadpy.nflverse.com/#__codelineno-1-5) [](https://nflreadpy.nflverse.com/#__codelineno-1-6) # Load player game-level stats for multiple seasons [](https://nflreadpy.nflverse.com/#__codelineno-1-7) player_stats = nfl.load_player_stats([2022, 2023]) [](https://nflreadpy.nflverse.com/#__codelineno-1-8) [](https://nflreadpy.nflverse.com/#__codelineno-1-9) # Load all available team level stats [](https://nflreadpy.nflverse.com/#__codelineno-1-10) team_stats = nfl.load_team_stats(seasons=True) [](https://nflreadpy.nflverse.com/#__codelineno-1-11) [](https://nflreadpy.nflverse.com/#__codelineno-1-12) # nflreadpy uses Polars instead of pandas. Convert to pandas if needed: [](https://nflreadpy.nflverse.com/#__codelineno-1-13) pbp_pandas = pbp.to_pandas()` Available Functions[¶](https://nflreadpy.nflverse.com/#available-functions "Permanent link") --------------------------------------------------------------------------------------------- [Reference page for all load functions](https://nflreadpy.nflverse.com/api/load_functions/) Configuration[¶](https://nflreadpy.nflverse.com/#configuration "Permanent link") --------------------------------------------------------------------------------- [Reference page for config options](https://nflreadpy.nflverse.com/api/configuration/) Getting help[¶](https://nflreadpy.nflverse.com/#getting-help "Permanent link") ------------------------------------------------------------------------------- The best places to get help on this package are: * the [nflverse discord](https://discord.com/invite/5Er2FBnnQa) (for both this package as well as anything NFL analytics related) * opening [an issue](https://github.com/nflverse/nflreadpy/issues/new/choose) Data Sources[¶](https://nflreadpy.nflverse.com/#data-sources "Permanent link") ------------------------------------------------------------------------------- nflreadpy downloads data from the following nflverse repositories: * [nflverse-data](https://github.com/nflverse/nflverse-data) - Play-by-play, rosters, stats * [dynastyprocess](https://github.com/dynastyprocess/data) - fantasy football data * [ffopportunity](https://github.com/ffverse/ffopportunity) - expected yards and fantasy points See the automation status page [here](https://nflreadr.nflverse.com/articles/nflverse_data_schedule.html) for last update date/times for each release. License[¶](https://nflreadpy.nflverse.com/#license "Permanent link") --------------------------------------------------------------------- MIT License - see [LICENSE](https://nflreadpy.nflverse.com/LICENSE/) file for details. The majority of all nflverse data available (ie all but the FTN data as of July 2025) is broadly licensed as CC-BY 4.0, and the FTN data is CC-BY-SA 4.0 (see nflreadr docs for each main data file). Development[¶](https://nflreadpy.nflverse.com/#development "Permanent link") ----------------------------------------------------------------------------- This project uses the following tooling: * uv for dependency management * ruff for linting and formatting * mypy for type checking * pytest for testing * mkdocs for website docs `[](https://nflreadpy.nflverse.com/#__codelineno-2-1) # Install development dependencies [](https://nflreadpy.nflverse.com/#__codelineno-2-2) uv sync --dev [](https://nflreadpy.nflverse.com/#__codelineno-2-3) [](https://nflreadpy.nflverse.com/#__codelineno-2-4) # Run tests [](https://nflreadpy.nflverse.com/#__codelineno-2-5) uv run pytest [](https://nflreadpy.nflverse.com/#__codelineno-2-6) [](https://nflreadpy.nflverse.com/#__codelineno-2-7) # Format code [](https://nflreadpy.nflverse.com/#__codelineno-2-8) uv run ruff format [](https://nflreadpy.nflverse.com/#__codelineno-2-9) [](https://nflreadpy.nflverse.com/#__codelineno-2-10) # Type check [](https://nflreadpy.nflverse.com/#__codelineno-2-11) uv run mypy src [](https://nflreadpy.nflverse.com/#__codelineno-2-12) [](https://nflreadpy.nflverse.com/#__codelineno-2-13) # Serve docs site locally [](https://nflreadpy.nflverse.com/#__codelineno-2-14) uv run mkdocs serve` Disclaimer[¶](https://nflreadpy.nflverse.com/#disclaimer "Permanent link") --------------------------------------------------------------------------- Most of the first version was written by Claude based on nflreadr, use at your own risk. Contributing[¶](https://nflreadpy.nflverse.com/#contributing "Permanent link") ------------------------------------------------------------------------------- Many hands make light work! Here are some ways you can contribute to this project: * You can [open an issue](https://github.com/nflverse/nflreadpy/issues/new/choose) if you'd like to request a feature or report a bug/error. * If you'd like to contribute code, please check out [the contribution guidelines](https://nflreadpy.nflverse.com/CONTRIBUTING/) . Back to top --- # Utilities - nflreadpy [Skip to content](https://nflreadpy.nflverse.com/api/utils/#utilities) Utilities[¶](https://nflreadpy.nflverse.com/api/utils/#utilities "Permanent link") =================================================================================== nflreadpy.get\_current\_season [¶](https://nflreadpy.nflverse.com/api/utils/#nflreadpy.get_current_season "Permanent link") ---------------------------------------------------------------------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-1) get_current_season(roster: bool = False) -> int` Get the current NFL season year. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `roster` | `bool` | * If True, uses roster year logic (current year after March 15).
* If False, uses season logic (current year after Thursday following Labor Day). | `False` | Returns: | Type | Description | | --- | --- | | `int` | The current season/roster year. | See Also [https://nflreadr.nflverse.com/reference/get\_current\_season.html](https://nflreadr.nflverse.com/reference/get_current_season.html) Source code in `src/nflreadpy/utils_date.py` | | | | --- | --- | | [8](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-8)
[9](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-44) | ``def get_current_season(roster: bool = False) -> int: """ Get the current NFL season year. Args: roster: - If True, uses roster year logic (current year after March 15). - If False, uses season logic (current year after Thursday following Labor Day). Returns: The current season/roster year. See Also: """ if not isinstance(roster, bool): raise TypeError("argument `roster` must be boolean") today = date.today() current_year = today.year if roster: # Roster logic: current year after March 15, otherwise previous year march_15 = date(current_year, 3, 15) return current_year if today >= march_15 else current_year - 1 else: # Season logic: current year after Thursday following Labor Day # Labor Day is first Monday in September # Find first Monday in September for day in range(1, 8): if date(current_year, 9, day).weekday() == 0: # Monday labor_day = date(current_year, 9, day) break # Thursday following Labor Day season_start = date(labor_day.year, labor_day.month, labor_day.day + 3) return current_year if today >= season_start else current_year - 1`` | nflreadpy.get\_current\_week [¶](https://nflreadpy.nflverse.com/api/utils/#nflreadpy.get_current_week "Permanent link") ------------------------------------------------------------------------------------------------------------------------ `[](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-1) get_current_week(use_date: bool = False, **kwargs) -> int` Get the current NFL week (rough approximation). Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `use_date` | `bool` | * If `True`, calculates week as the number of weeks since Thursday following Labor Day.
* If `False`, loads schedules via `load_schedules(seasons = get_current_season(**kwargs))` and returns week of the next game. | `False` | | `**kwargs` | | Arguments passed on to `get_current_season()` | `{}` | Returns: | Type | Description | | --- | --- | | `int` | The current NFL week (1-22). | See Also [https://nflreadr.nflverse.com/reference/get\_current\_week.html](https://nflreadr.nflverse.com/reference/get_current_week.html) Source code in `src/nflreadpy/utils_date.py` | | | | --- | --- | | [47](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-53)
[54](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-54)
[55](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-55)
[56](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-56)
[57](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-57)
[58](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-58)
[59](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-59)
[60](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-60)
[61](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-61)
[62](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-62)
[63](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-63)
[64](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-64)
[65](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-65)
[66](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-66)
[67](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-67)
[68](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-68)
[69](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-69)
[70](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-70)
[71](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-71)
[72](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-72)
[73](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-73)
[74](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-74)
[75](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-75)
[76](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-76)
[77](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-77)
[78](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-78)
[79](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-79)
[80](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-80)
[81](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-81)
[82](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-82)
[83](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-83)
[84](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-84)
[85](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-85)
[86](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-86)
[87](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-87)
[88](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-88)
[89](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-89)
[90](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-90)
[91](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-91)
[92](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-92)
[93](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-93)
[94](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-94)
[95](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-95)
[96](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-96)
[97](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-97)
[98](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-98)
[99](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-99)
[100](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-100)
[101](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-101)
[102](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-102)
[103](https://nflreadpy.nflverse.com/api/utils/#__codelineno-0-103) | ``def get_current_week(use_date: bool = False, **kwargs) -> int: """ Get the current NFL week (rough approximation). Args: use_date: - If `True`, calculates week as the number of weeks since Thursday following Labor Day. - If `False`, loads schedules via `load_schedules(seasons = get_current_season(**kwargs))` and returns week of the next game. **kwargs: Arguments passed on to `get_current_season()` Returns: The current NFL week (1-22). See Also: """ if not isinstance(use_date, bool): raise TypeError("argument `use_date` must be boolean") from .load_schedules import load_schedules if use_date: today = date.today() season_year = get_current_season(**kwargs) # NFL season typically starts around first Thursday of September # Find first Thursday in September for day in range(1, 8): if date(season_year, 9, day).weekday() == 3: # Thursday season_start = date(season_year, 9, day) break if today < season_start: return 1 # Calculate weeks since season start days_since_start = (today - season_start).days week = min(days_since_start // 7 + 1, 22) # Cap at week 22 return int(week) else: sched = load_schedules(seasons=get_current_season(**kwargs)) count_na_weeks = sched.select("result").null_count().item() if count_na_weeks == 0: # no NA values in result, return max(week) return sched.select("week").drop_nulls().max().item() else: # there are NA values in result. Filter table to NA results only, # and return min(week) return ( sched.filter(pl.col("result").is_null()) .select("week") .drop_nulls() .min() .item() )`` | Back to top --- # Load Functions - nflreadpy [Skip to content](https://nflreadpy.nflverse.com/api/load_functions/#load-functions) Load Functions[¶](https://nflreadpy.nflverse.com/api/load_functions/#load-functions "Permanent link") ====================================================================================================== nflreadpy.load\_pbp [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_pbp "Permanent link") ---------------------------------------------------------------------------------------------------------------- Load NFL play-by-play data. ### load\_pbp [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_pbp.load_pbp "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_pbp( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load NFL play-by-play data. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current season. If True, loads all available data since 1999. If int or list of ints, loads specified season(s). | `None` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with play-by-play data. | See Also [https://nflreadr.nflverse.com/reference/load\_pbp.html](https://nflreadr.nflverse.com/reference/load_pbp.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_pbp.html](https://nflreadr.nflverse.com/articles/dictionary_pbp.html) Source code in `src/nflreadpy/load_pbp.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-53) | `def load_pbp(seasons: int \| list[int] \| bool \| None = None) -> pl.DataFrame: """ Load NFL play-by-play data. Args: seasons: Season(s) to load. If None, loads current season. If True, loads all available data since 1999. If int or list of ints, loads specified season(s). Returns: Polars DataFrame with play-by-play data. See Also: Data Dictionary: """ if seasons is None: seasons = [get_current_season()] elif seasons is True: # Load all available seasons (1999 to current) current_season = get_current_season() seasons = list(range(1999, current_season + 1)) elif isinstance(seasons, int): seasons = [seasons] # Validate seasons current_season = get_current_season() for season in seasons: if not isinstance(season, int) or season < 1999 or season > current_season: raise ValueError(f"Season must be between 1999 and {current_season}") downloader = get_downloader() dataframes = [] for season in seasons: path = f"pbp/play_by_play_{season}" df = downloader.download("nflverse-data", path, season=season) dataframes.append(df) if len(dataframes) == 1: return dataframes[0] else: return pl.concat(dataframes, how="diagonal_relaxed")` | nflreadpy.load\_player\_stats [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_player_stats "Permanent link") ----------------------------------------------------------------------------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_player_stats( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) summary_level: Literal[ [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-4) "week", "reg", "post", "reg+post" [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-5) ] = "week", [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-6) ) -> pl.DataFrame` Load NFL player statistics. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current season. If True, loads all available data. If int or list of ints, loads specified season(s). | `None` | | `summary_level` | `Literal['week', 'reg', 'post', 'reg+post']` | Summary level ("week", "reg", "post", "reg+post"). | `'week'` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with player statistics. | See Also [https://nflreadr.nflverse.com/reference/load\_player\_stats.html](https://nflreadr.nflverse.com/reference/load_player_stats.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_player\_stats.html](https://nflreadr.nflverse.com/articles/dictionary_player_stats.html) Source code in `src/nflreadpy/load_stats.py` | | | | --- | --- | | [67](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-67)
[68](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-68)
[69](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-69)
[70](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-70)
[71](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-71)
[72](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-72)
[73](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-73)
[74](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-74)
[75](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-75)
[76](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-76)
[77](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-77)
[78](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-78)
[79](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-79)
[80](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-80)
[81](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-81)
[82](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-82)
[83](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-83)
[84](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-84)
[85](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-85)
[86](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-86)
[87](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-87)
[88](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-88)
[89](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-89) | `def load_player_stats( seasons: int \| list[int] \| bool \| None = None, summary_level: Literal["week", "reg", "post", "reg+post"] = "week", ) -> pl.DataFrame: """ Load NFL player statistics. Args: seasons: Season(s) to load. If None, loads current season. If True, loads all available data. If int or list of ints, loads specified season(s). summary_level: Summary level ("week", "reg", "post", "reg+post"). Returns: Polars DataFrame with player statistics. See Also: Data Dictionary: """ return _load_stats("player", seasons, summary_level)` | nflreadpy.load\_team\_stats [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_team_stats "Permanent link") ------------------------------------------------------------------------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_team_stats( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) summary_level: Literal[ [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-4) "week", "reg", "post", "reg+post" [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-5) ] = "week", [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-6) ) -> pl.DataFrame` Load NFL team statistics. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current season. If True, loads all available data. If int or list of ints, loads specified season(s). | `None` | | `summary_level` | `Literal['week', 'reg', 'post', 'reg+post']` | Summary level ("week", "reg", "post", "reg+post"). | `'week'` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with team statistics. | See Also [https://nflreadr.nflverse.com/reference/load\_team\_stats.html](https://nflreadr.nflverse.com/reference/load_team_stats.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_team\_stats.html](https://nflreadr.nflverse.com/articles/dictionary_team_stats.html) Source code in `src/nflreadpy/load_stats.py` | | | | --- | --- | | [92](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-92)
[93](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-93)
[94](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-94)
[95](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-95)
[96](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-96)
[97](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-97)
[98](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-98)
[99](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-99)
[100](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-100)
[101](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-101)
[102](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-102)
[103](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-103)
[104](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-104)
[105](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-105)
[106](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-106)
[107](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-107)
[108](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-108)
[109](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-109)
[110](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-110)
[111](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-111)
[112](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-112)
[113](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-113)
[114](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-114) | `def load_team_stats( seasons: int \| list[int] \| bool \| None = None, summary_level: Literal["week", "reg", "post", "reg+post"] = "week", ) -> pl.DataFrame: """ Load NFL team statistics. Args: seasons: Season(s) to load. If None, loads current season. If True, loads all available data. If int or list of ints, loads specified season(s). summary_level: Summary level ("week", "reg", "post", "reg+post"). Returns: Polars DataFrame with team statistics. See Also: Data Dictionary: """ return _load_stats("team", seasons, summary_level)` | nflreadpy.load\_schedules [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_schedules "Permanent link") ---------------------------------------------------------------------------------------------------------------------------- Load NFL schedule data. ### load\_schedules [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_schedules.load_schedules "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_schedules( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = True, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load NFL schedules. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If True (default), loads all available data. If int or list of ints, loads specified season(s). If None, loads current season. | `True` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with schedule data. | See Also [https://nflreadr.nflverse.com/reference/load\_schedules.html](https://nflreadr.nflverse.com/reference/load_schedules.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_schedules.html](https://nflreadr.nflverse.com/articles/dictionary_schedules.html) Source code in `src/nflreadpy/load_schedules.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52) | `def load_schedules(seasons: int \| list[int] \| bool \| None = True) -> pl.DataFrame: """ Load NFL schedules. Args: seasons: Season(s) to load. If True (default), loads all available data. If int or list of ints, loads specified season(s). If None, loads current season. Returns: Polars DataFrame with schedule data. See Also: Data Dictionary: """ downloader = get_downloader() # Load the full games dataset df = downloader.download("nflverse-data", "schedules/games") # Filter by seasons if specified if seasons is not True: if seasons is None: seasons = [get_current_season()] elif isinstance(seasons, int): seasons = [seasons] # Filter the dataframe by season df = df.filter(pl.col("season").is_in(seasons)) # Validate and clean roof values (matching nflreadr logic) if "roof" in df.columns: valid_roof_values = ["dome", "outdoors", "closed", "open"] df = df.with_columns( pl.when(pl.col("roof").is_in(valid_roof_values)) .then(pl.col("roof")) .otherwise(None) .alias("roof") ) return df` | nflreadpy.load\_teams [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_teams "Permanent link") -------------------------------------------------------------------------------------------------------------------- Load NFL team data. ### load\_teams [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_teams.load_teams "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_teams() -> pl.DataFrame` Load NFL team information. Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with team data including abbreviations, names, colors, logos, and other team metadata. | See Also [https://nflreadr.nflverse.com/reference/load\_teams.html](https://nflreadr.nflverse.com/reference/load_teams.html) Source code in `src/nflreadpy/load_teams.py` | | | | --- | --- | | [8](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-8)
[9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24) | `def load_teams() -> pl.DataFrame: """ Load NFL team information. Returns: Polars DataFrame with team data including abbreviations, names,\ colors, logos, and other team metadata. See Also: """ downloader = get_downloader() # Load teams data from nflverse-data repository df = downloader.download("nflverse-data", "teams/teams_colors_logos") return df` | nflreadpy.load\_players [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_players "Permanent link") ------------------------------------------------------------------------------------------------------------------------ Load NFL player data. ### load\_players [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_players.load_players "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_players() -> pl.DataFrame` Load NFL player information. This is a comprehensive source of player information including basic details, draft information, positions, and ID mappings across multiple data sources (GSIS, PFR, PFF, OTC, ESB, ESPN). Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with player data - one row per player with comprehensive player information including names, physical stats, draft info, and cross-platform ID mappings. | See Also [https://nflreadr.nflverse.com/reference/load\_players.html](https://nflreadr.nflverse.com/reference/load_players.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_players.html](https://nflreadr.nflverse.com/articles/dictionary_players.html) Source code in `src/nflreadpy/load_players.py` | | | | --- | --- | | [8](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-8)
[9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32) | `def load_players() -> pl.DataFrame: """ Load NFL player information. This is a comprehensive source of player information including basic details, draft information, positions, and ID mappings across multiple data sources (GSIS, PFR, PFF, OTC, ESB, ESPN). Returns: Polars DataFrame with player data - one row per player with comprehensive \ player information including names, physical stats, draft info, and \ cross-platform ID mappings. See Also: Data Dictionary: """ downloader = get_downloader() # Load players data from nflverse-data repository df = downloader.download("nflverse-data", "players/players") return df` | nflreadpy.load\_rosters [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_rosters "Permanent link") ------------------------------------------------------------------------------------------------------------------------ Load NFL roster data. ### load\_rosters [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_rosters.load_rosters "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_rosters( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load NFL team rosters. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current roster year. If True, loads all available data since 1920. If int or list of ints, loads specified season(s). | `None` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with roster data. | See Also [https://nflreadr.nflverse.com/reference/load\_rosters.html](https://nflreadr.nflverse.com/reference/load_rosters.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_rosters.html](https://nflreadr.nflverse.com/articles/dictionary_rosters.html) Source code in `src/nflreadpy/load_rosters.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-53) | `def load_rosters(seasons: int \| list[int] \| bool \| None = None) -> pl.DataFrame: """ Load NFL team rosters. Args: seasons: Season(s) to load. If None, loads current roster year. If True, loads all available data since 1920. If int or list of ints, loads specified season(s). Returns: Polars DataFrame with roster data. See Also: Data Dictionary: """ if seasons is None: seasons = [get_current_season(roster=True)] elif seasons is True: # Load all available seasons (1920 to current roster year) current_roster_year = get_current_season(roster=True) seasons = list(range(1920, current_roster_year + 1)) elif isinstance(seasons, int): seasons = [seasons] # Validate seasons current_roster_year = get_current_season(roster=True) for season in seasons: if not isinstance(season, int) or season < 1920 or season > current_roster_year: raise ValueError(f"Season must be between 1920 and {current_roster_year}") downloader = get_downloader() dataframes = [] for season in seasons: path = f"rosters/roster_{season}" df = downloader.download("nflverse-data", path, season=season) dataframes.append(df) if len(dataframes) == 1: return dataframes[0] else: return pl.concat(dataframes, how="diagonal_relaxed")` | nflreadpy.load\_rosters\_weekly [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_rosters_weekly "Permanent link") --------------------------------------------------------------------------------------------------------------------------------------- Load NFL weekly rosters data. ### load\_rosters\_weekly [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_rosters_weekly.load_rosters_weekly "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_rosters_weekly( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load NFL weekly rosters data. Data available from 2002 onwards. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current season. If True, loads all available data since 2002. If int or list of ints, loads specified season(s). | `None` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with weekly roster data including player status changes, injury designations, and week-by-week roster moves. | See Also [https://nflreadr.nflverse.com/reference/load\_rosters\_weekly.html](https://nflreadr.nflverse.com/reference/load_rosters_weekly.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_roster\_status.html](https://nflreadr.nflverse.com/articles/dictionary_roster_status.html) Source code in `src/nflreadpy/load_rosters_weekly.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-53)
[54](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-54)
[55](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-55)
[56](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-56) | `def load_rosters_weekly(seasons: int \| list[int] \| bool \| None = None) -> pl.DataFrame: """ Load NFL weekly rosters data. Data available from 2002 onwards. Args: seasons: Season(s) to load. If None, loads current season. If True, loads all available data since 2002. If int or list of ints, loads specified season(s). Returns: Polars DataFrame with weekly roster data including player status\ changes, injury designations, and week-by-week roster moves. See Also: Data Dictionary: """ if seasons is None: seasons = [get_current_season()] elif seasons is True: # Load all available seasons (2002 to current) current_season = get_current_season() seasons = list(range(2002, current_season + 1)) elif isinstance(seasons, int): seasons = [seasons] # Validate seasons current_season = get_current_season() for season in seasons: if not isinstance(season, int) or season < 2002 or season > current_season: raise ValueError(f"Season must be between 2002 and {current_season}") downloader = get_downloader() dataframes = [] for season in seasons: path = f"weekly_rosters/roster_weekly_{season}" df = downloader.download("nflverse-data", path, season=season) dataframes.append(df) if len(dataframes) == 1: return dataframes[0] else: return pl.concat(dataframes, how="diagonal_relaxed")` | nflreadpy.load\_snap\_counts [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_snap_counts "Permanent link") --------------------------------------------------------------------------------------------------------------------------------- Load NFL snap count data. ### load\_snap\_counts [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_snap_counts.load_snap_counts "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_snap_counts( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load NFL snap count data. Data sourced from Pro Football Reference, available since 2012. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current season. If True, loads all available data since 2012. If int or list of ints, loads specified season(s). | `None` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with snap count data including player information, offensive/defensive snaps, and snap percentages. | See Also [https://nflreadr.nflverse.com/reference/load\_snap\_counts.html](https://nflreadr.nflverse.com/reference/load_snap_counts.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_snap\_counts.html](https://nflreadr.nflverse.com/articles/dictionary_snap_counts.html) Source code in `src/nflreadpy/load_snap_counts.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-53)
[54](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-54)
[55](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-55)
[56](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-56) | `def load_snap_counts(seasons: int \| list[int] \| bool \| None = None) -> pl.DataFrame: """ Load NFL snap count data. Data sourced from Pro Football Reference, available since 2012. Args: seasons: Season(s) to load. If None, loads current season. If True, loads all available data since 2012. If int or list of ints, loads specified season(s). Returns: Polars DataFrame with snap count data including player information,\ offensive/defensive snaps, and snap percentages. See Also: Data Dictionary: """ if seasons is None: seasons = [get_current_season()] elif seasons is True: # Load all available seasons (2012 to current) current_season = get_current_season() seasons = list(range(2012, current_season + 1)) elif isinstance(seasons, int): seasons = [seasons] # Validate seasons current_season = get_current_season() for season in seasons: if not isinstance(season, int) or season < 2012 or season > current_season: raise ValueError(f"Season must be between 2012 and {current_season}") downloader = get_downloader() dataframes = [] for season in seasons: path = f"snap_counts/snap_counts_{season}" df = downloader.download("nflverse-data", path, season=season) dataframes.append(df) if len(dataframes) == 1: return dataframes[0] else: return pl.concat(dataframes, how="diagonal_relaxed")` | nflreadpy.load\_nextgen\_stats [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_nextgen_stats "Permanent link") ------------------------------------------------------------------------------------------------------------------------------------- Load NFL Next Gen Stats data. ### load\_nextgen\_stats [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_nextgen_stats.load_nextgen_stats "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_nextgen_stats( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) stat_type: Literal[ [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-4) "passing", "receiving", "rushing" [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-5) ] = "passing", [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-6) ) -> pl.DataFrame` Load NFL Next Gen Stats data. Data available since 2016. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current season. If True, loads all available data since 2016. If int or list of ints, loads specified season(s). | `None` | | `stat_type` | `Literal['passing', 'receiving', 'rushing']` | Type of stats to load. Options: "passing", "receiving", "rushing". | `'passing'` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with Next Gen Stats data including advanced metrics for passing, receiving, or rushing performance. | See Also [https://nflreadr.nflverse.com/reference/load\_nextgen\_stats.html](https://nflreadr.nflverse.com/reference/load_nextgen_stats.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_nextgen\_stats.html](https://nflreadr.nflverse.com/articles/dictionary_nextgen_stats.html) Source code in `src/nflreadpy/load_nextgen_stats.py` | | | | --- | --- | | [11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-53)
[54](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-54)
[55](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-55)
[56](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-56)
[57](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-57)
[58](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-58)
[59](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-59)
[60](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-60)
[61](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-61)
[62](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-62)
[63](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-63)
[64](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-64) | `def load_nextgen_stats( seasons: int \| list[int] \| bool \| None = None, stat_type: Literal["passing", "receiving", "rushing"] = "passing", ) -> pl.DataFrame: """ Load NFL Next Gen Stats data. Data available since 2016. Args: seasons: Season(s) to load. If None, loads current season. If True, loads all available data since 2016. If int or list of ints, loads specified season(s). stat_type: Type of stats to load. Options: "passing", "receiving", "rushing". Returns: Polars DataFrame with Next Gen Stats data including advanced metrics\ for passing, receiving, or rushing performance. See Also: Data Dictionary: """ if stat_type not in ["passing", "receiving", "rushing"]: raise ValueError("stat_type must be 'passing', 'receiving', or 'rushing'") if seasons is None: seasons = [get_current_season()] elif seasons is True: # Load all available seasons (2016 to current) current_season = get_current_season() seasons = list(range(2016, current_season + 1)) elif isinstance(seasons, int): seasons = [seasons] # Validate seasons current_season = get_current_season() for season in seasons: if not isinstance(season, int) or season < 2016 or season > current_season: raise ValueError(f"Season must be between 2016 and {current_season}") downloader = get_downloader() # Load the full dataset for the stat type path = f"nextgen_stats/ngs_{stat_type}" df = downloader.download("nflverse-data", path, stat_type=stat_type) # Filter by seasons if "season" in df.columns: df = df.filter(pl.col("season").is_in(seasons)) return df` | nflreadpy.load\_ftn\_charting [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_ftn_charting "Permanent link") ----------------------------------------------------------------------------------------------------------------------------------- Load FTN charting data. ### load\_ftn\_charting [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_ftn_charting.load_ftn_charting "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_ftn_charting( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load FTN charting data. Data available since 2022. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current season. If True, loads all available data since 2022. If int or list of ints, loads specified season(s). | `None` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with FTN charting data including detailed play-by-play charting information and advanced metrics. | See Also [https://nflreadr.nflverse.com/reference/load\_ftn\_charting.html](https://nflreadr.nflverse.com/reference/load_ftn_charting.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_ftn\_charting.html](https://nflreadr.nflverse.com/articles/dictionary_ftn_charting.html) Source code in `src/nflreadpy/load_ftn_charting.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-53)
[54](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-54)
[55](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-55)
[56](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-56) | `def load_ftn_charting(seasons: int \| list[int] \| bool \| None = None) -> pl.DataFrame: """ Load FTN charting data. Data available since 2022. Args: seasons: Season(s) to load. If None, loads current season. If True, loads all available data since 2022. If int or list of ints, loads specified season(s). Returns: Polars DataFrame with FTN charting data including detailed\ play-by-play charting information and advanced metrics. See Also: Data Dictionary: """ if seasons is None: seasons = [get_current_season()] elif seasons is True: # Load all available seasons (2022 to current) current_season = get_current_season() seasons = list(range(2022, current_season + 1)) elif isinstance(seasons, int): seasons = [seasons] # Validate seasons current_season = get_current_season() for season in seasons: if not isinstance(season, int) or season < 2022 or season > current_season: raise ValueError(f"Season must be between 2022 and {current_season}") downloader = get_downloader() dataframes = [] for season in seasons: path = f"ftn_charting/ftn_charting_{season}" df = downloader.download("nflverse-data", path, season=season) dataframes.append(df) if len(dataframes) == 1: return dataframes[0] else: return pl.concat(dataframes, how="diagonal_relaxed")` | nflreadpy.load\_participation [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_participation "Permanent link") ------------------------------------------------------------------------------------------------------------------------------------ Load NFL participation data. ### load\_participation [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_participation.load_participation "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_participation( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load NFL participation data. Data available since 2016. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current season. If True, loads all available data since 2016. If int or list of ints, loads specified season(s). | `None` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with participation data including player involvement on specific plays and snap participation details. | See Also [https://nflreadr.nflverse.com/reference/load\_participation.html](https://nflreadr.nflverse.com/reference/load_participation.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_participation.html](https://nflreadr.nflverse.com/articles/dictionary_participation.html) Source code in `src/nflreadpy/load_participation.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-53)
[54](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-54)
[55](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-55)
[56](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-56)
[57](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-57)
[58](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-58)
[59](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-59)
[60](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-60)
[61](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-61)
[62](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-62) | `def load_participation(seasons: int \| list[int] \| bool \| None = None) -> pl.DataFrame: """ Load NFL participation data. Data available since 2016. Args: seasons: Season(s) to load. If None, loads current season. If True, loads all available data since 2016. If int or list of ints, loads specified season(s). Returns: Polars DataFrame with participation data including player involvement\ on specific plays and snap participation details. See Also: Data Dictionary: """ # we expect to have participation data available after the final week of the # season from FTN current_week = get_current_week(use_date=False) if current_week == 22: max_season = get_current_season() else: max_season = get_current_season() - 1 if seasons is None: seasons = [max_season] elif seasons is True: # Load all available seasons (2016 to max_season) seasons = list(range(2016, max_season + 1)) elif isinstance(seasons, int): seasons = [seasons] # Validate seasons for season in seasons: if not isinstance(season, int) or season < 2016 or season > max_season: raise ValueError(f"Season must be between 2016 and {max_season}") downloader = get_downloader() dataframes = [] for season in seasons: path = f"pbp_participation/pbp_participation_{season}" df = downloader.download("nflverse-data", path, season=season) dataframes.append(df) if len(dataframes) == 1: return dataframes[0] else: return pl.concat(dataframes, how="diagonal_relaxed")` | nflreadpy.load\_draft\_picks [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_draft_picks "Permanent link") --------------------------------------------------------------------------------------------------------------------------------- Load NFL draft pick data. ### load\_draft\_picks [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_draft_picks.load_draft_picks "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_draft_picks( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = True, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load NFL draft pick data. Data covers draft picks since 1980, sourced from Pro Football Reference. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If True (default), loads all available data. If int or list of ints, loads specified season(s). If None, loads current season. | `True` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with draft pick data including draft year, round, pick number, player information, and team data. | See Also [https://nflreadr.nflverse.com/reference/load\_draft\_picks.html](https://nflreadr.nflverse.com/reference/load_draft_picks.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_draft\_picks.html](https://nflreadr.nflverse.com/articles/dictionary_draft_picks.html) Source code in `src/nflreadpy/load_draft_picks.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45) | `def load_draft_picks(seasons: int \| list[int] \| bool \| None = True) -> pl.DataFrame: """ Load NFL draft pick data. Data covers draft picks since 1980, sourced from Pro Football Reference. Args: seasons: Season(s) to load. If True (default), loads all available data. If int or list of ints, loads specified season(s). If None, loads current season. Returns: Polars DataFrame with draft pick data including draft year, round,\ pick number, player information, and team data. See Also: Data Dictionary: """ downloader = get_downloader() # Load the full draft picks dataset df = downloader.download("nflverse-data", "draft_picks/draft_picks") # Filter by seasons if specified if seasons is not True: if seasons is None: seasons = [get_current_season()] elif isinstance(seasons, int): seasons = [seasons] # Filter the dataframe by season df = df.filter(pl.col("season").is_in(seasons)) return df` | nflreadpy.load\_injuries [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_injuries "Permanent link") -------------------------------------------------------------------------------------------------------------------------- Load NFL injury data. ### load\_injuries [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_injuries.load_injuries "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_injuries( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load NFL injury data. Data available since 2009. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current season. If True, loads all available data since 2009. If int or list of ints, loads specified season(s). | `None` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with injury data including player information, injury details, and status reports. | See Also [https://nflreadr.nflverse.com/reference/load\_injuries.html](https://nflreadr.nflverse.com/reference/load_injuries.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_injuries.html](https://nflreadr.nflverse.com/articles/dictionary_injuries.html) Source code in `src/nflreadpy/load_injuries.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-53)
[54](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-54)
[55](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-55)
[56](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-56) | `def load_injuries(seasons: int \| list[int] \| bool \| None = None) -> pl.DataFrame: """ Load NFL injury data. Data available since 2009. Args: seasons: Season(s) to load. If None, loads current season. If True, loads all available data since 2009. If int or list of ints, loads specified season(s). Returns: Polars DataFrame with injury data including player information,\ injury details, and status reports. See Also: Data Dictionary: """ if seasons is None: seasons = [get_current_season()] elif seasons is True: # Load all available seasons (2009 to current) current_season = get_current_season() seasons = list(range(2009, current_season + 1)) elif isinstance(seasons, int): seasons = [seasons] # Validate seasons current_season = get_current_season() for season in seasons: if not isinstance(season, int) or season < 2009 or season > current_season: raise ValueError(f"Season must be between 2009 and {current_season}") downloader = get_downloader() dataframes = [] for season in seasons: path = f"injuries/injuries_{season}" df = downloader.download("nflverse-data", path, season=season) dataframes.append(df) if len(dataframes) == 1: return dataframes[0] else: return pl.concat(dataframes, how="diagonal_relaxed")` | nflreadpy.load\_contracts [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_contracts "Permanent link") ---------------------------------------------------------------------------------------------------------------------------- Load NFL contract data. ### load\_contracts [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_contracts.load_contracts "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_contracts() -> pl.DataFrame` Load NFL historical contract data. Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with historical contract information including player details, contract terms, values, and team information. | See Also [https://nflreadr.nflverse.com/reference/load\_contracts.html](https://nflreadr.nflverse.com/reference/load_contracts.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_contracts.html](https://nflreadr.nflverse.com/articles/dictionary_contracts.html) Source code in `src/nflreadpy/load_contracts.py` | | | | --- | --- | | [8](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-8)
[9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27) | `def load_contracts() -> pl.DataFrame: """ Load NFL historical contract data. Returns: Polars DataFrame with historical contract information including\ player details, contract terms, values, and team information. See Also: Data Dictionary: """ downloader = get_downloader() # Load historical contracts data from nflverse-data repository df = downloader.download("nflverse-data", "contracts/historical_contracts") return df` | nflreadpy.load\_officials [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_officials "Permanent link") ---------------------------------------------------------------------------------------------------------------------------- Load NFL officials data. ### load\_officials [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_officials.load_officials "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_officials( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = True, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load NFL officials data. Data covers NFL officials assigned to games from 2015 onwards. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If True (default), loads all available data. If int or list of ints, loads specified season(s). If None, loads current season. | `True` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with officials data including referee assignments, crew information, and game details. | See Also [https://nflreadr.nflverse.com/reference/load\_officials.html](https://nflreadr.nflverse.com/reference/load_officials.html) Source code in `src/nflreadpy/load_officials.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49) | `def load_officials(seasons: int \| list[int] \| bool \| None = True) -> pl.DataFrame: """ Load NFL officials data. Data covers NFL officials assigned to games from 2015 onwards. Args: seasons: Season(s) to load. If True (default), loads all available data. If int or list of ints, loads specified season(s). If None, loads current season. Returns: Polars DataFrame with officials data including referee assignments,\ crew information, and game details. See Also: """ downloader = get_downloader() # Load the full officials dataset df = downloader.download("nflverse-data", "officials/officials") # Filter by seasons if specified if seasons is not True: if seasons is None: seasons = [get_current_season()] elif isinstance(seasons, int): seasons = [seasons] # Validate seasons (2015 minimum) current_season = get_current_season() for season in seasons: if not isinstance(season, int) or season < 2015 or season > current_season: raise ValueError(f"Season must be between 2015 and {current_season}") # Filter the dataframe by season if "season" in df.columns: df = df.filter(pl.col("season").is_in(seasons)) return df` | nflreadpy.load\_combine [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_combine "Permanent link") ------------------------------------------------------------------------------------------------------------------------ Load NFL Combine data. ### load\_combine [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_combine.load_combine "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_combine( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = True, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load NFL Combine data. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If True (default), loads all available data. If int or list of ints, loads specified season(s). If None, loads current season. | `True` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with NFL Combine data including player measurements, test results (40-yard dash, bench press, etc.), and draft information. | See Also [https://nflreadr.nflverse.com/reference/load\_combine.html](https://nflreadr.nflverse.com/reference/load_combine.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_combine.html](https://nflreadr.nflverse.com/articles/dictionary_combine.html) Source code in `src/nflreadpy/load_combine.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44) | `def load_combine(seasons: int \| list[int] \| bool \| None = True) -> pl.DataFrame: """ Load NFL Combine data. Args: seasons: Season(s) to load. If True (default), loads all available data. If int or list of ints, loads specified season(s). If None, loads current season. Returns: Polars DataFrame with NFL Combine data including player measurements,\ test results (40-yard dash, bench press, etc.), and draft information. See Also: Data Dictionary: """ downloader = get_downloader() # Load the full combine dataset df = downloader.download("nflverse-data", "combine/combine") # Filter by seasons if specified if seasons is not True: if seasons is None: seasons = [get_current_season()] elif isinstance(seasons, int): seasons = [seasons] # Filter the dataframe by season if "season" in df.columns: df = df.filter(pl.col("season").is_in(seasons)) return df` | nflreadpy.load\_depth\_charts [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_depth_charts "Permanent link") ----------------------------------------------------------------------------------------------------------------------------------- Load NFL depth charts data. ### load\_depth\_charts [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_depth_charts.load_depth_charts "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_depth_charts( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load NFL depth charts data. Data available from 2001 onwards. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current season. If True, loads all available data since 2001. If int or list of ints, loads specified season(s). | `None` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with depth charts data including player positions, depth chart rankings, and team information. | See Also [https://nflreadr.nflverse.com/reference/load\_depth\_charts.html](https://nflreadr.nflverse.com/reference/load_depth_charts.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_depth\_charts.html](https://nflreadr.nflverse.com/articles/dictionary_depth_charts.html) Source code in `src/nflreadpy/load_depth_charts.py` | | | | --- | --- | | [9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-53)
[54](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-54)
[55](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-55)
[56](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-56) | `def load_depth_charts(seasons: int \| list[int] \| bool \| None = None) -> pl.DataFrame: """ Load NFL depth charts data. Data available from 2001 onwards. Args: seasons: Season(s) to load. If None, loads current season. If True, loads all available data since 2001. If int or list of ints, loads specified season(s). Returns: Polars DataFrame with depth charts data including player positions,\ depth chart rankings, and team information. See Also: Data Dictionary: """ if seasons is None: seasons = [get_current_season(roster=True)] elif seasons is True: # Load all available seasons (2001 to current) current_season = get_current_season(roster=True) seasons = list(range(2001, current_season + 1)) elif isinstance(seasons, int): seasons = [seasons] # Validate seasons current_season = get_current_season(roster=True) for season in seasons: if not isinstance(season, int) or season < 2001 or season > current_season: raise ValueError(f"Season must be between 2001 and {current_season}") downloader = get_downloader() dataframes = [] for season in seasons: path = f"depth_charts/depth_charts_{season}" df = downloader.download("nflverse-data", path, season=season) dataframes.append(df) if len(dataframes) == 1: return dataframes[0] else: return pl.concat(dataframes, how="diagonal_relaxed")` | nflreadpy.load\_trades [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_trades "Permanent link") ---------------------------------------------------------------------------------------------------------------------- Load NFL trades data. ### load\_trades [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_trades.load_trades "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_trades() -> pl.DataFrame` Load NFL trades data. Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with NFL trade information including players, teams, draft picks, and trade details. | See Also [https://nflreadr.nflverse.com/reference/load\_trades.html](https://nflreadr.nflverse.com/reference/load_trades.html) Data Dictionary [https://nflreadr.nflverse.com/articles/dictionary\_trades.html](https://nflreadr.nflverse.com/articles/dictionary_trades.html) Source code in `src/nflreadpy/load_trades.py` | | | | --- | --- | | [8](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-8)
[9](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-9)
[10](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-10)
[11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26) | `def load_trades() -> pl.DataFrame: """ Load NFL trades data. Returns: Polars DataFrame with NFL trade information including players,\ teams, draft picks, and trade details. See Also: Data Dictionary: """ downloader = get_downloader() df = downloader.download("nflverse-data", "trades/trades") return df` | nflreadpy.load\_pfr\_advstats [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_pfr_advstats "Permanent link") ----------------------------------------------------------------------------------------------------------------------------------- Load Pro Football Reference advanced statistics. ### load\_pfr\_advstats [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_pfr_advstats.load_pfr_advstats "Permanent link") `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_pfr_advstats( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | bool | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) stat_type: Literal[ [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-4) "pass", "rush", "rec", "def" [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-5) ] = "pass", [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-6) summary_level: Literal["week", "season"] = "week", [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-7) ) -> pl.DataFrame` Load Pro Football Reference advanced statistics. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| bool \| None` | Season(s) to load. If None, loads current season. If True, loads all available data (2018-current). If int or list of ints, loads specified season(s). Only used when summary\_level="week". | `None` | | `stat_type` | `Literal['pass', 'rush', 'rec', 'def']` | Type of statistics to load: - "pass": Passing statistics - "rush": Rushing statistics - "rec": Receiving statistics - "def": Defensive statistics | `'pass'` | | `summary_level` | `Literal['week', 'season']` | Summary level: - "week": Weekly statistics by season - "season": Season-level statistics (all seasons combined) | `'week'` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with Pro Football Reference advanced statistics. | Note Data is available from 2018 onwards. See Also * [nflreadr docs](https://nflreadr.nflverse.com/reference/load_pfr_advstats.html) * [example of advanced passing season-level stats](https://www.pro-football-reference.com/years/2025/passing_advanced.htm) * [example of advanced passing week-level stats](https://www.pro-football-reference.com/boxscores/202509040phi.htm#all_passing_advanced) Source code in `src/nflreadpy/load_pfr_advstats.py` | | | | --- | --- | | [11](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-11)
[12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30)
[31](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-31)
[32](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-32)
[33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-53)
[54](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-54)
[55](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-55)
[56](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-56)
[57](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-57)
[58](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-58)
[59](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-59)
[60](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-60)
[61](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-61)
[62](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-62)
[63](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-63)
[64](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-64)
[65](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-65)
[66](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-66)
[67](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-67)
[68](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-68)
[69](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-69)
[70](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-70)
[71](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-71)
[72](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-72) | `def load_pfr_advstats( seasons: int \| list[int] \| bool \| None = None, stat_type: Literal["pass", "rush", "rec", "def"] = "pass", summary_level: Literal["week", "season"] = "week", ) -> pl.DataFrame: """ Load Pro Football Reference advanced statistics. Args: seasons: Season(s) to load. If None, loads current season. If True, loads all available data (2018-current). If int or list of ints, loads specified season(s). Only used when summary_level="week". stat_type: Type of statistics to load: - "pass": Passing statistics - "rush": Rushing statistics - "rec": Receiving statistics - "def": Defensive statistics summary_level: Summary level: - "week": Weekly statistics by season - "season": Season-level statistics (all seasons combined) Returns: Polars DataFrame with Pro Football Reference advanced statistics. Note: Data is available from 2018 onwards. See Also: - [nflreadr docs](https://nflreadr.nflverse.com/reference/load_pfr_advstats.html) - [example of advanced passing season-level stats](https://www.pro-football-reference.com/years/2025/passing_advanced.htm) - [example of advanced passing week-level stats](https://www.pro-football-reference.com/boxscores/202509040phi.htm#all_passing_advanced) """ # Validate stat_type if stat_type not in ["pass", "rush", "rec", "def"]: raise ValueError("stat_type must be 'pass', 'rush', 'rec', or 'def'") # Validate summary_level if summary_level not in ["week", "season"]: raise ValueError("summary_level must be 'week' or 'season'") # Handle seasons parameter if seasons is None: seasons = [get_current_season()] elif seasons is True: # Load all available seasons (2018-current) current_season = get_current_season() seasons = list(range(2018, current_season + 1)) elif isinstance(seasons, int): seasons = [seasons] # Validate seasons current_season = get_current_season() for season in seasons: if not isinstance(season, int) or season < 2018 or season > current_season: raise ValueError(f"Season must be between 2018 and {current_season}") if summary_level == "season": return _load_pfr_advstats_season(seasons, stat_type) else: return _load_pfr_advstats_week(seasons, stat_type)` | nflreadpy.load\_ff\_playerids [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_ff_playerids "Permanent link") ----------------------------------------------------------------------------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_ff_playerids() -> pl.DataFrame` Load fantasy football player IDs from DynastyProcess.com database. Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with comprehensive player ID mappings across platforms. | Note This function loads data from an R data file (.rds). While Python cannot directly read RDS files, we attempt to use CSV format if available. See Also [https://nflreadr.nflverse.com/reference/load\_ff\_playerids.html](https://nflreadr.nflverse.com/reference/load_ff_playerids.html) Source code in `src/nflreadpy/load_ffverse.py` | | | | --- | --- | | [12](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-12)
[13](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-13)
[14](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-14)
[15](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-15)
[16](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-16)
[17](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-17)
[18](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-18)
[19](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-19)
[20](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-20)
[21](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-21)
[22](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-22)
[23](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-23)
[24](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-24)
[25](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-25)
[26](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-26)
[27](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-27)
[28](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-28)
[29](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-29)
[30](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-30) | `def load_ff_playerids() -> pl.DataFrame: """ Load fantasy football player IDs from DynastyProcess.com database. Returns: Polars DataFrame with comprehensive player ID mappings across platforms. Note: This function loads data from an R data file (.rds). While Python cannot directly read RDS files, we attempt to use CSV format if available. See Also: """ downloader = get_downloader() df = downloader.download("dynastyprocess", "db_playerids", format=DataFormat.CSV) return df` | nflreadpy.load\_ff\_rankings [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_ff_rankings "Permanent link") --------------------------------------------------------------------------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_ff_rankings( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) type: Literal["draft", "week", "all"] = "draft", [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) ) -> pl.DataFrame` Load fantasy football rankings and projections. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `type` | `Literal['draft', 'week', 'all']` | Type of rankings to load: - "draft": Draft rankings/projections - "week": Weekly rankings/projections - "all": All historical rankings/projections | `'draft'` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with fantasy football rankings data. | See Also [https://nflreadr.nflverse.com/reference/load\_ff\_rankings.html](https://nflreadr.nflverse.com/reference/load_ff_rankings.html) Source code in `src/nflreadpy/load_ffverse.py` | | | | --- | --- | | [33](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-33)
[34](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-34)
[35](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-35)
[36](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-36)
[37](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-37)
[38](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-38)
[39](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-39)
[40](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-40)
[41](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-41)
[42](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-42)
[43](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-43)
[44](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-44)
[45](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-45)
[46](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-46)
[47](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-47)
[48](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-48)
[49](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-49)
[50](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-50)
[51](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-51)
[52](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-52)
[53](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-53)
[54](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-54)
[55](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-55)
[56](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-56)
[57](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-57)
[58](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-58)
[59](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-59)
[60](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-60)
[61](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-61)
[62](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-62)
[63](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-63)
[64](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-64)
[65](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-65)
[66](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-66)
[67](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-67)
[68](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-68) | `def load_ff_rankings(type: Literal["draft", "week", "all"] = "draft") -> pl.DataFrame: """ Load fantasy football rankings and projections. Args: type: Type of rankings to load: - "draft": Draft rankings/projections - "week": Weekly rankings/projections - "all": All historical rankings/projections Returns: Polars DataFrame with fantasy football rankings data. See Also: """ downloader = get_downloader() # Map ranking types to file names file_mapping = { "draft": "db_fpecr_latest", "week": "fp_latest_weekly", "all": "db_fpecr", } if type not in file_mapping: raise ValueError(f"Invalid type '{type}'. Must be one of: draft, week, all") filename = file_mapping[type] if type == "all": df = downloader.download("dynastyprocess", filename) else: df = downloader.download("dynastyprocess", filename, format=DataFormat.CSV) return df` | nflreadpy.load\_ff\_opportunity [¶](https://nflreadpy.nflverse.com/api/load_functions/#nflreadpy.load_ff_opportunity "Permanent link") --------------------------------------------------------------------------------------------------------------------------------------- `[](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-1) load_ff_opportunity( [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-2) seasons: int | list[int] | None = None, [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-3) stat_type: Literal[ [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-4) "weekly", "pbp_pass", "pbp_rush" [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-5) ] = "weekly", [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-6) model_version: Literal["latest", "v1.0.0"] = "latest", [](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-7) ) -> pl.DataFrame` Load fantasy football opportunity data. This function loads opportunity and target share data for fantasy football analysis from the ffverse/ffopportunity repository. Parameters: | Name | Type | Description | Default | | --- | --- | --- | --- | | `seasons` | `int \| list[int] \| None` | Season(s) to load. If None (default), loads current season. If int or list of ints, loads specified season(s). True loads all seasons. | `None` | | `stat_type` | `Literal['weekly', 'pbp_pass', 'pbp_rush']` | Type of stats to load: - "weekly": Weekly opportunity data - "pbp\_pass": Play-by-play passing data - "pbp\_rush": Play-by-play rushing data | `'weekly'` | | `model_version` | `Literal['latest', 'v1.0.0']` | Model version to load: - "latest": Most recent model version - "v1.0.0": Specific model version | `'latest'` | Returns: | Type | Description | | --- | --- | | `DataFrame` | Polars DataFrame with fantasy football opportunity data. | Raises: | Type | Description | | --- | --- | | `ValueError` | If season is outside valid range or invalid parameters provided. | See Also [https://nflreadr.nflverse.com/reference/load\_ff\_opportunity.html](https://nflreadr.nflverse.com/reference/load_ff_opportunity.html) Source code in `src/nflreadpy/load_ffverse.py` | | | | --- | --- | | [71](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-71)
[72](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-72)
[73](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-73)
[74](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-74)
[75](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-75)
[76](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-76)
[77](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-77)
[78](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-78)
[79](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-79)
[80](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-80)
[81](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-81)
[82](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-82)
[83](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-83)
[84](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-84)
[85](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-85)
[86](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-86)
[87](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-87)
[88](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-88)
[89](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-89)
[90](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-90)
[91](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-91)
[92](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-92)
[93](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-93)
[94](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-94)
[95](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-95)
[96](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-96)
[97](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-97)
[98](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-98)
[99](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-99)
[100](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-100)
[101](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-101)
[102](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-102)
[103](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-103)
[104](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-104)
[105](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-105)
[106](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-106)
[107](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-107)
[108](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-108)
[109](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-109)
[110](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-110)
[111](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-111)
[112](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-112)
[113](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-113)
[114](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-114)
[115](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-115)
[116](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-116)
[117](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-117)
[118](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-118)
[119](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-119)
[120](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-120)
[121](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-121)
[122](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-122)
[123](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-123)
[124](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-124)
[125](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-125)
[126](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-126)
[127](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-127)
[128](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-128)
[129](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-129)
[130](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-130)
[131](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-131)
[132](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-132)
[133](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-133)
[134](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-134)
[135](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-135)
[136](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-136)
[137](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-137)
[138](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-138)
[139](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-139)
[140](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-140)
[141](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-141)
[142](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-142)
[143](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-143)
[144](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-144)
[145](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-145)
[146](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-146)
[147](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-147)
[148](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-148)
[149](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-149)
[150](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-150)
[151](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-151)
[152](https://nflreadpy.nflverse.com/api/load_functions/#__codelineno-0-152) | `def load_ff_opportunity( seasons: int \| list[int] \| None = None, stat_type: Literal["weekly", "pbp_pass", "pbp_rush"] = "weekly", model_version: Literal["latest", "v1.0.0"] = "latest", ) -> pl.DataFrame: """ Load fantasy football opportunity data. This function loads opportunity and target share data for fantasy football analysis from the ffverse/ffopportunity repository. Args: seasons: Season(s) to load. If None (default), loads current season. If int or list of ints, loads specified season(s). True loads all seasons. stat_type: Type of stats to load: - "weekly": Weekly opportunity data - "pbp_pass": Play-by-play passing data - "pbp_rush": Play-by-play rushing data model_version: Model version to load: - "latest": Most recent model version - "v1.0.0": Specific model version Returns: Polars DataFrame with fantasy football opportunity data. Raises: ValueError: If season is outside valid range or invalid parameters provided. See Also: """ downloader = get_downloader() # Validate parameters valid_stat_types = ["weekly", "pbp_pass", "pbp_rush"] if stat_type not in valid_stat_types: raise ValueError( f"Invalid stat_type '{stat_type}'. Must be one of: {valid_stat_types}" ) valid_versions = ["latest", "v1.0.0"] if model_version not in valid_versions: raise ValueError( f"Invalid model_version '{model_version}'. Must be one of: {valid_versions}" ) min_year = 2006 current_season = get_current_season() # Handle seasons parameter if seasons is None: seasons = [current_season] elif seasons is True: # Load all available seasons (min_year to current) current_season = get_current_season() seasons = list(range(min_year, current_season + 1)) elif isinstance(seasons, int): seasons = [seasons] # Validate season range for season in seasons: if not isinstance(season, int) or season < min_year or season > current_season: raise ValueError(f"Season must be between {min_year} and {current_season}") # Load data for each season dataframes = [] for season in seasons: # Build the release tag and filename based on the R implementation release_tag = f"{model_version}-data" filename = f"ep_{stat_type}_{season}" # Build the path for the ffopportunity repository path = f"{release_tag}/{filename}" df = downloader.download("ffopportunity", path) dataframes.append(df) # Combine all seasons if len(dataframes) == 1: return dataframes[0] else: return pl.concat(dataframes, how="diagonal_relaxed")` | Back to top ---