Skip to content

Hall of Fame

hof

Hall of Fame endpoint for Pro Football Reference.

Provides list() to fetch and parse the PFR Hall of Fame page.

Hof

Hof(sdk_config, parent_ref=None, browserless_config=None)

Bases: BaseSDK

Sub-SDK for the PFR Hall of Fame page.

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)