chore(deps): update dev dependencies (ruff, nox, nox-uv)#601
chore(deps): update dev dependencies (ruff, nox, nox-uv)#601gjtorikian merged 1 commit intonext-majorfrom
Conversation
Greptile SummaryThis PR modernises the Python SDK's dev toolchain by updating several out-of-date dev dependencies and relaxing version constraints from exact pins ( Confidence Score: 5/5Safe to merge; all remaining findings are minor style/cleanup suggestions with no impact on runtime behaviour. All code changes are straightforward: a direct import substitution (six → stdlib), a cosmetic with-statement reformat, and tooling invocation updates (mypy → pyright). The only actionable finding is the leftover [tool.mypy] section, which is dead configuration and does not affect correctness or CI behaviour. pyproject.toml — the stale [tool.mypy] section should be cleaned up and a [tool.pyright] config block added. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[nox ci / nox typecheck] --> B{Type checker}
B -->|Before| C[mypy\nmypy-extensions]
B -->|After| D[pyright\nnodeenv]
E[test suite] --> F{URL parsing}
F -->|Before| G[six.moves.urllib.parse]
F -->|After| H[urllib.parse stdlib]
I[pyproject.toml version pins] --> J{Specifier}
J -->|Before| K[== exact pin]
J -->|After| L[~= compatible release]
|
Description
Several of our dev dependencies are wildly out of date. This PR updates them; some of them are major breaking changes, so I'll be targeting the next major version. Similarly, our pyproject toml used a quite restrictive
==check (meaning, "exact version only"). I loosened them to~=(meaning, minor and patch version updates are okay).Notable changes includes:
six. This is a compatibility layer between Python 2 and 3; with our new support for newer Python versions, it's no longer neededmypywithpyright. Themypytypechecker is quite slow, and modern Python tends to usepyright.Note: Linting CI still fails on pyright because the types need to be corrected, but that will be sorted out in the autogenerated SDK PR. Tests all pass, though.