Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Python 3.13 #284

Merged
merged 4 commits into from
Dec 12, 2024
Merged

Support Python 3.13 #284

merged 4 commits into from
Dec 12, 2024

Conversation

scy
Copy link
Collaborator

@scy scy commented Dec 12, 2024

No description provided.

Signed-off-by: Tim Weber <scy@scy.name>
@scy scy added type:enhancement New feature or request area:backend Related to the server component labels Dec 12, 2024
@scy scy added this to the 4.0: public release milestone Dec 12, 2024
@scy scy self-assigned this Dec 12, 2024
@scy scy mentioned this pull request Dec 12, 2024
scy added 3 commits December 12, 2024 02:01
`uv sync` should work on 3.13 now; tests however are a different beast.

Signed-off-by: Tim Weber <scy@scy.name>
For pytest, any version ≥ 8 will break on
`test_access_config_without_loading` (because the expected exception is
_not_ being raised). This might be because something about the test
setup or fixture handling changed; however, I could not find anything
that looks related in the 8.0 changelog
<https://docs.pytest.org/en/latest/changelog.html#pytest-8-0-0rc1-2023-12-30>.
Will need to look into this in more detail.

For SQLModel, we got lots of type checking and runtime errors on 0.0.11
or higher. I believe this is related to the additional checks they've
introduced there
<https://sqlmodel.tiangolo.com/release-notes/?h=sa_column#0011>. The bad
thing is that it reads like these checks actually protect you from
combining incompatible stuff in your models, which were silently ignored
before, but didn't have the effect intended by the model creator. In
other words: Our models might not be doing what we think they are, and
we should look into this.

Signed-off-by: Tim Weber <scy@scy.name>
Unfortunately, Pydantic < 2 seems to throw warnings when running the
tests. There is no more recent 1.10 version available than the one we
have, so I guess we'll fix this by upgrading to Pydantic 2, but for
that, we'll need FastAPI ≥ 0.100. That doesn't seem so far from our
current 0.95.1, but we're currently limited to SQLModel < 0.0.11 (see
706462b), and SQLModel doesn't support
Pydantic 2 before 0.0.12.

So, fixing the warnings will have to wait until the SQLModel update.

Signed-off-by: Tim Weber <scy@scy.name>
@scy scy changed the title Test with Python 3.13 in GitHub Actions Support Python 3.13 Dec 12, 2024
@scy scy merged commit 3d5a658 into main Dec 12, 2024
8 checks passed
@scy scy deleted the support-py313 branch December 12, 2024 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:backend Related to the server component type:enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant