This reverts commit 034cfab4d6.
The commit exposed the value of the compression constants, which seem
to be implementation details, in the public API. I don't see anything
in the documentation about the values of the constants such as
`ZIP_STORED`:
https://docs.python.org/3/library/zipfile.html?highlight=zipfile#zipfile.ZipFile
Example where this makes a difference:
```
from typing import Literal
import zipfile
def f1(p: str, compression: int) -> None:
"""Error: compression should have the type Literal[0, 8, 12, 14]"""
zipfile.ZipFile(p, compression=compression)
def f2(p: str, compression: Literal[0, 8, 12, 14]) -> None:
"""Works, but cryptic and exposes internal implementation details"""
zipfile.ZipFile(p, compression=compression)
```
The values are of constants need to be explicitly specified if somebody
wants to wrap `zipfipe.ZipFile`, which arguably exposes implementation
details in a problematic fashion.
Here is a real-world example where this caused a regression:
https://github.com/pytorch/vision/blob/main/torchvision/datasets/utils.py#L301
Annotate unittest.TestCase.skipTest() as no-return
This method unconditionally raises unittest.SkipTest, which ends a test
method early. unittest.TestCase.fail() works similarly, and is already
annotated with NoReturn to indicate this behaviour.
* Revert "`Collection` is `Sized` (#8977)"
This reverts commit 5bbba5d008.
* Revert "typing: remove metaclass from Sized (#9058)"
This reverts commit a3ce512095.
* Add regression test for issue 9296.
Release: https://pypi.org/pypi/flake8-bugbear/22.12.6
Homepage: https://github.com/PyCQA/flake8-bugbear
Changelog: https://github.com/PyCQA/flake8-bugbear#change-log
Diff: https://github.com/PyCQA/flake8-bugbear/compare/22.10.27...22.12.6
Stubsabot analysis of the diff between the two releases:
- 1 public Python file has been added: `tests/b905_py310.py`.
- 0 files included in typeshed's stubs have been deleted.
- 1 file included in typeshed's stubs has been modified or renamed: `bugbear.py`.
- Total lines of Python code added: 55.
- Total lines of Python code deleted: 9.
If stubtest fails for this PR:
- Leave this PR open (as a reminder, and to prevent stubsabot from opening another PR)
- Fix stubtest failures in another PR, then close this PR
Note that you will need to close and re-open the PR in order to trigger CI
Co-authored-by: stubsabot <>
Completed based on usage of the following libraries in mypy_primer:
- apprise
- comtypes
As well as some of the most popular libraries that use both pywin32 and mypy (all over 1k stars on github):
- certbot
- anki
- flexget
- monkey
- twisted
- salt
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>