Skip to content

Commit bb9119d

Browse files
SAKMZclaude
andcommitted
Pin dev toolchain to the versions the gates are validated against
CI resolved ruff 0.6.9 from the "^0.6" constraint while local development ran 0.15.22, so the two were enforcing different rule sets. CI failed on UP038 (prefer "X | Y" over a tuple in isinstance) -- a rule since retired upstream, because the union form is slower at runtime than the tuple it replaces. The code was never wrong; the linters simply disagreed. Pin pytest, pytest-cov, mypy, ruff and hypothesis to the majors actually in use. Caret constraints on ruff (0.x) keep a future 0.16 rule set from breaking CI unprompted. Also drop respx: declared as a dev dependency but imported nowhere, and not installed in the working environment. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent b9453f5 commit bb9119d

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

‎pyproject.toml‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,15 @@ issues = "https://github.com/SAKMZ/n8n-python-sdk/issues"
2424
packages = [{ include = "n8n_iac" }]
2525

2626
[tool.poetry.group.dev.dependencies]
27-
pytest = "^8.2"
28-
pytest-cov = "^5.0"
29-
mypy = "^1.11"
30-
ruff = "^0.6"
31-
hypothesis = "^6.100"
32-
respx = "^0.21"
27+
# Pinned to the majors the gates are actually validated against. Floating
28+
# these apart from the developer toolchain means CI lints with a different
29+
# rule set than local runs -- which is exactly how UP038 (since retired
30+
# upstream) failed CI on code that passed locally.
31+
pytest = "^9.1"
32+
pytest-cov = "^7.1"
33+
mypy = "^2.3"
34+
ruff = "^0.15"
35+
hypothesis = "^6.157"
3336

3437
[build-system]
3538
# poetry-core 2.x is the floor: this project declares metadata in the PEP 621

0 commit comments

Comments
 (0)