Skip to content

Commit da16e32

Browse files
committed
2 parents 9aa3771 + aa89106 commit da16e32

File tree

2 files changed

+43
-15
lines changed

2 files changed

+43
-15
lines changed

.github/workflows/main.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,13 @@ jobs:
7070
timeout-minutes: 75
7171
steps:
7272
- uses: actions/checkout@v4
73+
- name: Install build dependencies
74+
# Install dependencies for building packages on pre-release Pythons
75+
# jaraco/skeleton#161
76+
if: matrix.python == '3.14' && matrix.platform == 'ubuntu-latest'
77+
run: |
78+
sudo apt update
79+
sudo apt install -y libxml2-dev libxslt-dev
7380
- name: Setup Python
7481
id: python-install
7582
uses: actions/setup-python@v5

ruff.toml

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,30 @@ exclude = [
99

1010
[lint]
1111
extend-select = [
12-
"C901",
13-
"W",
12+
# upstream
13+
14+
"C901", # complex-structure
15+
"I", # isort
16+
"PERF401", # manual-list-comprehension
17+
"W", # pycodestyle Warning
18+
19+
# Ensure modern type annotation syntax and best practices
20+
# Not including those covered by type-checkers or exclusive to Python 3.11+
21+
"FA", # flake8-future-annotations
22+
"F404", # late-future-import
23+
"PYI", # flake8-pyi
24+
"UP006", # non-pep585-annotation
25+
"UP007", # non-pep604-annotation
26+
"UP010", # unnecessary-future-import
27+
"UP035", # deprecated-import
28+
"UP037", # quoted-annotation
29+
"UP043", # unnecessary-default-type-args
1430

1531
# local
1632
"ANN2", # missing-return-type-*
1733
"F", # Pyflakes
1834
"F404", # late-future-import
1935
"FA", # flake8-future-annotations
20-
"I", # isort
2136
"PERF", # Perflint
2237
"PGH", # pygrep-hooks (blanket-* rules)
2338
"PT", # flake8-pytest-style
@@ -28,18 +43,11 @@ extend-select = [
2843
"YTT", # flake8-2020
2944
]
3045
ignore = [
31-
"PERF203", # try-except-in-loop, micro-optimisation with many false-positive. Worth checking but don't block CI
32-
"PT007", # temporarily disabled, TODO: configure and standardize to preference
33-
"PT011", # temporarily disabled, TODO: tighten expected error
34-
"PT012", # pytest-raises-with-multiple-statements, avoid extra dummy methods for a few lines, sometimes we explicitly assert in case of no error
35-
"TRY003", # raise-vanilla-args, avoid multitude of exception classes
36-
"TRY301", # raise-within-try, it's handy
37-
"UP015", # redundant-open-modes, explicit is preferred
38-
"UP038", # Using `X | Y` in `isinstance` call is slower and more verbose https://github.com/astral-sh/ruff/issues/7871
39-
# Only enforcing return type annotations for public functions
40-
"ANN202", # missing-return-type-private-function
41-
"ANN204", # missing-return-type-special-method
42-
46+
# upstream
47+
48+
# Typeshed rejects complex or non-literal defaults for maintenance and testing reasons,
49+
# irrelevant to this project.
50+
"PYI011", # typed-argument-default-in-stub
4351
# https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules
4452
"W191",
4553
"E111",
@@ -55,6 +63,19 @@ ignore = [
5563
"COM819",
5664
"ISC001",
5765
"ISC002",
66+
67+
# local
68+
"PERF203", # try-except-in-loop, micro-optimisation with many false-positive. Worth checking but don't block CI
69+
"PT007", # temporarily disabled, TODO: configure and standardize to preference
70+
"PT011", # temporarily disabled, TODO: tighten expected error
71+
"PT012", # pytest-raises-with-multiple-statements, avoid extra dummy methods for a few lines, sometimes we explicitly assert in case of no error
72+
"TRY003", # raise-vanilla-args, avoid multitude of exception classes
73+
"TRY301", # raise-within-try, it's handy
74+
"UP015", # redundant-open-modes, explicit is preferred
75+
"UP038", # Using `X | Y` in `isinstance` call is slower and more verbose https://github.com/astral-sh/ruff/issues/7871
76+
# Only enforcing return type annotations for public functions
77+
"ANN202", # missing-return-type-private-function
78+
"ANN204", # missing-return-type-special-method
5879
]
5980

6081
[lint.per-file-ignores]

0 commit comments

Comments
 (0)