Drop Python 3.10 support (flake8 itself now requires >=3.11)
B018: only report a map(), filter(), reversed(), zip() or enumerate() statement when the name is the builtin, not when the module
defines or imports its own function under that name, which may well do the work
B031, B911: a bare groupby/batched imported from itertools no longer
counts as itertools when a later module-level def or assignment replaces it
B031, B911: an annotated batched: Callable = itertools.batched counts as itertools, like the same assignment without the annotation
B912, B913: only report map() and zip() when the name is the builtin, not
when a module-level def, class, import or assignment replaces it with
something else
B905, B910: only report zip() and defaultdict(int) when the name is the
builtin zip/collections.defaultdict, not when a module-level def, class, import or assignment replaces it with something else
B018, B031, B905, B910, B911: an import or zip = builtins.zip style alias
inside a function or class no longer overrides the module's own def, class or import of that name, since it only binds the name locally
B042: don't report an __init__ that calls a direct base class's __init__
explicitly and forwards its own arguments unchanged and in order, like Exception.__init__(self, msg, opt), also after another base's __init__
such as a mixin's
Add type hints throughout bugbear, checked with mypy --strict in tox and CI
Configuration
📅Schedule: (in timezone America/Edmonton)
Branch creation
At any time (no schedule defined)
Automerge
At any time (no schedule defined)
🚦Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕Ignore: Close this PR and you won't be reminded about this update again.
If you want to rebase/retry this PR, check this box
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [flake8-bugbear](https://github.com/PyCQA/flake8-bugbear#change-log) ([changelog](https://github.com/PyCQA/flake8-bugbear#change-log)) | minor | `~=26.10.27` → `~=26.11.9` |
---
### Release Notes
<details>
<summary>PyCQA/flake8-bugbear (flake8-bugbear)</summary>
### [`v26.11.9`](https://github.com/PyCQA/flake8-bugbear/releases/tag/26.11.9)
[Compare Source](https://github.com/PyCQA/flake8-bugbear/compare/26.10.27...26.11.9)
- Drop Python 3.10 support (flake8 itself now requires >=3.11)
- B018: only report a `map()`, `filter()`, `reversed()`, `zip()` or
`enumerate()` statement when the name is the builtin, not when the module
defines or imports its own function under that name, which may well do the work
- B031, B911: a bare `groupby`/`batched` imported from `itertools` no longer
counts as `itertools` when a later module-level `def` or assignment replaces it
- B031, B911: an annotated `batched: Callable = itertools.batched` counts as
`itertools`, like the same assignment without the annotation
- B912, B913: only report `map()` and `zip()` when the name is the builtin, not
when a module-level `def`, `class`, import or assignment replaces it with
something else
- B905, B910: only report `zip()` and `defaultdict(int)` when the name is the
builtin `zip`/`collections.defaultdict`, not when a module-level `def`,
`class`, import or assignment replaces it with something else
- B018, B031, B905, B910, B911: an import or `zip = builtins.zip` style alias
inside a function or class no longer overrides the module's own `def`,
`class` or import of that name, since it only binds the name locally
- B042: don't report an `__init__` that calls a direct base class's `__init__`
explicitly and forwards its own arguments unchanged and in order, like
`Exception.__init__(self, msg, opt)`, also after another base's `__init__`
such as a mixin's
- Add type hints throughout bugbear, checked with `mypy --strict` in tox and CI
</details>
---
### Configuration
📅 **Schedule**: (in timezone America/Edmonton)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yMjQuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjIyNC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
~=26.10.27→~=26.11.9Release Notes
PyCQA/flake8-bugbear (flake8-bugbear)
v26.11.9Compare Source
map(),filter(),reversed(),zip()orenumerate()statement when the name is the builtin, not when the moduledefines or imports its own function under that name, which may well do the work
groupby/batchedimported fromitertoolsno longercounts as
itertoolswhen a later module-leveldefor assignment replaces itbatched: Callable = itertools.batchedcounts asitertools, like the same assignment without the annotationmap()andzip()when the name is the builtin, notwhen a module-level
def,class, import or assignment replaces it withsomething else
zip()anddefaultdict(int)when the name is thebuiltin
zip/collections.defaultdict, not when a module-leveldef,class, import or assignment replaces it with something elsezip = builtins.zipstyle aliasinside a function or class no longer overrides the module's own
def,classor import of that name, since it only binds the name locally__init__that calls a direct base class's__init__explicitly and forwards its own arguments unchanged and in order, like
Exception.__init__(self, msg, opt), also after another base's__init__such as a mixin's
mypy --strictin tox and CIConfiguration
📅 Schedule: (in timezone America/Edmonton)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.