user [email protected] usertags 1143335 python3.15 tags 1143335 patch thanks
Hi! While rebuilding the python related packages against the Python 3.15rc2 version I ran into this FTBFS [1]. This can be solved by adding the upstream patch 86f1afa feat: Officially support Python 3.14 (#4649) [2]. I've applied this fix in the sandbox [3] to verify that it builds successfully, it should be applied in Debian to get the package back to a healthy state. Happy hacking, [1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4651652/ [2]: https://github.com/litestar-org/litestar/commit/86f1afad8c521bece11bb37393962054d465ee28 [3]: https://debusine.debian.net/debian/r-python-python3.15/ -- "Can you imagine what I would do if I could do all I can?" -- Sun Tzu Saludos /\/\ /\ >< `/
From: Janek Nouvertné <[email protected]> Date: Thu, 26 Mar 2026 17:59:18 +0100 Subject: feat: Officially support Python 3.14 (#4649) Origin: upstream, https://github.com/litestar-org/litestar/commit/86f1afad8c521bece11bb37393962054d465ee28 --- Index: litestar/tests/conftest.py =================================================================== --- litestar.orig/tests/conftest.py 2026-09-20 18:13:16.695079211 +0200 +++ litestar/tests/conftest.py 2026-09-20 18:50:09.666765039 +0200 @@ -17,7 +17,7 @@ from pytest_lazy_fixtures import lf from redis.asyncio import Redis as AsyncRedis from redis.client import Redis -from time_machine import Coordinates, travel +from time_machine import travel #from valkey.asyncio import Valkey as AsyncValkey #from valkey.client import Valkey @@ -39,7 +39,7 @@ from types import ModuleType from pytest import FixtureRequest, MonkeyPatch - from time_machine import Coordinates + from time_machine import Traveller from litestar import Litestar from litestar.types import ( @@ -275,7 +275,7 @@ @pytest.fixture() -def frozen_datetime() -> Generator[Coordinates, None, None]: +def frozen_datetime() -> Generator[Traveller, None, None]: with travel(datetime.utcnow, tick=False) as frozen: yield frozen Index: litestar/tests/e2e/test_response_caching.py =================================================================== --- litestar.orig/tests/e2e/test_response_caching.py 2026-09-20 18:13:06.000000000 +0200 +++ litestar/tests/e2e/test_response_caching.py 2026-09-20 18:50:16.666906738 +0200 @@ -21,7 +21,7 @@ from litestar.types import HTTPScope if TYPE_CHECKING: - from time_machine import Coordinates + from time_machine import Traveller T = TypeVar("T") @@ -60,7 +60,7 @@ assert mock.call_count == 1 -def test_handler_expiration(mock: MagicMock, frozen_datetime: "Coordinates") -> None: +def test_handler_expiration(mock: MagicMock, frozen_datetime: "Traveller") -> None: @get("/cached-local", cache=10) async def handler() -> str: return mock() # type: ignore[no-any-return] @@ -78,7 +78,7 @@ assert mock.call_count == 2 -def test_default_expiration(mock: MagicMock, frozen_datetime: "Coordinates") -> None: +def test_default_expiration(mock: MagicMock, frozen_datetime: "Traveller") -> None: @get("/cached-default", cache=True) async def handler() -> str: return mock() # type: ignore[no-any-return] Index: litestar/tests/unit/test_middleware/test_session/test_server_side_backend.py =================================================================== --- litestar.orig/tests/unit/test_middleware/test_session/test_server_side_backend.py 2026-09-20 18:13:06.000000000 +0200 +++ litestar/tests/unit/test_middleware/test_session/test_server_side_backend.py 2026-09-20 18:50:22.435023505 +0200 @@ -11,7 +11,7 @@ from litestar.testing import TestClient if TYPE_CHECKING: - from time_machine import Coordinates + from time_machine import Traveller from litestar.middleware.session.server_side import ServerSideSessionBackend @@ -70,7 +70,7 @@ server_side_session_backend: "ServerSideSessionBackend", session_data: bytes, memory_store: MemoryStore, - frozen_datetime: "Coordinates", + frozen_datetime: "Traveller", ) -> None: server_side_session_backend.config.max_age = 1 server_side_session_backend.config.renew_on_access = True @@ -121,7 +121,7 @@ server_side_session_backend: "ServerSideSessionBackend", session_data: bytes, memory_store: MemoryStore, - frozen_datetime: "Coordinates", + frozen_datetime: "Traveller", ) -> None: server_side_session_backend.config.max_age = 1 await server_side_session_backend.set("foo", session_data, memory_store) Index: litestar/tests/unit/test_stores.py =================================================================== --- litestar.orig/tests/unit/test_stores.py 2026-09-20 18:13:06.000000000 +0200 +++ litestar/tests/unit/test_stores.py 2026-09-20 18:50:32.243222076 +0200 @@ -12,7 +12,7 @@ import pytest from _pytest.fixtures import FixtureRequest from pytest_mock import MockerFixture -from time_machine import Coordinates +from time_machine import Traveller from litestar.exceptions import ImproperlyConfiguredException from litestar.stores.file import FileStore @@ -69,7 +69,7 @@ assert await store.get(key) == value -async def test_expires(store: Store, frozen_datetime: Coordinates) -> None: +async def test_expires(store: Store, frozen_datetime: Traveller) -> None: await store.set("foo", b"bar", expires_in=1) frozen_datetime.shift(2) @@ -87,7 +87,7 @@ @pytest.mark.flaky(reruns=5) @pytest.mark.parametrize("renew_for", [10, timedelta(seconds=10)]) -async def test_get_and_renew(store: Store, renew_for: int | timedelta, frozen_datetime: Coordinates) -> None: +async def test_get_and_renew(store: Store, renew_for: int | timedelta, frozen_datetime: Traveller) -> None: if isinstance(store, (RedisStore, ValkeyStore)): pytest.skip() @@ -176,7 +176,7 @@ assert await store.get(key) is None -async def test_expires_in(store: Store, frozen_datetime: Coordinates) -> None: +async def test_expires_in(store: Store, frozen_datetime: Traveller) -> None: if not isinstance(store, (RedisStore, ValkeyStore)): pytest.xfail("bug in FileStore and MemoryStore") @@ -460,7 +460,7 @@ @pytest.mark.parametrize("store_fixture", ["memory_store", "file_store"]) -async def test_memory_delete_expired(store_fixture: str, request: FixtureRequest, frozen_datetime: Coordinates) -> None: +async def test_memory_delete_expired(store_fixture: str, request: FixtureRequest, frozen_datetime: Traveller) -> None: store = request.getfixturevalue(store_fixture) expect_expired: list[str] = []

