Closed befeleme closed 3 months ago
I confirm this still happens on Python 3.13.0b4.
I don't even reach this...
❯ ./scripts/test
+ '[' -z ']'
+ scripts/check
+ ./scripts/sync-version
+ venv/bin/ruff format --check --diff starlette tests
67 files already formatted
+ venv/bin/mypy starlette tests
Success: no issues found in 67 source files
+ venv/bin/ruff check starlette tests
+ venv/bin/coverage run -m pytest
ImportError while loading conftest '/Users/marcelotryle/dev/encode/starlette/tests/conftest.py'.
tests/conftest.py:8: in <module>
from starlette.testclient import TestClient
starlette/testclient.py:33: in <module>
import httpx
venv/lib/python3.13/site-packages/httpx/__init__.py:2: in <module>
from ._api import delete, get, head, options, patch, post, put, request, stream
venv/lib/python3.13/site-packages/httpx/_api.py:6: in <module>
from ._client import Client
venv/lib/python3.13/site-packages/httpx/_client.py:32: in <module>
from ._transports.default import AsyncHTTPTransport, HTTPTransport
venv/lib/python3.13/site-packages/httpx/_transports/default.py:32: in <module>
import httpcore
venv/lib/python3.13/site-packages/httpcore/__init__.py:1: in <module>
from ._api import request, stream
venv/lib/python3.13/site-packages/httpcore/_api.py:5: in <module>
from ._sync.connection_pool import ConnectionPool
venv/lib/python3.13/site-packages/httpcore/_sync/__init__.py:1: in <module>
from .connection import HTTPConnection
venv/lib/python3.13/site-packages/httpcore/_sync/connection.py:12: in <module>
from .._synchronization import Lock
venv/lib/python3.13/site-packages/httpcore/_synchronization.py:11: in <module>
import trio
venv/lib/python3.13/site-packages/trio/__init__.py:75: in <module>
from ._path import Path as Path
venv/lib/python3.13/site-packages/trio/_path.py:203: in <module>
class Path(metaclass=AsyncAutoWrapperType):
venv/lib/python3.13/site-packages/trio/_path.py:147: in __init__
type(cls).generate_forwards(cls, attrs)
venv/lib/python3.13/site-packages/trio/_path.py:164: in generate_forwards
raise TypeError(attr_name, type(attr))
E TypeError: ('parser', <class 'module'>)
But also... We have trio pinned on our requirements.
I have a fix for this on https://github.com/encode/starlette/pull/2662.
This is fixed on master. 👍
Two tests fail with Python 3.13.0b2 on a missing key 'content-type'. I run then during the RPM build on version 0.37.2. @musicinmybrain reports it can be reproduced via a virtual environment:
pip install -e .[full]; pip install -r requirements.txt; pip install --update trio; python -m pytest
)