diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ba69519b3..cbf1a8567 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -48,6 +48,7 @@ jobs: strategy: matrix: python-version: + - "3.14" - "3.13" - "3.12" - "3.11" @@ -55,6 +56,9 @@ jobs: - "3.9" - "3.8" pydantic-version: ["pydantic-v1", "pydantic-v2"] + exclude: + - python-version: "3.14" + pydantic-version: "pydantic-v1" fail-fast: false steps: - name: Dump GitHub context diff --git a/pyproject.toml b/pyproject.toml index 41ef1eb76..cac8059f4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,6 +39,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP :: HTTP Servers", "Topic :: Internet :: WWW/HTTP", ] diff --git a/requirements-tests.txt b/requirements-tests.txt index 79aac7e7e..c5de4157e 100644 --- a/requirements-tests.txt +++ b/requirements-tests.txt @@ -4,7 +4,7 @@ pytest >=7.1.3,<9.0.0 coverage[toml] >= 6.5.0,< 8.0 mypy ==1.14.1 dirty-equals ==0.9.0 -sqlmodel==0.0.25 +sqlmodel==0.0.27 flask >=1.1.2,<4.0.0 anyio[trio] >=3.2.1,<5.0.0 PyJWT==2.9.0 diff --git a/tests/test_tutorial/test_sql_databases/test_tutorial001.py b/tests/test_tutorial/test_sql_databases/test_tutorial001.py index cc7e590df..6604a2fd3 100644 --- a/tests/test_tutorial/test_sql_databases/test_tutorial001.py +++ b/tests/test_tutorial/test_sql_databases/test_tutorial001.py @@ -45,6 +45,8 @@ def get_client(request: pytest.FixtureRequest): with TestClient(mod.app) as c: yield c + # Clean up connection explicitely to avoid resource warning + mod.engine.dispose() def test_crud_app(client: TestClient): diff --git a/tests/test_tutorial/test_sql_databases/test_tutorial002.py b/tests/test_tutorial/test_sql_databases/test_tutorial002.py index 8a98f9a2d..2c4e0988c 100644 --- a/tests/test_tutorial/test_sql_databases/test_tutorial002.py +++ b/tests/test_tutorial/test_sql_databases/test_tutorial002.py @@ -45,6 +45,8 @@ def get_client(request: pytest.FixtureRequest): with TestClient(mod.app) as c: yield c + # Clean up connection explicitely to avoid resource warning + mod.engine.dispose() def test_crud_app(client: TestClient):