steam-backlog-enforcer/steam_backlog_enforcer/steam_api.py
Krzysztof kuhy Rudnicki 07e6e15b6e Split steam_api and _scanning_confidence under the cap
steam_api becomes a thin re-export over _steam_models (dataclasses) and
_steam_api_client (HTTP). Inverting it that way rather than moving the
client out and importing it back matters: _steam_api_client needs GameInfo,
so a re-export from the old module would have been a cycle. 47 call sites
import from steam_api and none of them change.

_scanning_confidence sheds the poll backfill/reporting pair into
_polls_reporting, and re-exports both.

Test patch targets follow the code: the tests for _report_poll_confidence
now patch _polls_reporting._echo, because that is where the name is bound.
Patching the re-exporting module intercepts nothing, and the test then
fails on an empty output list rather than an import error, which is why
these are worth being careful about.

1347 tests pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016A1EYiv7e7HGhET84oa9M3
2026-08-24 14:25:43 +02:00

20 lines
599 B
Python

"""Steam Web API surface: data models and the HTTP client.
The implementation lives in :mod:`_steam_models` (dataclasses) and
:mod:`_steam_api_client` (HTTP); this module re-exports both so the 47
call sites that import from ``steam_api`` keep working. Split to keep every
file under the 250-line cap.
"""
from __future__ import annotations
from steam_backlog_enforcer._steam_api_client import SteamAPIClient, SteamAPIError
from steam_backlog_enforcer._steam_models import AchievementInfo, GameInfo
__all__ = [
"AchievementInfo",
"GameInfo",
"SteamAPIClient",
"SteamAPIError",
]