Skip to content

Fantasy

fantasy

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)