infra: migrate to uv and ruff - #251
Merged
Merged
Conversation
…-azure-auth version to 5.2.0
JonasKs
reviewed
Jul 25, 2025
JonasKs
left a comment
Member
There was a problem hiding this comment.
Oh wow, tusen takk!
I'm on vacation, so I won't be able to do a proper review until late next week/early August.
Contributor
Author
|
Hi @JonasKs . Any chance to look into it? |
Member
|
Hi, om so sorry, I've totally forgotten. I'll try to get to it this weekend. Thanks for the ping! |
Member
|
Sorry! I didn't get time to do this. I'll get to it next week! |
Kilo59
reviewed
Nov 5, 2025
Kilo59
reviewed
Nov 5, 2025
Contributor
Author
|
I'm closing as there's little interest in the migration. Feel free to reopen if it's interesting to keep moving forward. |
- set requires-python to >=3.11 and relock dependencies - run the CI test matrix on Python 3.11, 3.12 and 3.13 - bump ruff target-version to py311 and add 3.12/3.13 classifiers - point package URLs and author contact at the vibber-ai org Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
# Conflicts: # CONTRIBUTING.md # pyproject.toml # tests/multi_tenant/test_websocket.py
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
- add Python 3.14 to the CI matrix and the classifiers - bump the dev/test dependencies to versions with 3.13/3.14 wheels (pytest, pytest-asyncio, anyio, trio, openapi-spec-validator, ...) and drop the unused pytest-aiohttp and ipython - constrain httpcore >=1.0.9 (older releases fail to import on 3.14) while keeping httpx <0.28 for the test client's app= shortcut - reset FastAPI dependency overrides between tests so the order the suite runs in can no longer leak configuration between tests - test against FastAPI 0.111.1 and 0.138.2 and default the lockfile to 0.138.2; update the OpenAPI schema test for pydantic's additionalProperties and FastAPI's scoped security requirements (skipping the strict check on older FastAPI where the schema differs) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The [tool.ruff] include/exclude patterns were copied from black's regex config, but ruff uses globs — so ruff matched zero files and every "passing" ruff run was vacuous. Remove them in favour of ruff's defaults. - restore import sorting (I) and syntax upgrades (UP) via ruff lint rules, replacing the isort and pyupgrade hooks the migration dropped, and delete the now-dead [tool.isort] section - apply the resulting fixes across the codebase (PEP 604 unions, builtin generics, collections.abc imports, sorted imports) - bump cryptography floor to >=48.0.1 (vibber-ai#268) so the migration doesn't reintroduce the vulnerable range Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- convert the test clients from the removed AsyncClient(app=...) shortcut to ASGITransport, unpin respx and drop the httpcore constraint that only existed to keep the old httpx importable on Python 3.14 - README/docs: uv is the standard installer now (drop pip/poetry variants), python badge 3.11+, replace black/isort badges with ruff Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fold in the open dependabot bumps: actions/checkout v5, actions/setup-python v6, actions/setup-node v6, codeql-action v4, requests 2.34.2. actions/cache is no longer used (setup-uv caches) and h11 is already on 0.16.0. Also pass CODECOV_TOKEN to the codecov upload. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The package imports pydantic v2 APIs (ConfigDict), so the advertised fastapi>0.68.0 floor could never import — FastAPI below 0.100 pins pydantic v1. Declare the floor CI actually tests. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- swap the HTTP client from httpx to httpx2 (pydantic's maintained continuation) in the library, demo project and tests; this also removes starlette's TestClient deprecation warning - mock outbound calls with pytest-httpx2 (the respx author's httpx2 plugin); keep the old fixture semantics of not requiring every mocked route to be called, and keep classic httpx.Response objects in side_effect lists until respx supports fork response types (lundberg/respx#324) - declare pydantic>=2.6.2 explicitly — the package imports pydantic v2 APIs directly and can't rely on FastAPI's permissive pydantic range - version 5.2.1 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Member
|
@rhuanbarreto thanks for your work here! Sorry it took a while. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #210
Closes #268