Fantasy endpoint for Pro Football Reference.
Provides:
- get_top_players() — Top Fantasy Players (/years/{year}/fantasy.htm)
- get_matchups() — Fantasy Matchups
(/fantasy/{position}-fantasy-matchups.htm)
- get_points_allowed() — Fantasy Points Allowed
(/years/{year}/fantasy-points-against-{position}.htm)
- get_redzone_passing() — Red Zone Passing
(/years/{year}/redzone-passing.htm)
- get_redzone_receiving() — Red Zone Receiving
(/years/{year}/redzone-receiving.htm)
- get_redzone_rushing() — Red Zone Rushing
(/years/{year}/redzone-rushing.htm)
Fantasy
Fantasy(
sdk_config, parent_ref=None, browserless_config=None
)
Bases: BaseSDK
Sub-SDK for PFR Fantasy Rankings pages.
Source code in src/griddy/pfr/basesdk.py
| def __init__(
self,
sdk_config: SDKConfiguration,
parent_ref: Optional[object] = None,
browserless_config: Optional[BrowserlessConfig] = None,
) -> None:
"""Initialize PFR BaseSDK with scraping backends for HTML fetching.
The scraping backend is resolved in the following order:
1. A backend stored on ``sdk_config.scraping_backend`` (set when the
user passes ``scraping_backend`` to :class:`GriddyPFR`).
2. A ``BrowserlessConfig`` passed directly or pre-set by GriddyPFR.
3. A default :class:`Browserless` instance (requires env vars).
Args:
sdk_config: PFR SDK configuration with server details.
parent_ref: Optional reference to the parent SDK instance.
browserless_config: Optional Browserless configuration. Falls back
to the ``_browserless_config`` attribute set by GriddyPFR.
"""
super().__init__(sdk_config=sdk_config, parent_ref=parent_ref)
# Prefer backends already stored on the shared SDKConfiguration
# (propagated automatically to all sub-SDKs).
if sdk_config.scraping_backend is not None:
self.browserless = sdk_config.scraping_backend
else:
if browserless_config is None:
browserless_config = getattr(self, "_browserless_config", None)
self.browserless = Browserless(config=browserless_config)
if sdk_config.async_scraping_backend is not None:
self.async_browserless = sdk_config.async_scraping_backend
else:
if browserless_config is None:
browserless_config = getattr(self, "_browserless_config", None)
self.async_browserless = AsyncBrowserless(config=browserless_config)
|