-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: Infrastructure
-
None
-
Python Drivers
-
None
-
None
-
None
-
None
-
None
-
None
Context
PYTHON-5964 adopts the ruff 0.16 default rule set and suppresses the newly defaulted categories. That suppresses ~376 existing violations.
Violation counts and verification: ruff 0.16 upgrade plan gist.
PYTHON-6164 (PR #3126) dropped the stale py39 target-version. That change newly activates UP035, UP041, ASYNC109, UP042, UP017, and B905, which the PR ignores rather than fixes.
Definition of done
- Each category suppressed in PYTHON-5964 is either enabled with its violations fixed or kept ignored with a documented rationale in pyproject.toml.
- Each rule ignored in PYTHON-6164 (UP035, UP041, ASYNC109, UP042, UP017, B905) is either enabled and fixed or confirmed as a permanent ignore with a documented rationale.
- Lint and typing checks pass clean.
Pitfalls
- Some ignores are deliberate: ASYNC109 conflicts with CSOT timeout semantics, and UP042 changes _str_ behavior. Do not change runtime behavior to satisfy a rule.
- Enable categories one at a time to keep PRs reviewable.
- depends on
-
PYTHON-5964 Adopt ruff 0.16 default rule set in addition to existing rule sets
-
- Backlog
-
-
PYTHON-6164 Exclude the drivers-evergreen-tools submodule from linting
-
- Closed
-