fix Respect VERSIONS file in typeshed #2535#3093
fix Respect VERSIONS file in typeshed #2535#3093asukaminato0721 wants to merge 4 commits intofacebook:mainfrom
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Pull request overview
This PR updates Pyrefly’s bundled typeshed integration to respect typeshed’s stdlib/VERSIONS metadata so that stdlib module availability is gated by the active python_version (e.g., distutils is rejected on Python 3.12+), and removed stdlib names no longer leak back into prefix completions via third-party stubs.
Changes:
- Bundle
typeshed/stdlib/VERSIONSand expose it viapyrefly_bundled::bundled_typeshed_versions(). - Parse
VERSIONSinto version ranges and use it to gate stdlib module lookup and module-prefix enumeration by Python version. - Add tests covering version-gated import failures and prefix filtering.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pyrefly/lib/test/imports.rs | Adds a regression test ensuring distutils import fails on Python 3.12. |
| pyrefly/lib/module/typeshed.rs | Parses stdlib/VERSIONS and adds Python-version-aware stdlib module filtering APIs + unit test. |
| pyrefly/lib/module/finder.rs | Gates bundled-stdlib resolution and prefix results by configured Python version; avoids third-party shadowing of removed stdlib. |
| crates/pyrefly_bundled/update.py | Ensures stdlib/VERSIONS is included when trimming the upstream typeshed archive. |
| crates/pyrefly_bundled/third_party/typeshed/stdlib/VERSIONS | Adds the typeshed stdlib version-availability metadata file to the repo. |
| crates/pyrefly_bundled/src/lib.rs | Generalizes archive extraction and adds bundled_typeshed_versions() + test. |
| crates/pyrefly_bundled/build.rs | Adds rerun-if-changed for stdlib/VERSIONS to keep the bundle up to date. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
connernilsen
left a comment
There was a problem hiding this comment.
Hey @asukaminato0721, thanks for adding this functionality! Just a few requests and then I think we should be good to import.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
The changes look good, but seems like there's a failing test now. Can you fix? I'll pull in afterward |
connernilsen
left a comment
There was a problem hiding this comment.
Requesting changes for the broken test
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Hmm, maybe it's some error on the base revision of your PR. I'll try pulling this in to see if I still see it. |
connernilsen
left a comment
There was a problem hiding this comment.
Sorry, two more things I caught in a last review
|
Diff from mypy_primer, showing the effect of this PR on open source code: pip (https://github.com/pypa/pip)
- ERROR src/pip/_internal/locations/_distutils.py:92:22-76: No matching overload found for function `typing.MutableMapping.update` called with arguments: (dict[str, str | None]) [no-matching-overload]
- ERROR src/pip/_internal/locations/_distutils.py:101:41-107:10: No matching overload found for function `posixpath.join` called with arguments: (str | Any | None, Literal['include'], Literal['site'], str, str) [no-matching-overload]
- ERROR src/pip/_vendor/distlib/util.py:1966:66-93: Argument `dict[str, int | str] | dict[str, Any]` is not assignable to parameter `_config_vars` with type `dict[str, str]` in function `_osx_support.get_platform_osx` [bad-argument-type]
cloud-init (https://github.com/canonical/cloud-init)
+ ERROR cloudinit/distros/netbsd.py:15:12-17: Cannot find module `crypt` [missing-import]
+ ERROR cloudinit/sources/DataSourceAzure.py:157:20-25: Cannot find module `crypt` [missing-import]
aioredis (https://github.com/aio-libs/aioredis)
+ ERROR aioredis/connection.py:11:1-44: Cannot find module `distutils.version` [missing-import]
setuptools (https://github.com/pypa/setuptools)
- ERROR setuptools/__init__.py:85:29-49: Unexpected keyword argument `ignore_option_errors` in function `distutils.dist.Distribution.parse_config_files` [unexpected-keyword]
- ERROR setuptools/__init__.py:87:27-31: Argument `_install_setup_requires.MinimalDistribution` is not assignable to parameter `dist` with type `Distribution` in function `_fetch_build_eggs` [bad-argument-type]
- ERROR setuptools/__init__.py:185:9-29: Class member `Command.reinitialize_command` overrides parent class `Command` in an inconsistent manner [bad-override]
- ERROR setuptools/_distutils/cmd.py:319:16-23: Returned type `distutils.cmd.Command | None` is not assignable to declared return type `setuptools._distutils.cmd.Command` [bad-return]
- ERROR setuptools/_distutils/cmd.py:334:54-83: No matching overload found for function `distutils.dist.Distribution.reinitialize_command` called with arguments: (Command | str, bool | Unknown) [no-matching-overload]
- ERROR setuptools/_distutils/command/build_ext.py:328:21-33: Argument `Literal[0, 1] | bool` is not assignable to parameter `verbose` with type `bool` in function `setuptools._distutils.compilers.C.base.new_compiler` [bad-argument-type]
- ERROR setuptools/_distutils/command/build_py.py:224:39-70: No matching overload found for function `posixpath.abspath` called with arguments: (str | None) [no-matching-overload]
- ERROR setuptools/_distutils/command/install.py:681:29-33: Argument `int | str | Any` is not assignable to parameter `name` with type `PathLike[bytes] | PathLike[str] | bytes | str` in function `os.makedirs` [bad-argument-type]
+ ERROR setuptools/_distutils/command/install.py:681:29-33: Argument `int | str | Unknown` is not assignable to parameter `name` with type `PathLike[bytes] | PathLike[str] | bytes | str` in function `os.makedirs` [bad-argument-type]
- ERROR setuptools/_distutils/command/install_headers.py:39:38-64: No matching overload found for function `setuptools._distutils.cmd.Command.copy_file` called with arguments: (Any, Unknown | None) [no-matching-overload]
+ ERROR setuptools/_distutils/command/install_headers.py:39:38-64: No matching overload found for function `setuptools._distutils.cmd.Command.copy_file` called with arguments: (Unknown, Unknown | None) [no-matching-overload]
- ERROR setuptools/_distutils/command/install_lib.py:152:25-37: Argument `Literal[0, 1] | bool` is not assignable to parameter `verbose` with type `bool` in function `setuptools._distutils.util.byte_compile` [bad-argument-type]
- ERROR setuptools/_distutils/command/sdist.py:284:42-44: Argument `str | None` is not assignable to parameter `item` with type `str` in function `setuptools._distutils.filelist.FileList.append` [bad-argument-type]
- ERROR setuptools/_distutils/command/sdist.py:389:38-61: No matching overload found for function `setuptools._distutils.filelist.FileList.exclude_pattern` called with arguments: (None, prefix=str) [no-matching-overload]
+ ERROR setuptools/_distutils/command/sdist.py:389:38-61: No matching overload found for function `setuptools._distutils.filelist.FileList.exclude_pattern` called with arguments: (None, prefix=Unknown) [no-matching-overload]
- ERROR setuptools/_distutils/command/sdist.py:415:13-37: Argument `tuple[Unknown | None, list[str]]` is not assignable to parameter `args` with type `tuple[StrOrBytesPath, Iterable[str]]` in function `setuptools._distutils.cmd.Command.execute` [bad-argument-type]
- ERROR setuptools/_distutils/command/sdist.py:493:33-58: No matching overload found for function `posixpath.join` called with arguments: (Unknown | None, str) [no-matching-overload]
+ ERROR setuptools/_distutils/command/sdist.py:493:33-58: No matching overload found for function `posixpath.join` called with arguments: (Unknown | None, Unknown) [no-matching-overload]
- ERROR setuptools/_distutils/compilers/C/base.py:1250:34-43: Argument `list[tuple[str, None, str]]` is not assignable to parameter `option_table` with type `list[tuple[str, str | None, str]] | None` in function `distutils.fancy_getopt.FancyGetopt.__init__` [bad-argument-type]
- ERROR setuptools/_distutils/compilers/C/tests/test_mingw.py:48:38-46: Argument `MinGW32Compiler` is not assignable to parameter `compiler` with type `CCompiler` in function `distutils.sysconfig.customize_compiler` [bad-argument-type]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:84:40-74: `(var: Unknown) -> Literal['xxx'] | Unknown` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:126:36-39: `(v: Unknown) -> Literal['xxx']` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:132:36-39: `(v: Unknown) -> Literal['gcc']` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:138:36-39: `(v: Unknown) -> Literal['g++']` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:152:36-39: `(v: Unknown) -> Literal['gcc', 'yes'] | None` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:164:36-39: `(v: Unknown) -> Literal['gcc -pthread -B /bar', 'yes'] | None` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:179:36-39: `(v: Unknown) -> Literal['gcc', 'no'] | None` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:192:36-39: `(v: Unknown) -> Literal['x86_64-pc-linux-gnu-gcc-4.4.2', 'yes'] | None` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:207:36-39: `(v: Unknown) -> Literal['cc', 'yes'] | None` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:222:36-39: `(v: Unknown) -> Literal['cc', 'no'] | None` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:239:36-39: `(v: Unknown) -> Literal['gcc-4.2', 'gcc-4.2 -bundle -undefined dynamic_lookup ']` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:240:37-41: `(*args: Unknown, *, _orig: Overload[() -> dict[str, int | str], (arg: str, /, *args: str) -> list[int | str]] | Unknown = ...) -> dict[str, int | str] | list[int | str | None] | Unknown` is not assignable to attribute `get_config_vars` with type `Overload[
- () -> dict[str, int | str]
- (arg: str, /, *args: str) -> list[int | str]
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:265:36-39: `(v: Unknown) -> Unknown` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:266:37-41: `(*args: Unknown, *, _orig: Overload[() -> dict[str, int | str], (arg: str, /, *args: str) -> list[int | str]] | Unknown = ...) -> dict[str, int | str] | list[int | str | None] | Unknown` is not assignable to attribute `get_config_vars` with type `Overload[
- () -> dict[str, int | str]
- (arg: str, /, *args: str) -> list[int | str]
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:336:36-39: `(v: Unknown) -> Unknown` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:337:37-41: `(*args: Unknown, *, _orig: Overload[() -> dict[str, int | str], (arg: str, /, *args: str) -> list[int | str]] | Unknown = ...) -> dict[str, int | str] | list[int | str | None] | Unknown` is not assignable to attribute `get_config_vars` with type `Overload[
- () -> dict[str, int | str]
- (arg: str, /, *args: str) -> list[int | str]
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:369:36-39: `(v: Unknown) -> Literal['gcc-4.2', 'gcc-4.2 -bundle -undefined dynamic_lookup ']` is not assignable to attribute `get_config_var` with type `Overload[
- (name: Literal['SO']) -> int | str | None
- (name: str) -> int | str | None
- ]` [bad-assignment]
- ERROR setuptools/_distutils/compilers/C/tests/test_unix.py:370:37-41: `(*args: Unknown, *, _orig: Overload[() -> dict[str, int | str], (arg: str, /, *args: str) -> list[int | str]] | Unknown = ...) -> dict[str, int | str] | list[int | str | None] | Unknown` is not assignable to attribute `get_config_vars` with type `Overload[
- () -> dict[str, int | str]
- (arg: str, /, *args: str) -> list[int | str]
- ]` [bad-assignment]
- ERROR setuptools/_distutils/dist.py:697:25-41: Argument `PathLike[str] | str | None` is not assignable to parameter `script_name` with type `PathLike[bytes] | PathLike[str] | bytes | str` in function `distutils.core.gen_usage` [bad-argument-type]
- ERROR setuptools/_distutils/dist.py:713:29-45: Argument `PathLike[str] | str | None` is not assignable to parameter `script_name` with type `PathLike[bytes] | PathLike[str] | bytes | str` in function `distutils.core.gen_usage` [bad-argument-type]
- ERROR setuptools/_distutils/dist.py:883:57-61: Argument `Self@setuptools._distutils.dist.Distribution` is not assignable to parameter `dist` with type `distutils.dist.Distribution` in function `setuptools._distutils.cmd.Command.__init__` [bad-argument-type]
- ERROR setuptools/_distutils/dist.py:972:44-56: Argument `Command | str` is not assignable to parameter `command` with type `str` in function `Distribution.get_command_obj` [bad-argument-type]
- ERROR setuptools/_distutils/dist.py:980:23-35: Cannot set item in `dict[str, bool]` [unsupported-operation]
- ERROR setuptools/_distutils/sysconfig.py:423:9-15: Unexpected keyword argument `errors` in function `distutils.text_file.TextFile.__init__` [unexpected-keyword]
- ERROR setuptools/_distutils/tests/test_build_ext.py:502:54-67: `+` is not supported between `Literal['etree']` and `int` [unsupported-operation]
- ERROR setuptools/_distutils/tests/test_build_ext.py:502:54-67: `+` is not supported between `Literal['etree']` and `None` [unsupported-operation]
- ERROR setuptools/_distutils/tests/test_build_ext.py:509:57-70: `+` is not supported between `Literal['etree']` and `int` [unsupported-operation]
- ERROR setuptools/_distutils/tests/test_build_ext.py:509:57-70: `+` is not supported between `Literal['etree']` and `None` [unsupported-operation]
- ERROR setuptools/_distutils/tests/test_build_ext.py:518:70-85: `+` is not supported between `Literal['portmap']` and `int` [unsupported-operation]
- ERROR setuptools/_distutils/tests/test_build_ext.py:518:70-85: `+` is not supported between `Literal['portmap']` and `None` [unsupported-operation]
- ERROR setuptools/_distutils/tests/test_build_ext.py:524:60-75: `+` is not supported between `Literal['portmap']` and `int` [unsupported-operation]
- ERROR setuptools/_distutils/tests/test_build_ext.py:524:60-75: `+` is not supported between `Literal['portmap']` and `None` [unsupported-operation]
- ERROR setuptools/_distutils/tests/test_dir_util.py:115:37-41: Argument `None` is not assignable to parameter `dst` with type `str` in function `distutils.dir_util.copy_tree` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_dir_util.py:134:20-36: Argument `TestDirUtil.test_mkpath_exception_uncached.FailPath` is not assignable to parameter `name` with type `str` in function `distutils.dir_util.mkpath` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_dist.py:227:33-42: `Literal['one,two']` is not assignable to attribute `command_packages` with type `list[str] | None` [bad-assignment]
- ERROR setuptools/_distutils/tests/test_dist.py:235:39-44: Argument `Literal['ok2']` is not assignable to parameter `level` with type `int` in function `distutils.dist.Distribution.announce` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_extension.py:66:23-24: Argument `Literal[1]` is not assignable to parameter `name` with type `str` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_extension.py:73:31-37: Argument `Literal['file']` is not assignable to parameter `sources` with type `list[str]` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_extension.py:75:31-42: Argument `list[int | str]` is not assignable to parameter `sources` with type `list[str]` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_extension.py:78:33-79: Argument `list[Path]` is not assignable to parameter `sources` with type `list[str]` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_extension.py:82:33-51: Argument `tuple[Literal['file1'], Literal['file2']]` is not assignable to parameter `sources` with type `list[str]` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_extension.py:84:33-51: Argument `set[str]` is not assignable to parameter `sources` with type `list[str]` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_extension.py:86:33-57: Argument `Iterator[Any]` is not assignable to parameter `sources` with type `list[str]` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_extension.py:88:33-65: Argument `list[Path | str]` is not assignable to parameter `sources` with type `list[str]` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_extension.py:114:57-61: Unexpected keyword argument `chic` in function `distutils.extension.Extension.__init__` [unexpected-keyword]
- ERROR setuptools/_distutils/tests/test_install.py:179:20-26: `Literal['user']` is not assignable to attribute `user` with type `bool` [bad-assignment]
- ERROR setuptools/_distutils/tests/test_sysconfig.py:50:31-65: Argument `int | str | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_sysconfig.py:62:31-65: Argument `int | str | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_sysconfig.py:109:42-46: Argument `TestSysconfig.customize_compiler.compiler` is not assignable to parameter `compiler` with type `CCompiler` in function `distutils.sysconfig.customize_compiler` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_util.py:69:29-62: Argument `Path` is not assignable to parameter `pathname` with type `str` in function `distutils.util.convert_path` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_version.py:55:42-50: Argument `object` is not assignable to parameter `other` with type `StrictVersion | str` in function `distutils.version.StrictVersion._cmp` [bad-argument-type]
- ERROR setuptools/_distutils/tests/test_version.py:77:41-49: Argument `object` is not assignable to parameter `other` with type `LooseVersion | str` in function `distutils.version.LooseVersion._cmp` [bad-argument-type]
- ERROR setuptools/command/__init__.py:16:9-37: Cannot set item in `list[str]` [unsupported-operation]
- ERROR setuptools/command/bdist_egg.py:238:25-39: Argument `Unknown | None` is not assignable to parameter `directory` with type `PathLike[bytes] | PathLike[str] | bytes | str` in function `distutils.dir_util.remove_tree` [bad-argument-type]
- ERROR setuptools/command/bdist_egg.py:318:51-77: No matching overload found for function `posixpath.join` called with arguments: (Unknown | None, str) [no-matching-overload]
+ ERROR setuptools/command/bdist_egg.py:318:51-77: No matching overload found for function `posixpath.join` called with arguments: (Unknown | None, Unknown) [no-matching-overload]
- ERROR setuptools/command/build_ext.py:159:9-25: Class member `build_ext.get_ext_filename` overrides parent class `build_ext` in an inconsistent manner [bad-override-param-name]
- ERROR setuptools/command/egg_info.py:297:21-34: Argument `Unknown | None` is not assignable to parameter `name` with type `str` in function `distutils.cmd.Command.mkpath` [bad-argument-type]
- ERROR setuptools/command/egg_info.py:484:9-15: Class member `FileList.extend` overrides parent class `FileList` in an inconsistent manner [bad-override-param-name]
- ERROR setuptools/command/install_lib.py:94:9-18: Class member `install_lib.copy_tree` overrides parent class `install_lib` in an inconsistent manner [bad-override]
+ ERROR setuptools/config/pyprojecttoml.py:446:31-52: `Unknown | None` is not assignable to attribute `py_modules` with type `Never` [bad-assignment]
+ ERROR setuptools/config/pyprojecttoml.py:448:29-48: `Unknown | None` is not assignable to attribute `packages` with type `Never` [bad-assignment]
- ERROR setuptools/dist.py:995:9-28: Cannot set field `global_options` [read-only]
- ERROR setuptools/dist.py:996:9-26: Cannot set field `negative_opt` [read-only]
- ERROR setuptools/tests/config/test_pyprojecttoml.py:392:53-55: Argument `dict[@_, @_]` is not assignable to parameter `script_args` with type `list[str] | None` in function `distutils.core.run_setup` [bad-argument-type]
- ERROR setuptools/tests/config/test_setupcfg.py:79:35-60: `None` is not assignable to upper bound `Distribution | DistributionMetadata` of type variable `Target` [bad-specialization]
- ERROR setuptools/tests/config/test_setupcfg.py:376:24-49: Argument `list[str] | str | None` is not assignable to parameter `iterable` with type `Iterable[str]` in function `set.__init__` [bad-argument-type]
- ERROR setuptools/tests/config/test_setupcfg.py:387:24-49: Argument `list[str] | str | None` is not assignable to parameter `iterable` with type `Iterable[str]` in function `set.__init__` [bad-argument-type]
- ERROR setuptools/tests/test_bdist_wheel.py:224:23-31: Argument `distutils.dist.Distribution | setuptools.dist.Distribution` is not assignable to parameter `dist` with type `setuptools.dist.Distribution` in function `setuptools.Command.__init__` [bad-argument-type]
- ERROR setuptools/tests/test_build_ext.py:53:33-61: Argument `int | str | None` is not assignable to parameter `suffix` with type `str | tuple[str, ...]` in function `str.endswith` [bad-argument-type]
- ERROR setuptools/tests/test_config_discovery.py:624:54-56: Argument `dict[@_, @_]` is not assignable to parameter `script_args` with type `list[str] | None` in function `distutils.core.run_setup` [bad-argument-type]
- ERROR setuptools/tests/test_editable_install.py:255:38-42: Argument `distutils.dist.Distribution` is not assignable to parameter `dist` with type `setuptools.dist.Distribution` in function `setuptools.Command.__init__` [bad-argument-type]
- ERROR setuptools/tests/test_sdist.py:809:9-27: Cannot set field `sub_commands` [read-only]
comtypes (https://github.com/enthought/comtypes)
+ ERROR comtypes/test/setup.py:3:1-33: Cannot find module `distutils.core` [missing-import]
streamlit (https://github.com/streamlit/streamlit)
- ERROR lib/tests/testutil.py:161:31-37: Could not import `Format` from `annotationlib` [missing-module-attribute]
- ERROR lib/tests/testutil.py:161:39-49: Could not import `ForwardRef` from `annotationlib` [missing-module-attribute]
+ ERROR lib/tests/testutil.py:161:5-49: Cannot find module `annotationlib` [missing-import]
dd-trace-py (https://github.com/DataDog/dd-trace-py)
- ERROR ddtrace/vendor/psutil/setup.py:306:23-29: Argument `list[tuple[str, int]]` is not assignable to parameter `define_macros` with type `list[tuple[str, str | None]] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:321:9-25: Unpacked keyword argument `bool` is not assignable to parameter `include_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:321:9-25: Unpacked keyword argument `bool` is not assignable to parameter `undef_macros` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:321:9-25: Unpacked keyword argument `bool` is not assignable to parameter `library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:321:9-25: Unpacked keyword argument `bool` is not assignable to parameter `runtime_library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:321:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_objects` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:321:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_compile_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:321:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_link_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:321:9-25: Unpacked keyword argument `bool` is not assignable to parameter `export_symbols` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:321:9-25: Unpacked keyword argument `bool` is not assignable to parameter `swig_opts` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:321:9-25: Unpacked keyword argument `bool` is not assignable to parameter `depends` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:321:9-25: Unpacked keyword argument `bool` is not assignable to parameter `language` with type `str | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:330:23-29: Argument `list[tuple[str, int]]` is not assignable to parameter `define_macros` with type `list[tuple[str, str | None]] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:339:9-25: Unpacked keyword argument `bool` is not assignable to parameter `include_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:339:9-25: Unpacked keyword argument `bool` is not assignable to parameter `undef_macros` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:339:9-25: Unpacked keyword argument `bool` is not assignable to parameter `library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:339:9-25: Unpacked keyword argument `bool` is not assignable to parameter `libraries` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:339:9-25: Unpacked keyword argument `bool` is not assignable to parameter `runtime_library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:339:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_objects` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:339:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_compile_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:339:9-25: Unpacked keyword argument `bool` is not assignable to parameter `export_symbols` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:339:9-25: Unpacked keyword argument `bool` is not assignable to parameter `swig_opts` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:339:9-25: Unpacked keyword argument `bool` is not assignable to parameter `depends` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:339:9-25: Unpacked keyword argument `bool` is not assignable to parameter `language` with type `str | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:354:23-29: Argument `list[tuple[str, int]]` is not assignable to parameter `define_macros` with type `list[tuple[str, str | None]] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:358:9-25: Unpacked keyword argument `bool` is not assignable to parameter `include_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:358:9-25: Unpacked keyword argument `bool` is not assignable to parameter `undef_macros` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:358:9-25: Unpacked keyword argument `bool` is not assignable to parameter `library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:358:9-25: Unpacked keyword argument `bool` is not assignable to parameter `runtime_library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:358:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_objects` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:358:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_compile_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:358:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_link_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:358:9-25: Unpacked keyword argument `bool` is not assignable to parameter `export_symbols` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:358:9-25: Unpacked keyword argument `bool` is not assignable to parameter `swig_opts` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:358:9-25: Unpacked keyword argument `bool` is not assignable to parameter `depends` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:358:9-25: Unpacked keyword argument `bool` is not assignable to parameter `language` with type `str | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:373:23-29: Argument `list[tuple[str, int]]` is not assignable to parameter `define_macros` with type `list[tuple[str, str | None]] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:377:9-25: Unpacked keyword argument `bool` is not assignable to parameter `include_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:377:9-25: Unpacked keyword argument `bool` is not assignable to parameter `undef_macros` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:377:9-25: Unpacked keyword argument `bool` is not assignable to parameter `library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:377:9-25: Unpacked keyword argument `bool` is not assignable to parameter `runtime_library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:377:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_objects` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:377:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_compile_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:377:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_link_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:377:9-25: Unpacked keyword argument `bool` is not assignable to parameter `export_symbols` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:377:9-25: Unpacked keyword argument `bool` is not assignable to parameter `swig_opts` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:377:9-25: Unpacked keyword argument `bool` is not assignable to parameter `depends` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:377:9-25: Unpacked keyword argument `bool` is not assignable to parameter `language` with type `str | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:392:23-29: Argument `list[tuple[str, int]]` is not assignable to parameter `define_macros` with type `list[tuple[str, str | None]] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:396:9-25: Unpacked keyword argument `bool` is not assignable to parameter `include_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:396:9-25: Unpacked keyword argument `bool` is not assignable to parameter `undef_macros` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:396:9-25: Unpacked keyword argument `bool` is not assignable to parameter `library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:396:9-25: Unpacked keyword argument `bool` is not assignable to parameter `runtime_library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:396:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_objects` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:396:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_compile_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:396:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_link_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:396:9-25: Unpacked keyword argument `bool` is not assignable to parameter `export_symbols` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:396:9-25: Unpacked keyword argument `bool` is not assignable to parameter `swig_opts` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:396:9-25: Unpacked keyword argument `bool` is not assignable to parameter `depends` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:396:9-25: Unpacked keyword argument `bool` is not assignable to parameter `language` with type `str | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:409:23-29: Argument `list[tuple[str, int]]` is not assignable to parameter `define_macros` with type `list[tuple[str, str | None]] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `include_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `undef_macros` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `libraries` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `runtime_library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_objects` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_compile_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_link_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `export_symbols` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `swig_opts` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `depends` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:412:9-25: Unpacked keyword argument `bool` is not assignable to parameter `language` with type `str | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:422:23-29: Argument `list[tuple[str, int]]` is not assignable to parameter `define_macros` with type `list[tuple[str, str | None]] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:426:9-25: Unpacked keyword argument `bool` is not assignable to parameter `include_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:426:9-25: Unpacked keyword argument `bool` is not assignable to parameter `undef_macros` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:426:9-25: Unpacked keyword argument `bool` is not assignable to parameter `library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:426:9-25: Unpacked keyword argument `bool` is not assignable to parameter `runtime_library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:426:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_objects` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:426:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_compile_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:426:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_link_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:426:9-25: Unpacked keyword argument `bool` is not assignable to parameter `export_symbols` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:426:9-25: Unpacked keyword argument `bool` is not assignable to parameter `swig_opts` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:426:9-25: Unpacked keyword argument `bool` is not assignable to parameter `depends` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:426:9-25: Unpacked keyword argument `bool` is not assignable to parameter `language` with type `str | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:437:23-29: Argument `list[tuple[str, int]]` is not assignable to parameter `define_macros` with type `list[tuple[str, str | None]] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:440:9-25: Unpacked keyword argument `bool` is not assignable to parameter `include_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:440:9-25: Unpacked keyword argument `bool` is not assignable to parameter `undef_macros` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:440:9-25: Unpacked keyword argument `bool` is not assignable to parameter `library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:440:9-25: Unpacked keyword argument `bool` is not assignable to parameter `runtime_library_dirs` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:440:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_objects` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:440:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_compile_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:440:9-25: Unpacked keyword argument `bool` is not assignable to parameter `extra_link_args` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:440:9-25: Unpacked keyword argument `bool` is not assignable to parameter `export_symbols` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:440:9-25: Unpacked keyword argument `bool` is not assignable to parameter `swig_opts` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:440:9-25: Unpacked keyword argument `bool` is not assignable to parameter `depends` with type `list[str] | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
- ERROR ddtrace/vendor/psutil/setup.py:440:9-25: Unpacked keyword argument `bool` is not assignable to parameter `language` with type `str | None` in function `distutils.extension.Extension.__init__` [bad-argument-type]
mypy (https://github.com/python/mypy)
+ ERROR mypy/typeshed/stdlib/_zstd.pyi:3:1-74: Cannot find module `compression.zstd` [missing-import]
+ ERROR mypy/typeshed/stdlib/asynchat.pyi:1:8-16: Cannot find module `asyncore` [missing-import]
+ ERROR mypy/typeshed/stdlib/compression/zstd/__init__.pyi:4:1-54: Cannot find module `compression.zstd._zstdfile` [missing-import]
+ ERROR mypy/typeshed/stdlib/compression/zstd/__init__.pyi:7:8-13: Cannot find module `_zstd` [missing-import]
+ ERROR mypy/typeshed/stdlib/compression/zstd/__init__.pyi:8:1-102: Cannot find module `_zstd` [missing-import]
+ ERROR mypy/typeshed/stdlib/compression/zstd/_zstdfile.pyi:3:1-41: Cannot find module `compression._common` [missing-import]
+ ERROR mypy/typeshed/stdlib/compression/zstd/_zstdfile.pyi:4:1-38: Cannot find module `compression.zstd` [missing-import]
+ ERROR mypy/typeshed/stdlib/compression/zstd/_zstdfile.pyi:9:1-87: Cannot find module `_zstd` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/ccompiler.pyi:3:1-55: Cannot find module `distutils.file_util` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/cmd.pyi:5:1-52: Cannot find module `distutils.command.bdist_dumb` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/cmd.pyi:11:1-58: Cannot find module `distutils.command.build_scripts` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/cmd.pyi:12:1-42: Cannot find module `distutils.command.check` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/cmd.pyi:13:1-42: Cannot find module `distutils.command.clean` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/cmd.pyi:14:1-44: Cannot find module `distutils.command.config` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/cmd.pyi:17:1-64: Cannot find module `distutils.command.install_egg_info` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/cmd.pyi:18:1-62: Cannot find module `distutils.command.install_headers` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/cmd.pyi:21:1-48: Cannot find module `distutils.command.register` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/cmd.pyi:23:1-44: Cannot find module `distutils.command.upload` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/cmd.pyi:25:1-55: Cannot find module `distutils.file_util` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/dist.pyi:5:1-52: Cannot find module `distutils.command.bdist_dumb` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/dist.pyi:11:1-58: Cannot find module `distutils.command.build_scripts` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/dist.pyi:12:1-42: Cannot find module `distutils.command.check` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/dist.pyi:13:1-42: Cannot find module `distutils.command.clean` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/dist.pyi:14:1-44: Cannot find module `distutils.command.config` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/dist.pyi:17:1-64: Cannot find module `distutils.command.install_egg_info` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/dist.pyi:18:1-62: Cannot find module `distutils.command.install_headers` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/dist.pyi:21:1-48: Cannot find module `distutils.command.register` [missing-import]
+ ERROR mypy/typeshed/stdlib/distutils/dist.pyi:23:1-44: Cannot find module `distutils.command.upload` [missing-import]
- ERROR mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi:12:9-19: Class member `FixExitfunc.start_tree` overrides parent class `BaseFix` in an inconsistent manner [bad-override]
+ ERROR mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi:2:1-31: Cannot find module `lib2to3` [missing-import]
+ ERROR mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi:1:1-31: Cannot find module `lib2to3` [missing-import]
+ ERROR mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi:1:1-31: Cannot find module `lib2to3` [missing-import]
+ ERROR mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi:1:1-31: Cannot find module `lib2to3` [missing-import]
+ ERROR mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi:1:1-31: Cannot find module `lib2to3` [missing-import]
+ ERROR mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi:1:1-31: Cannot find module `lib2to3` [missing-import]
+ ERROR mypy/typeshed/stdlib/smtpd.pyi:1:8-16: Cannot find module `asynchat` [missing-import]
+ ERROR mypy/typeshed/stdlib/smtpd.pyi:2:8-16: Cannot find module `asyncore` [missing-import]
discord.py (https://github.com/Rapptz/discord.py)
- ERROR discord/utils.py:1455:37-68: Object of class `ZstdDecompressor` has no attribute `decompressobj` [missing-attribute]
attrs (https://github.com/python-attrs/attrs)
- ERROR src/attr/_compat.py:27:16-45: No attribute `get_annotations` in module `annotationlib` [missing-attribute]
+ ERROR src/attr/_compat.py:21:12-25: Cannot find module `annotationlib` [missing-import]
- ERROR src/attr/_compat.py:28:25-45: No attribute `Format` in module `annotationlib` [missing-attribute]
|
Primer Diff Classification✅ 10 improvement(s) | 10 project(s) total | +49, -89 errors 10 improvement(s) across pip, cloud-init, aioredis, setuptools, comtypes, streamlit, dd-trace-py, mypy, discord.py, attrs.
Detailed analysis✅ Improvement (10)pip (-3)
For the first error (line 92), For the second error (line 101), For the third error (line 1966 of All three errors are false positives that are correctly removed by making pyrefly respect the Python version constraints in typeshed's VERSIONS file, which prevents distutils (and potentially other version-constrained stdlib modules) from being incorrectly resolved when targeting Python 3.12+.
cloud-init (+2)
aioredis (+1)
setuptools (+7, -64)
Of the 7 new errors:
The net effect is 64 false positives removed and ~7 new errors added (2 of which contain
comtypes (+1)
streamlit (+1, -2)
dd-trace-py (-16)
mypy (+36, -1)
Per-category reasoning:
discord.py (-1)
attrs (+1, -2)
Was this helpful? React with 👍 or 👎 Classification by primer-classifier (10 LLM) |
Summary
Fixes #2535
making bundled stdlib resolution respect typeshed’s stdlib/VERSIONS metadata.
bundled stdlib modules are now gated by the active python_version, so import distutils is rejected on Python 3.12+, and removed stdlib names are also filtered out of prefix results instead of leaking back in through third-party stubs.
Test Plan
add test