mirror of
https://github.com/jwoglom/tconnectsync.git
synced 2026-08-24 10:14:36 -05:00
Make full-package mypy pass on the Python 3.8 CI (older mypy)
The Python 3.8 CI job installs an older mypy that behaves differently from newer releases, surfacing two things the newer local mypy did not: - requests (and other stub-less deps) raise `import-untyped`, which older mypy does not silence via ignore_missing_imports. Add `disable_error_code = import-untyped` so stub-less third-party libs are treated as untyped rather than failing the run. - TandemSourceApi.__init__: older mypy infers secret.TCONNECT_REGION as Optional[str], so region.upper() tripped union-attr. Guard against an unset region (also avoids an AttributeError at runtime) which narrows it to str. Verified with both mypy 1.19.1 and 2.3.0; tests still green (461 passed). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UaQXTakxAKEfeeys5cv3en
This commit is contained in:
@@ -53,3 +53,6 @@ files =
|
||||
tconnectsync
|
||||
follow_imports = silent
|
||||
ignore_missing_imports = True
|
||||
# Third-party deps such as requests ship no type stubs; treat them as untyped
|
||||
# instead of failing (older mypy does not silence this via ignore_missing_imports).
|
||||
disable_error_code = import-untyped
|
||||
|
||||
@@ -221,6 +221,8 @@ class TandemSourceApi:
|
||||
# US default would send EU accounts to the US endpoints (#152).
|
||||
if not region:
|
||||
region = secret.TCONNECT_REGION
|
||||
if not region:
|
||||
raise ValueError("No region configured. Set TCONNECT_REGION to 'US' or 'EU'.")
|
||||
self.region = region.upper()
|
||||
if self.region not in ['US', 'EU']:
|
||||
raise ValueError(f"Invalid region '{region}'. Must be 'US' or 'EU'.")
|
||||
|
||||
Reference in New Issue
Block a user