get_configured_session#
- rapidtools.config.get_configured_session(retries: int = 5, backoff_factor: float = 1, allowed_methods: Iterable[str] | None = None, status_forcelist: Iterable[int] | None = None) Session[source]#
Create a requests Session with retry logic, timeouts, and headers.
- Parameters:
retries (int) – Number of total retries to attempt. Defaults to DEFAULT_RETRY_TOTAL (5).
backoff_factor (float) – Time factor for exponential backoff. Defaults to DEFAULT_BACKOFF (1).
allowed_methods (Iterable[str] | None) – HTTP methods that may be retried. Defaults to the idempotent DEFAULT_ALLOWED_METHODS; pass API_RETRY_METHODS to include POST.
status_forcelist (Iterable[int] | None) – Response statuses that trigger a retry. Defaults to DEFAULT_STATUS_FORCELIST.
- Returns:
requests.Session – A configured session object ready for use.
Example
>>> from rapidtools.config import get_configured_session >>> session = get_configured_session(retries=2, backoff_factor=0.5) >>> session.headers['Connection'] 'keep-alive' >>> session.adapters['http://'].max_retries.backoff_factor 0.5