Wemake-python-styleguide

Latest version: v0.19.2

Safety actively analyzes 625610 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 10

0.19.2

Bugfixes

- Fixes `WrongEmptyLinesCountViolation` crash on `Callable[..., ...]` 2899

0.19.1

This release fixes how `...` is used. For example, it is common to define
function stubs / protocols like this:

python
def some_function(): ...


Now, `...` will be excluded from several rules.

Bugfixes

- Fixes `TooDeepNestingViolation` not to trigger
on `...` in functions and classes
- Fixes `StatementHasNoEffectViolation` not to trigger
on `...` in functions and classes, when it is the only node

0.19.0

This minor version will be the last release with all the `flake8` plugins.
In the future this project will be migrated to be used together with `ruff`.

Features

- Adds official `python3.12` support
- **Breaking**: drops `python3.8` support
- **Breaking**: Reconsider `object` required base class exception:
since `class Klass[_Type]` must not contain `object`,
this rule is change to be the opposite:
`object` explicit base class must not be used.
You can use `ruff` to change all `object`-based types to the new style:
`ruff check --select=UP004 --fix .`
https://docs.astral.sh/ruff/rules/useless-object-inheritance/
- **Breaking**: allow positional-only parameters,
since it is required by `mypy` when using `Concatenate`
- Adds support for naming rules for PEP695 type params
- Due to how `f`-string are parsed in `python3.12` several token-based
violations are not reported anymore for them:
`WrongMultilineStringViolation`, `ImplicitRawStringViolation`,
`WrongUnicodeEscapeViolation`, `RawStringNotNeededViolation`
- `wemake` output formatter now respects `NO_COLOR=1` option
to disable text highlighting. See https://no-color.org
- Adds `ImportObjectCollisionViolation` to detect
the same objects imported under different aliases
- Adds `reveal_locals` to the list of forbidden functions
- Updates `flake8` to `7.x`

Bugfixes

- Fixes `ForbiddenInlineIgnoreViolation` config parsing. 2590
- Fixes `WrongEmptyLinesCountViolation` for func definitions with ellipsis. 2847
- Fixes `WrongEmptyLinesCountViolation` for multiline implicit string concatination. 2787
- Fixes `ObjectInBaseClassesListViolation`, `UnpythonicGetterSetterViolation`,
`ImplicitInConditionViolation`, `RedundantSubscriptViolation`,
`TooLongCompareViolation` to include better error details
- Fixes `TooDeepNestingViolation` for `TryStar` and `Match` statements
- Fixes `TooLongTryBodyViolation` and `TooManyExceptCasesViolation`
to work for `TryStar` statements as well
- Fixes `UselessNodeViolation` to work with `TryStar`
- Fixes `DuplicateExceptionViolation` to work with `TryStar`
- Fixes `TryExceptMultipleReturnPathViolation` to work with `TryStar`
- Fixes `IncorrectExceptOrderViolation` to work with `TryStar`
- Fixes that `MatchStar` was not checked in pattern matching name assignments
- Fixes pattern matching support
in `BlockAndLocalOverlapViolation` and `OuterScopeShadowingViolation`

Misc

- Updates multiple`flake8-*` dependencies
- Fixes multiple typos in docs

0.18.0

Features

- **Breaking**: drops `python3.7` support, because it has almost reached its EOL
- Adds `python3.11` support
- Bump `flake8` to version `5.x`
- Bump `flake8-*` dependencies to newer versions
- Added `ChainedIsViolation` 2443
- Added `BuggySuperContextViolation` 2310

Bugfixes

- Make `generic_visit()` check script properly handle `with` statements.
- Allow calling magic methods with the same name as the enclosing method 2381
- Fix WrongEmptyLinesCountViolation false positive 2531
- Fix OpenWithoutContextManagerViolation false positive 2577

Misc

- Replaced `flakehell` mentions to `flakeheaven` 2409

0.17.0

Features

- **Breaking**: drops `python3.6` support
- Adds support for pattern matching naming rules, same as other variables
- Adds `--show-violation-links` option to show links to violation docs
- Adds `__init_subclass__` in the beginning of accepted methods
order as per WPS338 2411
- Adds `WrongEmptyLinesCountViolation` to check
for too many lines in functions and methods definitions 2486

Bugfixes

- Fixes `WPS226` false positives on `|` use in `SomeType | AnotherType`
type hints syntax
- Now `-1` is not reported to be an overused expression
- Allow `__aiter__` to be async iterator
- Adds violation method name to error message of `YieldMagicMethodViolation`
- Fixes direct docker image invocation 2492

Misc

- Adds full violation codes to docs and `BaseViolation.full_code` 2409
- Fix documentation mismatch between default setting
for `max-string-usages` and enforced rule 2456
- Domain name was changed from `wemake-python-stylegui.de`
to `wemake-python-styleguide.rtfd.io`

0.16.1

Bugfixes

- Fixes crash on `'Literal["raise"]'` annotation 2341
- Fixes `WPS471` was not detected on complex assignment targets 2301
- Fixes `flake8-bandit` and `bandit` version conflict 2368

Page 1 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.