Skip to content

Commit d7af469

Browse files
gjtorikianclaude
andcommitted
fix: declare typing_extensions as a runtime dependency
Generated model files across the SDK import `TypeAlias` (and other symbols) from `typing_extensions`, but it was not declared in pyproject.toml. On Python 3.10–3.12 it was pulled in transitively, but on 3.13/3.14 the smoke test against the built wheel failed with `No module named 'typing_extensions'`. Add it to runtime deps and assert on it in the smoke test so this regresses loudly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f2d8a40 commit d7af469

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

pyproject.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,12 @@ license = "MIT"
77
authors = [{ name = "WorkOS", email = "sdk@workos.com" }]
88
requires-python = ">=3.10"
99

10-
dependencies = ["cryptography~=46.0", "httpx~=0.28", "pyjwt~=2.12"]
10+
dependencies = [
11+
"cryptography~=46.0",
12+
"httpx~=0.28",
13+
"pyjwt~=2.12",
14+
"typing_extensions~=4.0",
15+
]
1116

1217
[project.urls]
1318
Homepage = "https://workos.com/docs/sdks/python"

tests/smoke_test.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,8 +205,11 @@ def test_dependencies_available() -> None:
205205
import cryptography
206206
import httpx
207207
import jwt
208+
import typing_extensions
208209

209-
print("✓ Core dependencies available (httpx, cryptography, pyjwt)")
210+
print(
211+
"✓ Core dependencies available (httpx, cryptography, pyjwt, typing_extensions)"
212+
)
210213

211214

212215
def main() -> int:

uv.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)