Executive profile endpoint for Pro Football Reference.
Provides get() to fetch and parse a PFR executive profile page
(/executives/{executive_id}.htm) and return structured executive data.
Executives
Executives(
sdk_config, parent_ref=None, browserless_config=None
)
Bases: BaseSDK
Sub-SDK for PFR executive profile data.
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)
|