diff --git a/.github/workflows/sdk-py-test.yml b/.github/workflows/sdk-py-test.yml index 5b3b11b2d..a1ccaab6c 100644 --- a/.github/workflows/sdk-py-test.yml +++ b/.github/workflows/sdk-py-test.yml @@ -35,4 +35,4 @@ jobs: - uses: ./.github/actions/setup env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - run: mise run agentstack-sdk-py:e2e-test --python=${{ matrix.python }} + - run: mise run agentstack-sdk-py:test-all --python=${{ matrix.python }} diff --git a/apps/agentstack-sdk-py/src/agentstack_sdk/platform/user.py b/apps/agentstack-sdk-py/src/agentstack_sdk/platform/user.py index 9609a64e3..afcc3d222 100644 --- a/apps/agentstack-sdk-py/src/agentstack_sdk/platform/user.py +++ b/apps/agentstack-sdk-py/src/agentstack_sdk/platform/user.py @@ -13,7 +13,7 @@ class User(pydantic.BaseModel): id: str role: Literal["admin", "developer", "user"] - email: pydantic.EmailStr + email: str created_at: pydantic.AwareDatetime @staticmethod diff --git a/apps/agentstack-sdk-py/tasks.toml b/apps/agentstack-sdk-py/tasks.toml index 8e0e2cf08..fc9903cb1 100644 --- a/apps/agentstack-sdk-py/tasks.toml +++ b/apps/agentstack-sdk-py/tasks.toml @@ -75,7 +75,7 @@ outputs = { auto = true } # test -["agentstack-sdk-py:e2e-test"] +["agentstack-sdk-py:test-all"] run = """ #!/bin/bash uv run --python={{option(name="python", default="3.13")}} pytest diff --git a/apps/agentstack-sdk-py/tests/unit/test_import_all.py b/apps/agentstack-sdk-py/tests/unit/test_import_all.py new file mode 100644 index 000000000..a8ba1cde3 --- /dev/null +++ b/apps/agentstack-sdk-py/tests/unit/test_import_all.py @@ -0,0 +1,27 @@ +# Copyright 2025 © BeeAI a Series of LF Projects, LLC +# SPDX-License-Identifier: Apache-2.0 + +import importlib +import pkgutil + +import pytest + +import agentstack_sdk + + +@pytest.mark.unit +def test_import_all(): + """ + Recursively import all packages from agentstack_sdk to ensure no syntax errors + or missing dependencies. + """ + package = agentstack_sdk + prefix = package.__name__ + "." + + for _, name, _ in pkgutil.walk_packages(package.__path__, prefix): + try: + importlib.import_module(name) + print("imported", name) + except Exception: + print("failed to import", name) + raise