What's Changed
Rules
- [
flake8-pyi
] Implement flake8-pyi's PYI026 by @LaBatata101 in #5844 - [
flake8-pyi
] Implement flake8-pyi'sPYI017
by @qdegraaf in #5895 - [
flake8-pyi
] Implement flake8-pyi'sPYI036
by @density in #5668 - [
flake8-pyi
] Implement flake8-pyi'sPYI041
by @density in #5722 - [
flake8-use-pathlib
] Implementos-path-getsize
andos-path-get(a|m|c)-time
(PTH202-205
) by @sbrugman in #5835 - [
flake8-use-pathlib
] Implementpath-constructor-default-argument
(PTH201
) by @sbrugman in #5833 - [
pandas-vet
] Implement constant series rule (PD101
) by @sbrugman in #5802 - [
pylint
] Implement Pylint'sconsider-using-in
(PLR1714
) by @tjkuson in #5193
Rule changes
- [
flake8-annotations
] Check forAny
in other types forANN401
by @dhruvmanila in #5601 - [
flake8-bugbear
] Add autofix for B004 by @density in #5788 - [
flake8-bugbear
] RemoveB904
's lowercase exemption by @charliermarsh in #5751 - [
flake8-use-pathlib
] extend PTH118 withos.sep
by @sbrugman in #5935 - [
pyupgrade
] Expand scope ofquoted-annotation
rule (UP037
) by @charliermarsh in #5766 - [
pyupgrade
] Extend PEP 604 rewrites to support some quoted annotations by @charliermarsh in #5725 - [
ruff
] ExpandRUF015
to include all expression types by @charliermarsh in #5767
Bug Fixes
- Consider single element subscript expr for implicit optional by @dhruvmanila in #5717
- Ignore
Enum
-and-str
subclasses for slots enforcement by @charliermarsh in #5749 - Avoid removing raw strings in comparison fixes by @charliermarsh in #5755
- Fix nested calls to
sorted
with differing arguments by @density in #5761 - Use unused variable detection to power
incorrect-dict-iterator
by @charliermarsh in #5763 - Include alias when formatting import-from structs by @guillaumeLepape in #5786
- Make
lint_only
aware of the source kind by @dhruvmanila in #5876 - Restore
redefined-while-unused
violations in classes by @charliermarsh in #5926 - Flatten nested tuples when fixing UP007 violations by @charliermarsh in #5724
- Ignore Jupyter Notebooks for
--add-noqa
by @dhruvmanila in #5727 - Avoid checking
EXE001
andEXE002
on WSL by @tjkuson in #5735 - Properly group assignment targets by @MichaReiser in #5728
- Avoid stack overflow for non-BitOr binary types by @charliermarsh in #5743
- Move function visit out of
Expr::Call
branches by @charliermarsh in #5772 - [B006] Add bytes to immutable types by @harupy in #5776
- Format
SetComp
by @lkh42t in #5774 - Gate
runtime-import-in-type-checking-block
(TCH004
) behind enabled flag by @charliermarsh in #5789 - perf: only compute start offset for overlong lines by @sbrugman in #5811
- Change
pandas-use-of-dot-read-table
rule to emit only whenread_table
is used on CSV data by @tjkuson in #5807 - Do not fix
NamedTuple
calls containing both a list of fields and keywords by @harupy in #5799 - Ignore directories when collecting files to lint by @harupy in #5775
- Add filename to
noqa
warnings by @sobolevn in #5856 - Handle io errors gracefully by @konstin in #5611
- Allow
respect_gitignore
when not in a git repo by @dhruvmanila in #5937
New Contributors
- @eggplants made their first contribution in #5741
- @guillaumeLepape made their first contribution in #5786
- @odiseo0 made their first contribution in #5888
- @DavidCain made their first contribution in #5889
- @LaBatata101 made their first contribution in #5844
Full Changelog: v0.0.278...v0.0.279