From ef2d0ac63b678611f24fbc01eb1df54ad8e7d2b9 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 16:19:45 -0800 Subject: [PATCH 01/35] Upgrade mypy --- requirements-tests.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-tests.txt b/requirements-tests.txt index f3ea0a2b8abf..318c0358ab0f 100644 --- a/requirements-tests.txt +++ b/requirements-tests.txt @@ -1,4 +1,4 @@ -mypy==0.910 +mypy==0.920 pytype==2021.11.29; platform_system != "Windows" # must match .pre-commit-config.yaml black==21.12b0 From 865a992cb7dd62945dd19cc3b6a2dce50c3decfb Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 16:27:45 -0800 Subject: [PATCH 02/35] get rid of unittest._log for now --- stdlib/VERSIONS | 1 - 1 file changed, 1 deletion(-) diff --git a/stdlib/VERSIONS b/stdlib/VERSIONS index e82161d97cb6..9a97d38f4800 100644 --- a/stdlib/VERSIONS +++ b/stdlib/VERSIONS @@ -261,7 +261,6 @@ typing: 3.5- typing_extensions: 2.7- unicodedata: 2.7- unittest: 2.7- -unittest._log: 3.9- urllib: 2.7- uu: 2.7- uuid: 2.7- From 0377def7d4816cbe3b1d52bd616181d8fe9b04ec Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 16:33:00 -0800 Subject: [PATCH 03/35] allow pickle --- tests/stubtest_allowlists/py3_common.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/stubtest_allowlists/py3_common.txt b/tests/stubtest_allowlists/py3_common.txt index 141d84b57d4e..6aeedcd79719 100644 --- a/tests/stubtest_allowlists/py3_common.txt +++ b/tests/stubtest_allowlists/py3_common.txt @@ -164,6 +164,8 @@ numbers.Number.__hash__ # typeshed marks this as abstract but code just sets th optparse.Values.__getattr__ # Some attributes are set in __init__ using setattr pickle.Pickler.persistent_id # C pickler persistent_id is an attribute pickle.Unpickler.persistent_load # C unpickler persistent_load is an attribute +pickle._Unpickler\..* # Best effort typing for undocumented internals +pickle._Pickler\..* # Best effort typing for undocumented internals poplib.POP3_SSL.stls # bad declaration of inherited function. See poplib.pyi select.poll # Depends on configuration selectors.DevpollSelector # Depends on configuration From f9628a0b6b9a189760e47d71006207ce5429ab60 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 16:39:43 -0800 Subject: [PATCH 04/35] allow DynamicClassAttribute --- tests/stubtest_allowlists/py310.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/stubtest_allowlists/py310.txt b/tests/stubtest_allowlists/py310.txt index 03b972214117..116548f3f3f7 100644 --- a/tests/stubtest_allowlists/py310.txt +++ b/tests/stubtest_allowlists/py310.txt @@ -107,6 +107,7 @@ contextvars.ContextVar.reset contextvars.ContextVar.set io.IncrementalNewlineDecoder.setstate typing.SupportsRound.__round__ +types.DynamicClassAttribute..* # Alias for property, but has positional-only differences # These enums derive from (str, Enum). See comment in py3_common.txt pstats.SortKey.__new__ From f35df4dad452c4902b6c99af9089102724086942 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 16:41:46 -0800 Subject: [PATCH 05/35] allow characters_written --- tests/stubtest_allowlists/py3_common.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/stubtest_allowlists/py3_common.txt b/tests/stubtest_allowlists/py3_common.txt index 6aeedcd79719..9d32f07df687 100644 --- a/tests/stubtest_allowlists/py3_common.txt +++ b/tests/stubtest_allowlists/py3_common.txt @@ -236,6 +236,14 @@ builtins.reveal_locals builtins.reveal_type # GetSetDescriptor that always raises AttributeError builtins.OSError.characters_written +builtins.EnvironmentError.characters_written +builtins.IOError.characters_written +dbm.dumb.error.characters_written +os.error.characters_written +posix.error.characters_written +resource.error.characters_written +select.error.characters_written +socket.error.characters_written collections.abc.* # Types are re-exported from _collections_abc, so errors should be fixed there distutils.command.check.SilentReporter # only defined if docutils in installed hmac.HMAC.blocksize # use block_size instead From 339cd00de1def915854d8ae773de978c461a856d Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 17:08:24 -0800 Subject: [PATCH 06/35] allow pymysql --- stubs/PyMySQL/@tests/stubtest_allowlist.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/stubs/PyMySQL/@tests/stubtest_allowlist.txt b/stubs/PyMySQL/@tests/stubtest_allowlist.txt index 30e7a1729bc9..f8fe06591c4e 100644 --- a/stubs/PyMySQL/@tests/stubtest_allowlist.txt +++ b/stubs/PyMySQL/@tests/stubtest_allowlist.txt @@ -6,7 +6,6 @@ pymysql.cursors.Cursor.__del__ # DictCursorMixin changes method types of inherited classes, but doesn't contain much at runtime pymysql.cursors.DictCursorMixin.__iter__ pymysql.cursors.DictCursorMixin.fetch[a-z]* -pymysql.err.ER pymysql.escape_dict pymysql.escape_sequence pymysql.escape_string From c372241c4c39f07c2ad4e5c992aee94e544e9b66 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 16:44:19 -0800 Subject: [PATCH 07/35] trigger ci on all third party stubs --- stubs/DateTimeRange/METADATA.toml | 2 +- stubs/Deprecated/METADATA.toml | 2 +- stubs/JACK-Client/METADATA.toml | 2 +- stubs/Markdown/METADATA.toml | 2 +- stubs/Pillow/METADATA.toml | 2 +- stubs/PyMySQL/METADATA.toml | 2 +- stubs/PyYAML/METADATA.toml | 2 +- stubs/Pygments/METADATA.toml | 2 +- stubs/Send2Trash/METADATA.toml | 2 +- stubs/aiofiles/METADATA.toml | 2 +- stubs/annoy/METADATA.toml | 2 +- stubs/appdirs/METADATA.toml | 2 +- stubs/atomicwrites/METADATA.toml | 2 +- stubs/aws-xray-sdk/METADATA.toml | 2 +- stubs/babel/METADATA.toml | 2 +- stubs/backports.ssl_match_hostname/METADATA.toml | 2 +- stubs/backports_abc/METADATA.toml | 2 +- stubs/beautifulsoup4/METADATA.toml | 2 +- stubs/bleach/METADATA.toml | 2 +- stubs/boto/METADATA.toml | 2 +- stubs/braintree/METADATA.toml | 2 +- stubs/cachetools/METADATA.toml | 2 +- stubs/caldav/METADATA.toml | 2 +- stubs/certifi/METADATA.toml | 2 +- stubs/characteristic/METADATA.toml | 2 +- stubs/chardet/METADATA.toml | 2 +- stubs/click-spinner/METADATA.toml | 2 +- stubs/colorama/METADATA.toml | 2 +- stubs/commonmark/METADATA.toml | 2 +- stubs/contextvars/METADATA.toml | 2 +- stubs/croniter/METADATA.toml | 2 +- stubs/cryptography/METADATA.toml | 2 +- stubs/dataclasses/METADATA.toml | 2 +- stubs/dateparser/METADATA.toml | 2 +- stubs/decorator/METADATA.toml | 2 +- stubs/docopt/METADATA.toml | 2 +- stubs/docutils/METADATA.toml | 2 +- stubs/editdistance/METADATA.toml | 2 +- stubs/emoji/METADATA.toml | 2 +- stubs/entrypoints/METADATA.toml | 2 +- stubs/enum34/METADATA.toml | 2 +- stubs/filelock/METADATA.toml | 2 +- stubs/first/METADATA.toml | 2 +- stubs/flake8-2020/METADATA.toml | 2 +- stubs/flake8-bugbear/METADATA.toml | 2 +- stubs/flake8-builtins/METADATA.toml | 2 +- stubs/flake8-docstrings/METADATA.toml | 2 +- stubs/flake8-plugin-utils/METADATA.toml | 2 +- stubs/flake8-simplify/METADATA.toml | 2 +- stubs/flake8-typing-imports/METADATA.toml | 2 +- stubs/fpdf2/METADATA.toml | 2 +- stubs/freezegun/METADATA.toml | 2 +- stubs/frozendict/METADATA.toml | 2 +- stubs/futures/METADATA.toml | 2 +- stubs/google-cloud-ndb/METADATA.toml | 2 +- stubs/hdbcli/METADATA.toml | 2 +- stubs/html5lib/METADATA.toml | 2 +- stubs/httplib2/METADATA.toml | 2 +- stubs/humanfriendly/METADATA.toml | 2 +- stubs/ipaddress/METADATA.toml | 2 +- stubs/jmespath/METADATA.toml | 2 +- stubs/jsonschema/METADATA.toml | 2 +- stubs/ldap3/METADATA.toml | 2 +- stubs/mock/METADATA.toml | 2 +- stubs/mypy-extensions/METADATA.toml | 2 +- stubs/mysqlclient/METADATA.toml | 2 +- stubs/oauthlib/METADATA.toml | 2 +- stubs/opentracing/METADATA.toml | 2 +- stubs/orjson/METADATA.toml | 2 +- stubs/paramiko/METADATA.toml | 2 +- stubs/polib/METADATA.toml | 2 +- stubs/prettytable/METADATA.toml | 2 +- stubs/protobuf/METADATA.toml | 2 +- stubs/psutil/METADATA.toml | 2 +- stubs/psycopg2/METADATA.toml | 2 +- stubs/pyOpenSSL/METADATA.toml | 2 +- stubs/pyRFC3339/METADATA.toml | 2 +- stubs/pyaudio/METADATA.toml | 2 +- stubs/pycurl/METADATA.toml | 2 +- stubs/pyfarmhash/METADATA.toml | 2 +- stubs/pysftp/METADATA.toml | 2 +- stubs/pytest-lazy-fixture/METADATA.toml | 2 +- stubs/python-dateutil/METADATA.toml | 2 +- stubs/python-gflags/METADATA.toml | 2 +- stubs/python-nmap/METADATA.toml | 2 +- stubs/python-slugify/METADATA.toml | 2 +- stubs/pytz/METADATA.toml | 2 +- stubs/pyvmomi/METADATA.toml | 2 +- stubs/redis/METADATA.toml | 2 +- stubs/requests/METADATA.toml | 2 +- stubs/retry/METADATA.toml | 2 +- stubs/selenium/METADATA.toml | 2 +- stubs/setuptools/METADATA.toml | 2 +- stubs/simplejson/METADATA.toml | 2 +- stubs/singledispatch/METADATA.toml | 2 +- stubs/six/METADATA.toml | 2 +- stubs/slumber/METADATA.toml | 2 +- stubs/stripe/METADATA.toml | 2 +- stubs/tabulate/METADATA.toml | 2 +- stubs/termcolor/METADATA.toml | 2 +- stubs/toml/METADATA.toml | 2 +- stubs/toposort/METADATA.toml | 2 +- stubs/ttkthemes/METADATA.toml | 2 +- stubs/typed-ast/METADATA.toml | 2 +- stubs/tzlocal/METADATA.toml | 2 +- stubs/ujson/METADATA.toml | 2 +- stubs/vobject/METADATA.toml | 2 +- stubs/waitress/METADATA.toml | 2 +- stubs/xxhash/METADATA.toml | 2 +- 109 files changed, 109 insertions(+), 109 deletions(-) diff --git a/stubs/DateTimeRange/METADATA.toml b/stubs/DateTimeRange/METADATA.toml index f522021080f9..25722e46ad51 100644 --- a/stubs/DateTimeRange/METADATA.toml +++ b/stubs/DateTimeRange/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.2.*" +version = "1.2.*" requires = ["types-python-dateutil"] diff --git a/stubs/Deprecated/METADATA.toml b/stubs/Deprecated/METADATA.toml index 1f0b2e4bf4a2..f53aad5343f3 100644 --- a/stubs/Deprecated/METADATA.toml +++ b/stubs/Deprecated/METADATA.toml @@ -1,3 +1,3 @@ -version = "1.2.*" +version = "1.2.*" python2 = true requires = [] diff --git a/stubs/JACK-Client/METADATA.toml b/stubs/JACK-Client/METADATA.toml index 1883b870198a..6c81638dfee0 100644 --- a/stubs/JACK-Client/METADATA.toml +++ b/stubs/JACK-Client/METADATA.toml @@ -1 +1 @@ -version = "0.5.*" +version = "0.5.*" diff --git a/stubs/Markdown/METADATA.toml b/stubs/Markdown/METADATA.toml index b713bbfd10a8..958a226444ed 100644 --- a/stubs/Markdown/METADATA.toml +++ b/stubs/Markdown/METADATA.toml @@ -1 +1 @@ -version = "3.3.*" +version = "3.3.*" diff --git a/stubs/Pillow/METADATA.toml b/stubs/Pillow/METADATA.toml index da80f0078d57..5c12ba1be33e 100644 --- a/stubs/Pillow/METADATA.toml +++ b/stubs/Pillow/METADATA.toml @@ -1 +1 @@ -version = "8.3.*" +version = "8.3.*" diff --git a/stubs/PyMySQL/METADATA.toml b/stubs/PyMySQL/METADATA.toml index f3e83f9c456b..6715e2f93e1c 100644 --- a/stubs/PyMySQL/METADATA.toml +++ b/stubs/PyMySQL/METADATA.toml @@ -1 +1 @@ -version = "1.0.*" +version = "1.0.*" diff --git a/stubs/PyYAML/METADATA.toml b/stubs/PyYAML/METADATA.toml index 39a61569b3d7..df4830597caf 100644 --- a/stubs/PyYAML/METADATA.toml +++ b/stubs/PyYAML/METADATA.toml @@ -1 +1 @@ -version = "6.0.*" +version = "6.0.*" diff --git a/stubs/Pygments/METADATA.toml b/stubs/Pygments/METADATA.toml index 92f28ce99d9c..af4b30f28fed 100644 --- a/stubs/Pygments/METADATA.toml +++ b/stubs/Pygments/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.9.*" +version = "2.9.*" requires = ["types-docutils"] diff --git a/stubs/Send2Trash/METADATA.toml b/stubs/Send2Trash/METADATA.toml index 690242a33e3e..6291c04d45ae 100644 --- a/stubs/Send2Trash/METADATA.toml +++ b/stubs/Send2Trash/METADATA.toml @@ -1 +1 @@ -version = "1.8.*" +version = "1.8.*" diff --git a/stubs/aiofiles/METADATA.toml b/stubs/aiofiles/METADATA.toml index 6b8eeefb1769..e179b60d1aae 100644 --- a/stubs/aiofiles/METADATA.toml +++ b/stubs/aiofiles/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.7.*" +version = "0.7.*" requires = [] diff --git a/stubs/annoy/METADATA.toml b/stubs/annoy/METADATA.toml index 74b2b8d57c4f..e0988ffd78e2 100644 --- a/stubs/annoy/METADATA.toml +++ b/stubs/annoy/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.17.*" +version = "1.17.*" requires = [] diff --git a/stubs/appdirs/METADATA.toml b/stubs/appdirs/METADATA.toml index 6d3b92238f58..e76bf400d800 100644 --- a/stubs/appdirs/METADATA.toml +++ b/stubs/appdirs/METADATA.toml @@ -1 +1 @@ -version = "1.4.*" +version = "1.4.*" diff --git a/stubs/atomicwrites/METADATA.toml b/stubs/atomicwrites/METADATA.toml index e20445253656..8177a2a1ec96 100644 --- a/stubs/atomicwrites/METADATA.toml +++ b/stubs/atomicwrites/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.4.*" +version = "1.4.*" python2 = true diff --git a/stubs/aws-xray-sdk/METADATA.toml b/stubs/aws-xray-sdk/METADATA.toml index fa0e835cbebd..b9553f822529 100644 --- a/stubs/aws-xray-sdk/METADATA.toml +++ b/stubs/aws-xray-sdk/METADATA.toml @@ -1 +1 @@ -version = "2.8.*" +version = "2.8.*" diff --git a/stubs/babel/METADATA.toml b/stubs/babel/METADATA.toml index 0009f38f042f..24329e0b1f8c 100644 --- a/stubs/babel/METADATA.toml +++ b/stubs/babel/METADATA.toml @@ -1 +1 @@ -version = "2.9.*" \ No newline at end of file +version = "2.9.*" \ No newline at end of file diff --git a/stubs/backports.ssl_match_hostname/METADATA.toml b/stubs/backports.ssl_match_hostname/METADATA.toml index 839f7d3a9b8e..1766db45e43e 100644 --- a/stubs/backports.ssl_match_hostname/METADATA.toml +++ b/stubs/backports.ssl_match_hostname/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.7.*" +version = "3.7.*" python2 = true diff --git a/stubs/backports_abc/METADATA.toml b/stubs/backports_abc/METADATA.toml index 22313195c363..9b9f9c9b19ea 100644 --- a/stubs/backports_abc/METADATA.toml +++ b/stubs/backports_abc/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.5.*" +version = "0.5.*" python2 = true diff --git a/stubs/beautifulsoup4/METADATA.toml b/stubs/beautifulsoup4/METADATA.toml index 39914d078bcf..c848bed2cc58 100644 --- a/stubs/beautifulsoup4/METADATA.toml +++ b/stubs/beautifulsoup4/METADATA.toml @@ -1 +1 @@ -version = "4.10.*" +version = "4.10.*" diff --git a/stubs/bleach/METADATA.toml b/stubs/bleach/METADATA.toml index bb8cc449b44f..7725fbc291f6 100644 --- a/stubs/bleach/METADATA.toml +++ b/stubs/bleach/METADATA.toml @@ -1 +1 @@ -version = "4.1.*" +version = "4.1.*" diff --git a/stubs/boto/METADATA.toml b/stubs/boto/METADATA.toml index aff1a5fd3b7e..6b3dc43da4ba 100644 --- a/stubs/boto/METADATA.toml +++ b/stubs/boto/METADATA.toml @@ -1,3 +1,3 @@ -version = "2.49.*" +version = "2.49.*" python2 = true requires = ["types-six"] diff --git a/stubs/braintree/METADATA.toml b/stubs/braintree/METADATA.toml index 9c5a4bca25dc..64097f63b111 100644 --- a/stubs/braintree/METADATA.toml +++ b/stubs/braintree/METADATA.toml @@ -1 +1 @@ -version = "4.11.*" +version = "4.11.*" diff --git a/stubs/cachetools/METADATA.toml b/stubs/cachetools/METADATA.toml index cb7498d03056..7aa922420d7f 100644 --- a/stubs/cachetools/METADATA.toml +++ b/stubs/cachetools/METADATA.toml @@ -1 +1 @@ -version = "4.2.*" +version = "4.2.*" diff --git a/stubs/caldav/METADATA.toml b/stubs/caldav/METADATA.toml index a8d20041e01c..8e056925f845 100644 --- a/stubs/caldav/METADATA.toml +++ b/stubs/caldav/METADATA.toml @@ -1,3 +1,3 @@ -version = "0.8.*" +version = "0.8.*" # also types-lxml and types-icalendar when those stubs are added requires = ["types-requests", "types-vobject"] diff --git a/stubs/certifi/METADATA.toml b/stubs/certifi/METADATA.toml index a75d69563a04..13613554dc02 100644 --- a/stubs/certifi/METADATA.toml +++ b/stubs/certifi/METADATA.toml @@ -1,2 +1,2 @@ -version = "2021.10.8" +version = "2021.10.8" python2 = true diff --git a/stubs/characteristic/METADATA.toml b/stubs/characteristic/METADATA.toml index 199895dd573d..a741e7c4dbd7 100644 --- a/stubs/characteristic/METADATA.toml +++ b/stubs/characteristic/METADATA.toml @@ -1,2 +1,2 @@ -version = "14.3.*" +version = "14.3.*" python2 = true diff --git a/stubs/chardet/METADATA.toml b/stubs/chardet/METADATA.toml index 5df22726ce72..79d89305ab3f 100644 --- a/stubs/chardet/METADATA.toml +++ b/stubs/chardet/METADATA.toml @@ -1,3 +1,3 @@ -version = "4.0.*" +version = "4.0.*" python2 = true requires = [] diff --git a/stubs/click-spinner/METADATA.toml b/stubs/click-spinner/METADATA.toml index f511d7da692f..108de2377981 100644 --- a/stubs/click-spinner/METADATA.toml +++ b/stubs/click-spinner/METADATA.toml @@ -1,3 +1,3 @@ -version = "0.1.*" +version = "0.1.*" python2 = true requires = [] diff --git a/stubs/colorama/METADATA.toml b/stubs/colorama/METADATA.toml index cea6c7b21c6f..d9c028b45107 100644 --- a/stubs/colorama/METADATA.toml +++ b/stubs/colorama/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.4.*" +version = "0.4.*" python2 = true \ No newline at end of file diff --git a/stubs/commonmark/METADATA.toml b/stubs/commonmark/METADATA.toml index 51e869b47983..272e3be619da 100644 --- a/stubs/commonmark/METADATA.toml +++ b/stubs/commonmark/METADATA.toml @@ -1 +1 @@ -version = "0.9.*" +version = "0.9.*" diff --git a/stubs/contextvars/METADATA.toml b/stubs/contextvars/METADATA.toml index ea07e8d318f6..4105ebda906c 100644 --- a/stubs/contextvars/METADATA.toml +++ b/stubs/contextvars/METADATA.toml @@ -1 +1 @@ -version = "2.4" +version = "2.4" diff --git a/stubs/croniter/METADATA.toml b/stubs/croniter/METADATA.toml index e29f8e7f8ef1..c11a6e0c60ae 100644 --- a/stubs/croniter/METADATA.toml +++ b/stubs/croniter/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.0.*" +version = "1.0.*" python2 = true diff --git a/stubs/cryptography/METADATA.toml b/stubs/cryptography/METADATA.toml index 67fb5034d2cd..dcea28ed94d5 100644 --- a/stubs/cryptography/METADATA.toml +++ b/stubs/cryptography/METADATA.toml @@ -1,4 +1,4 @@ -version = "3.3.*" +version = "3.3.*" python2 = true requires = ["types-enum34", "types-ipaddress"] obsolete_since = "3.4.4" diff --git a/stubs/dataclasses/METADATA.toml b/stubs/dataclasses/METADATA.toml index 22cbe4eb9ca3..3b263355569a 100644 --- a/stubs/dataclasses/METADATA.toml +++ b/stubs/dataclasses/METADATA.toml @@ -1 +1 @@ -version = "0.6" +version = "0.6" diff --git a/stubs/dateparser/METADATA.toml b/stubs/dateparser/METADATA.toml index f3e83f9c456b..6715e2f93e1c 100644 --- a/stubs/dateparser/METADATA.toml +++ b/stubs/dateparser/METADATA.toml @@ -1 +1 @@ -version = "1.0.*" +version = "1.0.*" diff --git a/stubs/decorator/METADATA.toml b/stubs/decorator/METADATA.toml index 2c151642b36f..151f52812913 100644 --- a/stubs/decorator/METADATA.toml +++ b/stubs/decorator/METADATA.toml @@ -1 +1 @@ -version = "5.1.*" +version = "5.1.*" diff --git a/stubs/docopt/METADATA.toml b/stubs/docopt/METADATA.toml index ce19e8f4b3b6..fc72b04e49d5 100644 --- a/stubs/docopt/METADATA.toml +++ b/stubs/docopt/METADATA.toml @@ -1,3 +1,3 @@ # Prior to v0.6, docopt() had only 3 optional args -version = "0.6.*" +version = "0.6.*" python2 = true \ No newline at end of file diff --git a/stubs/docutils/METADATA.toml b/stubs/docutils/METADATA.toml index 17d320a94b90..a12098ea3099 100644 --- a/stubs/docutils/METADATA.toml +++ b/stubs/docutils/METADATA.toml @@ -1 +1 @@ -version = "0.17.*" +version = "0.17.*" diff --git a/stubs/editdistance/METADATA.toml b/stubs/editdistance/METADATA.toml index 1883b870198a..6c81638dfee0 100644 --- a/stubs/editdistance/METADATA.toml +++ b/stubs/editdistance/METADATA.toml @@ -1 +1 @@ -version = "0.5.*" +version = "0.5.*" diff --git a/stubs/emoji/METADATA.toml b/stubs/emoji/METADATA.toml index 56eef46c616f..80df17d2d74f 100644 --- a/stubs/emoji/METADATA.toml +++ b/stubs/emoji/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.2.*" +version = "1.2.*" python2 = true diff --git a/stubs/entrypoints/METADATA.toml b/stubs/entrypoints/METADATA.toml index 7730a01469a9..fc389f74d5dd 100644 --- a/stubs/entrypoints/METADATA.toml +++ b/stubs/entrypoints/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.3.*" +version = "0.3.*" python2 = true diff --git a/stubs/enum34/METADATA.toml b/stubs/enum34/METADATA.toml index c0a0050d4a68..61a341c37398 100644 --- a/stubs/enum34/METADATA.toml +++ b/stubs/enum34/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.1.*" +version = "1.1.*" python2 = true diff --git a/stubs/filelock/METADATA.toml b/stubs/filelock/METADATA.toml index 38c94680a9a8..b430de59e5b1 100644 --- a/stubs/filelock/METADATA.toml +++ b/stubs/filelock/METADATA.toml @@ -1 +1 @@ -version = "3.2.*" +version = "3.2.*" diff --git a/stubs/first/METADATA.toml b/stubs/first/METADATA.toml index 72294377102c..9d2e294083e5 100644 --- a/stubs/first/METADATA.toml +++ b/stubs/first/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.0.*" +version = "2.0.*" python2 = true diff --git a/stubs/flake8-2020/METADATA.toml b/stubs/flake8-2020/METADATA.toml index 6cf9fae44d92..31424e47fdd4 100644 --- a/stubs/flake8-2020/METADATA.toml +++ b/stubs/flake8-2020/METADATA.toml @@ -1 +1 @@ -version = "1.6.*" +version = "1.6.*" diff --git a/stubs/flake8-bugbear/METADATA.toml b/stubs/flake8-bugbear/METADATA.toml index 4965db3af595..5084209c863a 100644 --- a/stubs/flake8-bugbear/METADATA.toml +++ b/stubs/flake8-bugbear/METADATA.toml @@ -1 +1 @@ -version = "21.11.29" +version = "21.11.29" diff --git a/stubs/flake8-builtins/METADATA.toml b/stubs/flake8-builtins/METADATA.toml index 97ceca8aa9f5..02cdf84eebf9 100644 --- a/stubs/flake8-builtins/METADATA.toml +++ b/stubs/flake8-builtins/METADATA.toml @@ -1 +1 @@ -version = "1.5.*" +version = "1.5.*" diff --git a/stubs/flake8-docstrings/METADATA.toml b/stubs/flake8-docstrings/METADATA.toml index 6cf9fae44d92..31424e47fdd4 100644 --- a/stubs/flake8-docstrings/METADATA.toml +++ b/stubs/flake8-docstrings/METADATA.toml @@ -1 +1 @@ -version = "1.6.*" +version = "1.6.*" diff --git a/stubs/flake8-plugin-utils/METADATA.toml b/stubs/flake8-plugin-utils/METADATA.toml index 3ea18392d7df..3efd6c05e170 100644 --- a/stubs/flake8-plugin-utils/METADATA.toml +++ b/stubs/flake8-plugin-utils/METADATA.toml @@ -1 +1 @@ -version = "1.3.*" +version = "1.3.*" diff --git a/stubs/flake8-simplify/METADATA.toml b/stubs/flake8-simplify/METADATA.toml index c562b663336b..0b79182e65da 100644 --- a/stubs/flake8-simplify/METADATA.toml +++ b/stubs/flake8-simplify/METADATA.toml @@ -1 +1 @@ -version = "0.14.*" +version = "0.14.*" diff --git a/stubs/flake8-typing-imports/METADATA.toml b/stubs/flake8-typing-imports/METADATA.toml index 88c1356c9e65..8413d3f8e37b 100644 --- a/stubs/flake8-typing-imports/METADATA.toml +++ b/stubs/flake8-typing-imports/METADATA.toml @@ -1 +1 @@ -version = "1.11.*" +version = "1.11.*" diff --git a/stubs/fpdf2/METADATA.toml b/stubs/fpdf2/METADATA.toml index bcb78f17fb41..7d15a9f5641d 100644 --- a/stubs/fpdf2/METADATA.toml +++ b/stubs/fpdf2/METADATA.toml @@ -1 +1 @@ -version = "2.4.*" +version = "2.4.*" diff --git a/stubs/freezegun/METADATA.toml b/stubs/freezegun/METADATA.toml index c9f594bd7bbd..c8ebdad52b38 100644 --- a/stubs/freezegun/METADATA.toml +++ b/stubs/freezegun/METADATA.toml @@ -1 +1 @@ -version = "1.1.*" +version = "1.1.*" diff --git a/stubs/frozendict/METADATA.toml b/stubs/frozendict/METADATA.toml index 58bc38349459..af9d95f834c5 100644 --- a/stubs/frozendict/METADATA.toml +++ b/stubs/frozendict/METADATA.toml @@ -1 +1 @@ -version = "2.0.*" +version = "2.0.*" diff --git a/stubs/futures/METADATA.toml b/stubs/futures/METADATA.toml index 103ece479fa8..c0bece692646 100644 --- a/stubs/futures/METADATA.toml +++ b/stubs/futures/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.3.*" +version = "3.3.*" python2 = true diff --git a/stubs/google-cloud-ndb/METADATA.toml b/stubs/google-cloud-ndb/METADATA.toml index 971cc4a0f9b2..02106fb48699 100644 --- a/stubs/google-cloud-ndb/METADATA.toml +++ b/stubs/google-cloud-ndb/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.9.*" +version = "1.9.*" requires = ["types-six"] diff --git a/stubs/hdbcli/METADATA.toml b/stubs/hdbcli/METADATA.toml index 4e51482b6fc4..9fcd06702d3c 100644 --- a/stubs/hdbcli/METADATA.toml +++ b/stubs/hdbcli/METADATA.toml @@ -1 +1 @@ -version = "2.10.*" +version = "2.10.*" diff --git a/stubs/html5lib/METADATA.toml b/stubs/html5lib/METADATA.toml index c9f594bd7bbd..c8ebdad52b38 100644 --- a/stubs/html5lib/METADATA.toml +++ b/stubs/html5lib/METADATA.toml @@ -1 +1 @@ -version = "1.1.*" +version = "1.1.*" diff --git a/stubs/httplib2/METADATA.toml b/stubs/httplib2/METADATA.toml index ae1fb69ffa18..e3ce53ab21a0 100644 --- a/stubs/httplib2/METADATA.toml +++ b/stubs/httplib2/METADATA.toml @@ -1 +1 @@ -version = "0.20.*" +version = "0.20.*" diff --git a/stubs/humanfriendly/METADATA.toml b/stubs/humanfriendly/METADATA.toml index a6930073a3ac..64901ccadd26 100644 --- a/stubs/humanfriendly/METADATA.toml +++ b/stubs/humanfriendly/METADATA.toml @@ -1 +1 @@ -version = "9.2.*" +version = "9.2.*" diff --git a/stubs/ipaddress/METADATA.toml b/stubs/ipaddress/METADATA.toml index e29f8e7f8ef1..c11a6e0c60ae 100644 --- a/stubs/ipaddress/METADATA.toml +++ b/stubs/ipaddress/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.0.*" +version = "1.0.*" python2 = true diff --git a/stubs/jmespath/METADATA.toml b/stubs/jmespath/METADATA.toml index 5c7ed21e8ad5..57340040aea4 100644 --- a/stubs/jmespath/METADATA.toml +++ b/stubs/jmespath/METADATA.toml @@ -1 +1 @@ -version = "0.10.*" +version = "0.10.*" diff --git a/stubs/jsonschema/METADATA.toml b/stubs/jsonschema/METADATA.toml index cb7498d03056..7aa922420d7f 100644 --- a/stubs/jsonschema/METADATA.toml +++ b/stubs/jsonschema/METADATA.toml @@ -1 +1 @@ -version = "4.2.*" +version = "4.2.*" diff --git a/stubs/ldap3/METADATA.toml b/stubs/ldap3/METADATA.toml index 77ff5706c1d9..509e9085bfbb 100644 --- a/stubs/ldap3/METADATA.toml +++ b/stubs/ldap3/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.9.*" +version = "2.9.*" requires = [] # requires types-pyasn1 (not available yet) diff --git a/stubs/mock/METADATA.toml b/stubs/mock/METADATA.toml index 3188e8fc281e..056aab1a73e4 100644 --- a/stubs/mock/METADATA.toml +++ b/stubs/mock/METADATA.toml @@ -1 +1 @@ -version = "4.0.*" +version = "4.0.*" diff --git a/stubs/mypy-extensions/METADATA.toml b/stubs/mypy-extensions/METADATA.toml index 79b51931ee0b..58a11f702e1e 100644 --- a/stubs/mypy-extensions/METADATA.toml +++ b/stubs/mypy-extensions/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.4.*" +version = "0.4.*" python2 = true diff --git a/stubs/mysqlclient/METADATA.toml b/stubs/mysqlclient/METADATA.toml index 159b06b06fd2..87f7695197e4 100644 --- a/stubs/mysqlclient/METADATA.toml +++ b/stubs/mysqlclient/METADATA.toml @@ -1 +1 @@ -version = "2.0.*" \ No newline at end of file +version = "2.0.*" \ No newline at end of file diff --git a/stubs/oauthlib/METADATA.toml b/stubs/oauthlib/METADATA.toml index 84307529a94b..c5d7dc4e9aaa 100644 --- a/stubs/oauthlib/METADATA.toml +++ b/stubs/oauthlib/METADATA.toml @@ -1 +1 @@ -version = "3.1.*" +version = "3.1.*" diff --git a/stubs/opentracing/METADATA.toml b/stubs/opentracing/METADATA.toml index bcb78f17fb41..7d15a9f5641d 100644 --- a/stubs/opentracing/METADATA.toml +++ b/stubs/opentracing/METADATA.toml @@ -1 +1 @@ -version = "2.4.*" +version = "2.4.*" diff --git a/stubs/orjson/METADATA.toml b/stubs/orjson/METADATA.toml index 49ae8203c6e9..736862b68e34 100644 --- a/stubs/orjson/METADATA.toml +++ b/stubs/orjson/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.6.*" +version = "3.6.*" obsolete_since = "3.6.1" diff --git a/stubs/paramiko/METADATA.toml b/stubs/paramiko/METADATA.toml index b526e1ea4802..b6f1dca92a8c 100644 --- a/stubs/paramiko/METADATA.toml +++ b/stubs/paramiko/METADATA.toml @@ -1,3 +1,3 @@ -version = "2.8.*" +version = "2.8.*" python2 = true requires = ["types-cryptography"] diff --git a/stubs/polib/METADATA.toml b/stubs/polib/METADATA.toml index c0a0050d4a68..61a341c37398 100644 --- a/stubs/polib/METADATA.toml +++ b/stubs/polib/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.1.*" +version = "1.1.*" python2 = true diff --git a/stubs/prettytable/METADATA.toml b/stubs/prettytable/METADATA.toml index acdc22b5d432..eb2bfc873deb 100644 --- a/stubs/prettytable/METADATA.toml +++ b/stubs/prettytable/METADATA.toml @@ -1 +1 @@ -version = "2.1.*" +version = "2.1.*" diff --git a/stubs/protobuf/METADATA.toml b/stubs/protobuf/METADATA.toml index c551073ba407..8bc13fc1c420 100644 --- a/stubs/protobuf/METADATA.toml +++ b/stubs/protobuf/METADATA.toml @@ -1,4 +1,4 @@ -version = "3.18.*" +version = "3.18.*" python2 = true requires = ["types-futures"] extra_description = "Generated with aid from mypy-protobuf v3.0.0" diff --git a/stubs/psutil/METADATA.toml b/stubs/psutil/METADATA.toml index 295659a1622c..748de8782f4c 100644 --- a/stubs/psutil/METADATA.toml +++ b/stubs/psutil/METADATA.toml @@ -1 +1 @@ -version = "5.8.*" +version = "5.8.*" diff --git a/stubs/psycopg2/METADATA.toml b/stubs/psycopg2/METADATA.toml index 0009f38f042f..24329e0b1f8c 100644 --- a/stubs/psycopg2/METADATA.toml +++ b/stubs/psycopg2/METADATA.toml @@ -1 +1 @@ -version = "2.9.*" \ No newline at end of file +version = "2.9.*" \ No newline at end of file diff --git a/stubs/pyOpenSSL/METADATA.toml b/stubs/pyOpenSSL/METADATA.toml index 4be158bf0ef1..1c777258e448 100644 --- a/stubs/pyOpenSSL/METADATA.toml +++ b/stubs/pyOpenSSL/METADATA.toml @@ -1,3 +1,3 @@ -version = "21.0.*" +version = "21.0.*" python2 = true requires = ["types-cryptography"] diff --git a/stubs/pyRFC3339/METADATA.toml b/stubs/pyRFC3339/METADATA.toml index bad265e4fe3f..8ee3c90a266c 100644 --- a/stubs/pyRFC3339/METADATA.toml +++ b/stubs/pyRFC3339/METADATA.toml @@ -1 +1 @@ -version = "1.1" +version = "1.1" diff --git a/stubs/pyaudio/METADATA.toml b/stubs/pyaudio/METADATA.toml index 6928f6e1901c..b028f1967e48 100644 --- a/stubs/pyaudio/METADATA.toml +++ b/stubs/pyaudio/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.2.*" +version = "0.2.*" python2 = true diff --git a/stubs/pycurl/METADATA.toml b/stubs/pycurl/METADATA.toml index fafbc99588cb..3d478b22427d 100644 --- a/stubs/pycurl/METADATA.toml +++ b/stubs/pycurl/METADATA.toml @@ -1 +1 @@ -version = "7.44.*" +version = "7.44.*" diff --git a/stubs/pyfarmhash/METADATA.toml b/stubs/pyfarmhash/METADATA.toml index a42da251bed5..61619baf2a3d 100644 --- a/stubs/pyfarmhash/METADATA.toml +++ b/stubs/pyfarmhash/METADATA.toml @@ -1 +1 @@ -version = "0.2.*" +version = "0.2.*" diff --git a/stubs/pysftp/METADATA.toml b/stubs/pysftp/METADATA.toml index e3748bd7b73d..9dac7e427b00 100644 --- a/stubs/pysftp/METADATA.toml +++ b/stubs/pysftp/METADATA.toml @@ -1,3 +1,3 @@ -version = "0.2.*" +version = "0.2.*" python2 = true requires = ["types-paramiko"] diff --git a/stubs/pytest-lazy-fixture/METADATA.toml b/stubs/pytest-lazy-fixture/METADATA.toml index 03031f1e9559..2e9323be7034 100644 --- a/stubs/pytest-lazy-fixture/METADATA.toml +++ b/stubs/pytest-lazy-fixture/METADATA.toml @@ -1 +1 @@ -version = "0.6.*" +version = "0.6.*" diff --git a/stubs/python-dateutil/METADATA.toml b/stubs/python-dateutil/METADATA.toml index c00bfdcaeadc..99036a653303 100644 --- a/stubs/python-dateutil/METADATA.toml +++ b/stubs/python-dateutil/METADATA.toml @@ -1,3 +1,3 @@ -version = "2.8.*" +version = "2.8.*" python2 = true requires = [] diff --git a/stubs/python-gflags/METADATA.toml b/stubs/python-gflags/METADATA.toml index ac2fd418911a..a8fc82965612 100644 --- a/stubs/python-gflags/METADATA.toml +++ b/stubs/python-gflags/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.1.*" +version = "3.1.*" python2 = true diff --git a/stubs/python-nmap/METADATA.toml b/stubs/python-nmap/METADATA.toml index aed349a93a97..02b95dc57f0d 100644 --- a/stubs/python-nmap/METADATA.toml +++ b/stubs/python-nmap/METADATA.toml @@ -1,3 +1,3 @@ -version = "0.6.*" +version = "0.6.*" python2 = true requires = [] diff --git a/stubs/python-slugify/METADATA.toml b/stubs/python-slugify/METADATA.toml index c98db63045e7..2225a17aea52 100644 --- a/stubs/python-slugify/METADATA.toml +++ b/stubs/python-slugify/METADATA.toml @@ -1 +1 @@ -version = "5.0.*" +version = "5.0.*" diff --git a/stubs/pytz/METADATA.toml b/stubs/pytz/METADATA.toml index 0bdf109638a1..7fb5bbfed4f1 100644 --- a/stubs/pytz/METADATA.toml +++ b/stubs/pytz/METADATA.toml @@ -1,2 +1,2 @@ -version = "2021.3" +version = "2021.3" python2 = true diff --git a/stubs/pyvmomi/METADATA.toml b/stubs/pyvmomi/METADATA.toml index 678b938f43f9..2fa161fc359b 100644 --- a/stubs/pyvmomi/METADATA.toml +++ b/stubs/pyvmomi/METADATA.toml @@ -1,3 +1,3 @@ -version = "7.0.*" +version = "7.0.*" python2 = true requires = ["types-enum34"] diff --git a/stubs/redis/METADATA.toml b/stubs/redis/METADATA.toml index 0ca63cc11f20..3f55305ff3f9 100644 --- a/stubs/redis/METADATA.toml +++ b/stubs/redis/METADATA.toml @@ -1,2 +1,2 @@ -version = "4.0.*" +version = "4.0.*" requires = [] diff --git a/stubs/requests/METADATA.toml b/stubs/requests/METADATA.toml index 53ad05966f56..b79632fb4ea1 100644 --- a/stubs/requests/METADATA.toml +++ b/stubs/requests/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.26.*" +version = "2.26.*" python2 = true diff --git a/stubs/retry/METADATA.toml b/stubs/retry/METADATA.toml index 6f2870bcfb82..df6335983095 100644 --- a/stubs/retry/METADATA.toml +++ b/stubs/retry/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.9.*" +version = "0.9.*" python2 = true diff --git a/stubs/selenium/METADATA.toml b/stubs/selenium/METADATA.toml index ed87da948251..319f78275884 100644 --- a/stubs/selenium/METADATA.toml +++ b/stubs/selenium/METADATA.toml @@ -1 +1 @@ -version = "3.141.*" +version = "3.141.*" diff --git a/stubs/setuptools/METADATA.toml b/stubs/setuptools/METADATA.toml index ff6e4177e062..b15316f8e1be 100644 --- a/stubs/setuptools/METADATA.toml +++ b/stubs/setuptools/METADATA.toml @@ -1 +1 @@ -version = "57.4.*" +version = "57.4.*" diff --git a/stubs/simplejson/METADATA.toml b/stubs/simplejson/METADATA.toml index e8d5c242ddd3..07fb0da5ec3f 100644 --- a/stubs/simplejson/METADATA.toml +++ b/stubs/simplejson/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.17.*" +version = "3.17.*" python2 = true diff --git a/stubs/singledispatch/METADATA.toml b/stubs/singledispatch/METADATA.toml index 839f7d3a9b8e..1766db45e43e 100644 --- a/stubs/singledispatch/METADATA.toml +++ b/stubs/singledispatch/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.7.*" +version = "3.7.*" python2 = true diff --git a/stubs/six/METADATA.toml b/stubs/six/METADATA.toml index 90e0456946aa..639d7e758b98 100644 --- a/stubs/six/METADATA.toml +++ b/stubs/six/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.16.*" +version = "1.16.*" python2 = true diff --git a/stubs/slumber/METADATA.toml b/stubs/slumber/METADATA.toml index 7431acfe0fa8..2d502492da69 100644 --- a/stubs/slumber/METADATA.toml +++ b/stubs/slumber/METADATA.toml @@ -1 +1 @@ -version = "0.7.*" +version = "0.7.*" diff --git a/stubs/stripe/METADATA.toml b/stubs/stripe/METADATA.toml index 5d262932f608..baaa9c44b3fe 100644 --- a/stubs/stripe/METADATA.toml +++ b/stubs/stripe/METADATA.toml @@ -1 +1 @@ -version = "2.59.*" +version = "2.59.*" diff --git a/stubs/tabulate/METADATA.toml b/stubs/tabulate/METADATA.toml index 78fa4d13f8bb..248b0b36b181 100644 --- a/stubs/tabulate/METADATA.toml +++ b/stubs/tabulate/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.8.*" +version = "0.8.*" python2 = true diff --git a/stubs/termcolor/METADATA.toml b/stubs/termcolor/METADATA.toml index c0a0050d4a68..61a341c37398 100644 --- a/stubs/termcolor/METADATA.toml +++ b/stubs/termcolor/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.1.*" +version = "1.1.*" python2 = true diff --git a/stubs/toml/METADATA.toml b/stubs/toml/METADATA.toml index 343f2c4782a6..6707a5f94909 100644 --- a/stubs/toml/METADATA.toml +++ b/stubs/toml/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.10.*" +version = "0.10.*" python2 = true diff --git a/stubs/toposort/METADATA.toml b/stubs/toposort/METADATA.toml index ccb25250bba1..1f4f4e98a2ec 100644 --- a/stubs/toposort/METADATA.toml +++ b/stubs/toposort/METADATA.toml @@ -1 +1 @@ -version = "1.7" +version = "1.7" diff --git a/stubs/ttkthemes/METADATA.toml b/stubs/ttkthemes/METADATA.toml index 38c94680a9a8..b430de59e5b1 100644 --- a/stubs/ttkthemes/METADATA.toml +++ b/stubs/ttkthemes/METADATA.toml @@ -1 +1 @@ -version = "3.2.*" +version = "3.2.*" diff --git a/stubs/typed-ast/METADATA.toml b/stubs/typed-ast/METADATA.toml index 97ceca8aa9f5..02cdf84eebf9 100644 --- a/stubs/typed-ast/METADATA.toml +++ b/stubs/typed-ast/METADATA.toml @@ -1 +1 @@ -version = "1.5.*" +version = "1.5.*" diff --git a/stubs/tzlocal/METADATA.toml b/stubs/tzlocal/METADATA.toml index 309661e3eeac..b0bded1c47e2 100644 --- a/stubs/tzlocal/METADATA.toml +++ b/stubs/tzlocal/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.0" +version = "3.0" requires = ["types-pytz"] diff --git a/stubs/ujson/METADATA.toml b/stubs/ujson/METADATA.toml index cb7498d03056..7aa922420d7f 100644 --- a/stubs/ujson/METADATA.toml +++ b/stubs/ujson/METADATA.toml @@ -1 +1 @@ -version = "4.2.*" +version = "4.2.*" diff --git a/stubs/vobject/METADATA.toml b/stubs/vobject/METADATA.toml index 51e869b47983..272e3be619da 100644 --- a/stubs/vobject/METADATA.toml +++ b/stubs/vobject/METADATA.toml @@ -1 +1 @@ -version = "0.9.*" +version = "0.9.*" diff --git a/stubs/waitress/METADATA.toml b/stubs/waitress/METADATA.toml index a035bd0a01ba..461c72cb5c5a 100644 --- a/stubs/waitress/METADATA.toml +++ b/stubs/waitress/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.0.*" +version = "2.0.*" requires = [] diff --git a/stubs/xxhash/METADATA.toml b/stubs/xxhash/METADATA.toml index 72294377102c..9d2e294083e5 100644 --- a/stubs/xxhash/METADATA.toml +++ b/stubs/xxhash/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.0.*" +version = "2.0.*" python2 = true From adb5315c5f84bb3500dfc4241da39224835f63e8 Mon Sep 17 00:00:00 2001 From: Shantanu <12621235+hauntsaninja@users.noreply.github.com> Date: Wed, 15 Dec 2021 17:18:06 -0800 Subject: [PATCH 08/35] Update tests/stubtest_allowlists/py310.txt Co-authored-by: Alex Waygood --- tests/stubtest_allowlists/py310.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/stubtest_allowlists/py310.txt b/tests/stubtest_allowlists/py310.txt index 116548f3f3f7..27e622220a7a 100644 --- a/tests/stubtest_allowlists/py310.txt +++ b/tests/stubtest_allowlists/py310.txt @@ -107,7 +107,7 @@ contextvars.ContextVar.reset contextvars.ContextVar.set io.IncrementalNewlineDecoder.setstate typing.SupportsRound.__round__ -types.DynamicClassAttribute..* # Alias for property, but has positional-only differences +types.DynamicClassAttribute..* # In the stub we pretend it's an alias for property, but it has positional-only differences # These enums derive from (str, Enum). See comment in py3_common.txt pstats.SortKey.__new__ From a29ad2995a82ff5bdb654334dfaeabbbcd384788 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 17:20:55 -0800 Subject: [PATCH 09/35] allow babel --- stubs/babel/@tests/stubtest_allowlist.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 stubs/babel/@tests/stubtest_allowlist.txt diff --git a/stubs/babel/@tests/stubtest_allowlist.txt b/stubs/babel/@tests/stubtest_allowlist.txt new file mode 100644 index 000000000000..fb000897a30e --- /dev/null +++ b/stubs/babel/@tests/stubtest_allowlist.txt @@ -0,0 +1,3 @@ +# In the stub we alias to OrderedDict, but it has positional-only differences +babel.util.odict.fromkeys +babel.util.odict.setdefault From a6b085c599ba8789cc690ac0b5522529c6e73df5 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 17:37:51 -0800 Subject: [PATCH 10/35] allow hdbcli --- stubs/hdbcli/@tests/stubtest_allowlist.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/stubs/hdbcli/@tests/stubtest_allowlist.txt b/stubs/hdbcli/@tests/stubtest_allowlist.txt index d73612be9c97..283ddd3b2062 100644 --- a/stubs/hdbcli/@tests/stubtest_allowlist.txt +++ b/stubs/hdbcli/@tests/stubtest_allowlist.txt @@ -2,3 +2,7 @@ hdbcli.dbapi.Error.errorcode hdbcli.dbapi.Error.errortext hdbcli.dbapi.Warning.errorcode hdbcli.dbapi.Warning.errortext +# Similar issues to builtins.memoryview +hdbcli.dbapi.BINARY.__iter__ +hdbcli.dbapi.BINARY.cast +hdbcli.dbapi.BINARY.__contains__ From 984f57f90e5b15592b79a7dc09aa0530f67c867c Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 17:39:19 -0800 Subject: [PATCH 11/35] Revert "trigger ci on all third party stubs" This reverts commit c372241c4c39f07c2ad4e5c992aee94e544e9b66. --- stubs/DateTimeRange/METADATA.toml | 2 +- stubs/Deprecated/METADATA.toml | 2 +- stubs/JACK-Client/METADATA.toml | 2 +- stubs/Markdown/METADATA.toml | 2 +- stubs/Pillow/METADATA.toml | 2 +- stubs/PyMySQL/METADATA.toml | 2 +- stubs/PyYAML/METADATA.toml | 2 +- stubs/Pygments/METADATA.toml | 2 +- stubs/Send2Trash/METADATA.toml | 2 +- stubs/aiofiles/METADATA.toml | 2 +- stubs/annoy/METADATA.toml | 2 +- stubs/appdirs/METADATA.toml | 2 +- stubs/atomicwrites/METADATA.toml | 2 +- stubs/aws-xray-sdk/METADATA.toml | 2 +- stubs/babel/METADATA.toml | 2 +- stubs/backports.ssl_match_hostname/METADATA.toml | 2 +- stubs/backports_abc/METADATA.toml | 2 +- stubs/beautifulsoup4/METADATA.toml | 2 +- stubs/bleach/METADATA.toml | 2 +- stubs/boto/METADATA.toml | 2 +- stubs/braintree/METADATA.toml | 2 +- stubs/cachetools/METADATA.toml | 2 +- stubs/caldav/METADATA.toml | 2 +- stubs/certifi/METADATA.toml | 2 +- stubs/characteristic/METADATA.toml | 2 +- stubs/chardet/METADATA.toml | 2 +- stubs/click-spinner/METADATA.toml | 2 +- stubs/colorama/METADATA.toml | 2 +- stubs/commonmark/METADATA.toml | 2 +- stubs/contextvars/METADATA.toml | 2 +- stubs/croniter/METADATA.toml | 2 +- stubs/cryptography/METADATA.toml | 2 +- stubs/dataclasses/METADATA.toml | 2 +- stubs/dateparser/METADATA.toml | 2 +- stubs/decorator/METADATA.toml | 2 +- stubs/docopt/METADATA.toml | 2 +- stubs/docutils/METADATA.toml | 2 +- stubs/editdistance/METADATA.toml | 2 +- stubs/emoji/METADATA.toml | 2 +- stubs/entrypoints/METADATA.toml | 2 +- stubs/enum34/METADATA.toml | 2 +- stubs/filelock/METADATA.toml | 2 +- stubs/first/METADATA.toml | 2 +- stubs/flake8-2020/METADATA.toml | 2 +- stubs/flake8-bugbear/METADATA.toml | 2 +- stubs/flake8-builtins/METADATA.toml | 2 +- stubs/flake8-docstrings/METADATA.toml | 2 +- stubs/flake8-plugin-utils/METADATA.toml | 2 +- stubs/flake8-simplify/METADATA.toml | 2 +- stubs/flake8-typing-imports/METADATA.toml | 2 +- stubs/fpdf2/METADATA.toml | 2 +- stubs/freezegun/METADATA.toml | 2 +- stubs/frozendict/METADATA.toml | 2 +- stubs/futures/METADATA.toml | 2 +- stubs/google-cloud-ndb/METADATA.toml | 2 +- stubs/hdbcli/METADATA.toml | 2 +- stubs/html5lib/METADATA.toml | 2 +- stubs/httplib2/METADATA.toml | 2 +- stubs/humanfriendly/METADATA.toml | 2 +- stubs/ipaddress/METADATA.toml | 2 +- stubs/jmespath/METADATA.toml | 2 +- stubs/jsonschema/METADATA.toml | 2 +- stubs/ldap3/METADATA.toml | 2 +- stubs/mock/METADATA.toml | 2 +- stubs/mypy-extensions/METADATA.toml | 2 +- stubs/mysqlclient/METADATA.toml | 2 +- stubs/oauthlib/METADATA.toml | 2 +- stubs/opentracing/METADATA.toml | 2 +- stubs/orjson/METADATA.toml | 2 +- stubs/paramiko/METADATA.toml | 2 +- stubs/polib/METADATA.toml | 2 +- stubs/prettytable/METADATA.toml | 2 +- stubs/protobuf/METADATA.toml | 2 +- stubs/psutil/METADATA.toml | 2 +- stubs/psycopg2/METADATA.toml | 2 +- stubs/pyOpenSSL/METADATA.toml | 2 +- stubs/pyRFC3339/METADATA.toml | 2 +- stubs/pyaudio/METADATA.toml | 2 +- stubs/pycurl/METADATA.toml | 2 +- stubs/pyfarmhash/METADATA.toml | 2 +- stubs/pysftp/METADATA.toml | 2 +- stubs/pytest-lazy-fixture/METADATA.toml | 2 +- stubs/python-dateutil/METADATA.toml | 2 +- stubs/python-gflags/METADATA.toml | 2 +- stubs/python-nmap/METADATA.toml | 2 +- stubs/python-slugify/METADATA.toml | 2 +- stubs/pytz/METADATA.toml | 2 +- stubs/pyvmomi/METADATA.toml | 2 +- stubs/redis/METADATA.toml | 2 +- stubs/requests/METADATA.toml | 2 +- stubs/retry/METADATA.toml | 2 +- stubs/selenium/METADATA.toml | 2 +- stubs/setuptools/METADATA.toml | 2 +- stubs/simplejson/METADATA.toml | 2 +- stubs/singledispatch/METADATA.toml | 2 +- stubs/six/METADATA.toml | 2 +- stubs/slumber/METADATA.toml | 2 +- stubs/stripe/METADATA.toml | 2 +- stubs/tabulate/METADATA.toml | 2 +- stubs/termcolor/METADATA.toml | 2 +- stubs/toml/METADATA.toml | 2 +- stubs/toposort/METADATA.toml | 2 +- stubs/ttkthemes/METADATA.toml | 2 +- stubs/typed-ast/METADATA.toml | 2 +- stubs/tzlocal/METADATA.toml | 2 +- stubs/ujson/METADATA.toml | 2 +- stubs/vobject/METADATA.toml | 2 +- stubs/waitress/METADATA.toml | 2 +- stubs/xxhash/METADATA.toml | 2 +- 109 files changed, 109 insertions(+), 109 deletions(-) diff --git a/stubs/DateTimeRange/METADATA.toml b/stubs/DateTimeRange/METADATA.toml index 25722e46ad51..f522021080f9 100644 --- a/stubs/DateTimeRange/METADATA.toml +++ b/stubs/DateTimeRange/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.2.*" +version = "1.2.*" requires = ["types-python-dateutil"] diff --git a/stubs/Deprecated/METADATA.toml b/stubs/Deprecated/METADATA.toml index f53aad5343f3..1f0b2e4bf4a2 100644 --- a/stubs/Deprecated/METADATA.toml +++ b/stubs/Deprecated/METADATA.toml @@ -1,3 +1,3 @@ -version = "1.2.*" +version = "1.2.*" python2 = true requires = [] diff --git a/stubs/JACK-Client/METADATA.toml b/stubs/JACK-Client/METADATA.toml index 6c81638dfee0..1883b870198a 100644 --- a/stubs/JACK-Client/METADATA.toml +++ b/stubs/JACK-Client/METADATA.toml @@ -1 +1 @@ -version = "0.5.*" +version = "0.5.*" diff --git a/stubs/Markdown/METADATA.toml b/stubs/Markdown/METADATA.toml index 958a226444ed..b713bbfd10a8 100644 --- a/stubs/Markdown/METADATA.toml +++ b/stubs/Markdown/METADATA.toml @@ -1 +1 @@ -version = "3.3.*" +version = "3.3.*" diff --git a/stubs/Pillow/METADATA.toml b/stubs/Pillow/METADATA.toml index 5c12ba1be33e..da80f0078d57 100644 --- a/stubs/Pillow/METADATA.toml +++ b/stubs/Pillow/METADATA.toml @@ -1 +1 @@ -version = "8.3.*" +version = "8.3.*" diff --git a/stubs/PyMySQL/METADATA.toml b/stubs/PyMySQL/METADATA.toml index 6715e2f93e1c..f3e83f9c456b 100644 --- a/stubs/PyMySQL/METADATA.toml +++ b/stubs/PyMySQL/METADATA.toml @@ -1 +1 @@ -version = "1.0.*" +version = "1.0.*" diff --git a/stubs/PyYAML/METADATA.toml b/stubs/PyYAML/METADATA.toml index df4830597caf..39a61569b3d7 100644 --- a/stubs/PyYAML/METADATA.toml +++ b/stubs/PyYAML/METADATA.toml @@ -1 +1 @@ -version = "6.0.*" +version = "6.0.*" diff --git a/stubs/Pygments/METADATA.toml b/stubs/Pygments/METADATA.toml index af4b30f28fed..92f28ce99d9c 100644 --- a/stubs/Pygments/METADATA.toml +++ b/stubs/Pygments/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.9.*" +version = "2.9.*" requires = ["types-docutils"] diff --git a/stubs/Send2Trash/METADATA.toml b/stubs/Send2Trash/METADATA.toml index 6291c04d45ae..690242a33e3e 100644 --- a/stubs/Send2Trash/METADATA.toml +++ b/stubs/Send2Trash/METADATA.toml @@ -1 +1 @@ -version = "1.8.*" +version = "1.8.*" diff --git a/stubs/aiofiles/METADATA.toml b/stubs/aiofiles/METADATA.toml index e179b60d1aae..6b8eeefb1769 100644 --- a/stubs/aiofiles/METADATA.toml +++ b/stubs/aiofiles/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.7.*" +version = "0.7.*" requires = [] diff --git a/stubs/annoy/METADATA.toml b/stubs/annoy/METADATA.toml index e0988ffd78e2..74b2b8d57c4f 100644 --- a/stubs/annoy/METADATA.toml +++ b/stubs/annoy/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.17.*" +version = "1.17.*" requires = [] diff --git a/stubs/appdirs/METADATA.toml b/stubs/appdirs/METADATA.toml index e76bf400d800..6d3b92238f58 100644 --- a/stubs/appdirs/METADATA.toml +++ b/stubs/appdirs/METADATA.toml @@ -1 +1 @@ -version = "1.4.*" +version = "1.4.*" diff --git a/stubs/atomicwrites/METADATA.toml b/stubs/atomicwrites/METADATA.toml index 8177a2a1ec96..e20445253656 100644 --- a/stubs/atomicwrites/METADATA.toml +++ b/stubs/atomicwrites/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.4.*" +version = "1.4.*" python2 = true diff --git a/stubs/aws-xray-sdk/METADATA.toml b/stubs/aws-xray-sdk/METADATA.toml index b9553f822529..fa0e835cbebd 100644 --- a/stubs/aws-xray-sdk/METADATA.toml +++ b/stubs/aws-xray-sdk/METADATA.toml @@ -1 +1 @@ -version = "2.8.*" +version = "2.8.*" diff --git a/stubs/babel/METADATA.toml b/stubs/babel/METADATA.toml index 24329e0b1f8c..0009f38f042f 100644 --- a/stubs/babel/METADATA.toml +++ b/stubs/babel/METADATA.toml @@ -1 +1 @@ -version = "2.9.*" \ No newline at end of file +version = "2.9.*" \ No newline at end of file diff --git a/stubs/backports.ssl_match_hostname/METADATA.toml b/stubs/backports.ssl_match_hostname/METADATA.toml index 1766db45e43e..839f7d3a9b8e 100644 --- a/stubs/backports.ssl_match_hostname/METADATA.toml +++ b/stubs/backports.ssl_match_hostname/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.7.*" +version = "3.7.*" python2 = true diff --git a/stubs/backports_abc/METADATA.toml b/stubs/backports_abc/METADATA.toml index 9b9f9c9b19ea..22313195c363 100644 --- a/stubs/backports_abc/METADATA.toml +++ b/stubs/backports_abc/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.5.*" +version = "0.5.*" python2 = true diff --git a/stubs/beautifulsoup4/METADATA.toml b/stubs/beautifulsoup4/METADATA.toml index c848bed2cc58..39914d078bcf 100644 --- a/stubs/beautifulsoup4/METADATA.toml +++ b/stubs/beautifulsoup4/METADATA.toml @@ -1 +1 @@ -version = "4.10.*" +version = "4.10.*" diff --git a/stubs/bleach/METADATA.toml b/stubs/bleach/METADATA.toml index 7725fbc291f6..bb8cc449b44f 100644 --- a/stubs/bleach/METADATA.toml +++ b/stubs/bleach/METADATA.toml @@ -1 +1 @@ -version = "4.1.*" +version = "4.1.*" diff --git a/stubs/boto/METADATA.toml b/stubs/boto/METADATA.toml index 6b3dc43da4ba..aff1a5fd3b7e 100644 --- a/stubs/boto/METADATA.toml +++ b/stubs/boto/METADATA.toml @@ -1,3 +1,3 @@ -version = "2.49.*" +version = "2.49.*" python2 = true requires = ["types-six"] diff --git a/stubs/braintree/METADATA.toml b/stubs/braintree/METADATA.toml index 64097f63b111..9c5a4bca25dc 100644 --- a/stubs/braintree/METADATA.toml +++ b/stubs/braintree/METADATA.toml @@ -1 +1 @@ -version = "4.11.*" +version = "4.11.*" diff --git a/stubs/cachetools/METADATA.toml b/stubs/cachetools/METADATA.toml index 7aa922420d7f..cb7498d03056 100644 --- a/stubs/cachetools/METADATA.toml +++ b/stubs/cachetools/METADATA.toml @@ -1 +1 @@ -version = "4.2.*" +version = "4.2.*" diff --git a/stubs/caldav/METADATA.toml b/stubs/caldav/METADATA.toml index 8e056925f845..a8d20041e01c 100644 --- a/stubs/caldav/METADATA.toml +++ b/stubs/caldav/METADATA.toml @@ -1,3 +1,3 @@ -version = "0.8.*" +version = "0.8.*" # also types-lxml and types-icalendar when those stubs are added requires = ["types-requests", "types-vobject"] diff --git a/stubs/certifi/METADATA.toml b/stubs/certifi/METADATA.toml index 13613554dc02..a75d69563a04 100644 --- a/stubs/certifi/METADATA.toml +++ b/stubs/certifi/METADATA.toml @@ -1,2 +1,2 @@ -version = "2021.10.8" +version = "2021.10.8" python2 = true diff --git a/stubs/characteristic/METADATA.toml b/stubs/characteristic/METADATA.toml index a741e7c4dbd7..199895dd573d 100644 --- a/stubs/characteristic/METADATA.toml +++ b/stubs/characteristic/METADATA.toml @@ -1,2 +1,2 @@ -version = "14.3.*" +version = "14.3.*" python2 = true diff --git a/stubs/chardet/METADATA.toml b/stubs/chardet/METADATA.toml index 79d89305ab3f..5df22726ce72 100644 --- a/stubs/chardet/METADATA.toml +++ b/stubs/chardet/METADATA.toml @@ -1,3 +1,3 @@ -version = "4.0.*" +version = "4.0.*" python2 = true requires = [] diff --git a/stubs/click-spinner/METADATA.toml b/stubs/click-spinner/METADATA.toml index 108de2377981..f511d7da692f 100644 --- a/stubs/click-spinner/METADATA.toml +++ b/stubs/click-spinner/METADATA.toml @@ -1,3 +1,3 @@ -version = "0.1.*" +version = "0.1.*" python2 = true requires = [] diff --git a/stubs/colorama/METADATA.toml b/stubs/colorama/METADATA.toml index d9c028b45107..cea6c7b21c6f 100644 --- a/stubs/colorama/METADATA.toml +++ b/stubs/colorama/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.4.*" +version = "0.4.*" python2 = true \ No newline at end of file diff --git a/stubs/commonmark/METADATA.toml b/stubs/commonmark/METADATA.toml index 272e3be619da..51e869b47983 100644 --- a/stubs/commonmark/METADATA.toml +++ b/stubs/commonmark/METADATA.toml @@ -1 +1 @@ -version = "0.9.*" +version = "0.9.*" diff --git a/stubs/contextvars/METADATA.toml b/stubs/contextvars/METADATA.toml index 4105ebda906c..ea07e8d318f6 100644 --- a/stubs/contextvars/METADATA.toml +++ b/stubs/contextvars/METADATA.toml @@ -1 +1 @@ -version = "2.4" +version = "2.4" diff --git a/stubs/croniter/METADATA.toml b/stubs/croniter/METADATA.toml index c11a6e0c60ae..e29f8e7f8ef1 100644 --- a/stubs/croniter/METADATA.toml +++ b/stubs/croniter/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.0.*" +version = "1.0.*" python2 = true diff --git a/stubs/cryptography/METADATA.toml b/stubs/cryptography/METADATA.toml index dcea28ed94d5..67fb5034d2cd 100644 --- a/stubs/cryptography/METADATA.toml +++ b/stubs/cryptography/METADATA.toml @@ -1,4 +1,4 @@ -version = "3.3.*" +version = "3.3.*" python2 = true requires = ["types-enum34", "types-ipaddress"] obsolete_since = "3.4.4" diff --git a/stubs/dataclasses/METADATA.toml b/stubs/dataclasses/METADATA.toml index 3b263355569a..22cbe4eb9ca3 100644 --- a/stubs/dataclasses/METADATA.toml +++ b/stubs/dataclasses/METADATA.toml @@ -1 +1 @@ -version = "0.6" +version = "0.6" diff --git a/stubs/dateparser/METADATA.toml b/stubs/dateparser/METADATA.toml index 6715e2f93e1c..f3e83f9c456b 100644 --- a/stubs/dateparser/METADATA.toml +++ b/stubs/dateparser/METADATA.toml @@ -1 +1 @@ -version = "1.0.*" +version = "1.0.*" diff --git a/stubs/decorator/METADATA.toml b/stubs/decorator/METADATA.toml index 151f52812913..2c151642b36f 100644 --- a/stubs/decorator/METADATA.toml +++ b/stubs/decorator/METADATA.toml @@ -1 +1 @@ -version = "5.1.*" +version = "5.1.*" diff --git a/stubs/docopt/METADATA.toml b/stubs/docopt/METADATA.toml index fc72b04e49d5..ce19e8f4b3b6 100644 --- a/stubs/docopt/METADATA.toml +++ b/stubs/docopt/METADATA.toml @@ -1,3 +1,3 @@ # Prior to v0.6, docopt() had only 3 optional args -version = "0.6.*" +version = "0.6.*" python2 = true \ No newline at end of file diff --git a/stubs/docutils/METADATA.toml b/stubs/docutils/METADATA.toml index a12098ea3099..17d320a94b90 100644 --- a/stubs/docutils/METADATA.toml +++ b/stubs/docutils/METADATA.toml @@ -1 +1 @@ -version = "0.17.*" +version = "0.17.*" diff --git a/stubs/editdistance/METADATA.toml b/stubs/editdistance/METADATA.toml index 6c81638dfee0..1883b870198a 100644 --- a/stubs/editdistance/METADATA.toml +++ b/stubs/editdistance/METADATA.toml @@ -1 +1 @@ -version = "0.5.*" +version = "0.5.*" diff --git a/stubs/emoji/METADATA.toml b/stubs/emoji/METADATA.toml index 80df17d2d74f..56eef46c616f 100644 --- a/stubs/emoji/METADATA.toml +++ b/stubs/emoji/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.2.*" +version = "1.2.*" python2 = true diff --git a/stubs/entrypoints/METADATA.toml b/stubs/entrypoints/METADATA.toml index fc389f74d5dd..7730a01469a9 100644 --- a/stubs/entrypoints/METADATA.toml +++ b/stubs/entrypoints/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.3.*" +version = "0.3.*" python2 = true diff --git a/stubs/enum34/METADATA.toml b/stubs/enum34/METADATA.toml index 61a341c37398..c0a0050d4a68 100644 --- a/stubs/enum34/METADATA.toml +++ b/stubs/enum34/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.1.*" +version = "1.1.*" python2 = true diff --git a/stubs/filelock/METADATA.toml b/stubs/filelock/METADATA.toml index b430de59e5b1..38c94680a9a8 100644 --- a/stubs/filelock/METADATA.toml +++ b/stubs/filelock/METADATA.toml @@ -1 +1 @@ -version = "3.2.*" +version = "3.2.*" diff --git a/stubs/first/METADATA.toml b/stubs/first/METADATA.toml index 9d2e294083e5..72294377102c 100644 --- a/stubs/first/METADATA.toml +++ b/stubs/first/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.0.*" +version = "2.0.*" python2 = true diff --git a/stubs/flake8-2020/METADATA.toml b/stubs/flake8-2020/METADATA.toml index 31424e47fdd4..6cf9fae44d92 100644 --- a/stubs/flake8-2020/METADATA.toml +++ b/stubs/flake8-2020/METADATA.toml @@ -1 +1 @@ -version = "1.6.*" +version = "1.6.*" diff --git a/stubs/flake8-bugbear/METADATA.toml b/stubs/flake8-bugbear/METADATA.toml index 5084209c863a..4965db3af595 100644 --- a/stubs/flake8-bugbear/METADATA.toml +++ b/stubs/flake8-bugbear/METADATA.toml @@ -1 +1 @@ -version = "21.11.29" +version = "21.11.29" diff --git a/stubs/flake8-builtins/METADATA.toml b/stubs/flake8-builtins/METADATA.toml index 02cdf84eebf9..97ceca8aa9f5 100644 --- a/stubs/flake8-builtins/METADATA.toml +++ b/stubs/flake8-builtins/METADATA.toml @@ -1 +1 @@ -version = "1.5.*" +version = "1.5.*" diff --git a/stubs/flake8-docstrings/METADATA.toml b/stubs/flake8-docstrings/METADATA.toml index 31424e47fdd4..6cf9fae44d92 100644 --- a/stubs/flake8-docstrings/METADATA.toml +++ b/stubs/flake8-docstrings/METADATA.toml @@ -1 +1 @@ -version = "1.6.*" +version = "1.6.*" diff --git a/stubs/flake8-plugin-utils/METADATA.toml b/stubs/flake8-plugin-utils/METADATA.toml index 3efd6c05e170..3ea18392d7df 100644 --- a/stubs/flake8-plugin-utils/METADATA.toml +++ b/stubs/flake8-plugin-utils/METADATA.toml @@ -1 +1 @@ -version = "1.3.*" +version = "1.3.*" diff --git a/stubs/flake8-simplify/METADATA.toml b/stubs/flake8-simplify/METADATA.toml index 0b79182e65da..c562b663336b 100644 --- a/stubs/flake8-simplify/METADATA.toml +++ b/stubs/flake8-simplify/METADATA.toml @@ -1 +1 @@ -version = "0.14.*" +version = "0.14.*" diff --git a/stubs/flake8-typing-imports/METADATA.toml b/stubs/flake8-typing-imports/METADATA.toml index 8413d3f8e37b..88c1356c9e65 100644 --- a/stubs/flake8-typing-imports/METADATA.toml +++ b/stubs/flake8-typing-imports/METADATA.toml @@ -1 +1 @@ -version = "1.11.*" +version = "1.11.*" diff --git a/stubs/fpdf2/METADATA.toml b/stubs/fpdf2/METADATA.toml index 7d15a9f5641d..bcb78f17fb41 100644 --- a/stubs/fpdf2/METADATA.toml +++ b/stubs/fpdf2/METADATA.toml @@ -1 +1 @@ -version = "2.4.*" +version = "2.4.*" diff --git a/stubs/freezegun/METADATA.toml b/stubs/freezegun/METADATA.toml index c8ebdad52b38..c9f594bd7bbd 100644 --- a/stubs/freezegun/METADATA.toml +++ b/stubs/freezegun/METADATA.toml @@ -1 +1 @@ -version = "1.1.*" +version = "1.1.*" diff --git a/stubs/frozendict/METADATA.toml b/stubs/frozendict/METADATA.toml index af9d95f834c5..58bc38349459 100644 --- a/stubs/frozendict/METADATA.toml +++ b/stubs/frozendict/METADATA.toml @@ -1 +1 @@ -version = "2.0.*" +version = "2.0.*" diff --git a/stubs/futures/METADATA.toml b/stubs/futures/METADATA.toml index c0bece692646..103ece479fa8 100644 --- a/stubs/futures/METADATA.toml +++ b/stubs/futures/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.3.*" +version = "3.3.*" python2 = true diff --git a/stubs/google-cloud-ndb/METADATA.toml b/stubs/google-cloud-ndb/METADATA.toml index 02106fb48699..971cc4a0f9b2 100644 --- a/stubs/google-cloud-ndb/METADATA.toml +++ b/stubs/google-cloud-ndb/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.9.*" +version = "1.9.*" requires = ["types-six"] diff --git a/stubs/hdbcli/METADATA.toml b/stubs/hdbcli/METADATA.toml index 9fcd06702d3c..4e51482b6fc4 100644 --- a/stubs/hdbcli/METADATA.toml +++ b/stubs/hdbcli/METADATA.toml @@ -1 +1 @@ -version = "2.10.*" +version = "2.10.*" diff --git a/stubs/html5lib/METADATA.toml b/stubs/html5lib/METADATA.toml index c8ebdad52b38..c9f594bd7bbd 100644 --- a/stubs/html5lib/METADATA.toml +++ b/stubs/html5lib/METADATA.toml @@ -1 +1 @@ -version = "1.1.*" +version = "1.1.*" diff --git a/stubs/httplib2/METADATA.toml b/stubs/httplib2/METADATA.toml index e3ce53ab21a0..ae1fb69ffa18 100644 --- a/stubs/httplib2/METADATA.toml +++ b/stubs/httplib2/METADATA.toml @@ -1 +1 @@ -version = "0.20.*" +version = "0.20.*" diff --git a/stubs/humanfriendly/METADATA.toml b/stubs/humanfriendly/METADATA.toml index 64901ccadd26..a6930073a3ac 100644 --- a/stubs/humanfriendly/METADATA.toml +++ b/stubs/humanfriendly/METADATA.toml @@ -1 +1 @@ -version = "9.2.*" +version = "9.2.*" diff --git a/stubs/ipaddress/METADATA.toml b/stubs/ipaddress/METADATA.toml index c11a6e0c60ae..e29f8e7f8ef1 100644 --- a/stubs/ipaddress/METADATA.toml +++ b/stubs/ipaddress/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.0.*" +version = "1.0.*" python2 = true diff --git a/stubs/jmespath/METADATA.toml b/stubs/jmespath/METADATA.toml index 57340040aea4..5c7ed21e8ad5 100644 --- a/stubs/jmespath/METADATA.toml +++ b/stubs/jmespath/METADATA.toml @@ -1 +1 @@ -version = "0.10.*" +version = "0.10.*" diff --git a/stubs/jsonschema/METADATA.toml b/stubs/jsonschema/METADATA.toml index 7aa922420d7f..cb7498d03056 100644 --- a/stubs/jsonschema/METADATA.toml +++ b/stubs/jsonschema/METADATA.toml @@ -1 +1 @@ -version = "4.2.*" +version = "4.2.*" diff --git a/stubs/ldap3/METADATA.toml b/stubs/ldap3/METADATA.toml index 509e9085bfbb..77ff5706c1d9 100644 --- a/stubs/ldap3/METADATA.toml +++ b/stubs/ldap3/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.9.*" +version = "2.9.*" requires = [] # requires types-pyasn1 (not available yet) diff --git a/stubs/mock/METADATA.toml b/stubs/mock/METADATA.toml index 056aab1a73e4..3188e8fc281e 100644 --- a/stubs/mock/METADATA.toml +++ b/stubs/mock/METADATA.toml @@ -1 +1 @@ -version = "4.0.*" +version = "4.0.*" diff --git a/stubs/mypy-extensions/METADATA.toml b/stubs/mypy-extensions/METADATA.toml index 58a11f702e1e..79b51931ee0b 100644 --- a/stubs/mypy-extensions/METADATA.toml +++ b/stubs/mypy-extensions/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.4.*" +version = "0.4.*" python2 = true diff --git a/stubs/mysqlclient/METADATA.toml b/stubs/mysqlclient/METADATA.toml index 87f7695197e4..159b06b06fd2 100644 --- a/stubs/mysqlclient/METADATA.toml +++ b/stubs/mysqlclient/METADATA.toml @@ -1 +1 @@ -version = "2.0.*" \ No newline at end of file +version = "2.0.*" \ No newline at end of file diff --git a/stubs/oauthlib/METADATA.toml b/stubs/oauthlib/METADATA.toml index c5d7dc4e9aaa..84307529a94b 100644 --- a/stubs/oauthlib/METADATA.toml +++ b/stubs/oauthlib/METADATA.toml @@ -1 +1 @@ -version = "3.1.*" +version = "3.1.*" diff --git a/stubs/opentracing/METADATA.toml b/stubs/opentracing/METADATA.toml index 7d15a9f5641d..bcb78f17fb41 100644 --- a/stubs/opentracing/METADATA.toml +++ b/stubs/opentracing/METADATA.toml @@ -1 +1 @@ -version = "2.4.*" +version = "2.4.*" diff --git a/stubs/orjson/METADATA.toml b/stubs/orjson/METADATA.toml index 736862b68e34..49ae8203c6e9 100644 --- a/stubs/orjson/METADATA.toml +++ b/stubs/orjson/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.6.*" +version = "3.6.*" obsolete_since = "3.6.1" diff --git a/stubs/paramiko/METADATA.toml b/stubs/paramiko/METADATA.toml index b6f1dca92a8c..b526e1ea4802 100644 --- a/stubs/paramiko/METADATA.toml +++ b/stubs/paramiko/METADATA.toml @@ -1,3 +1,3 @@ -version = "2.8.*" +version = "2.8.*" python2 = true requires = ["types-cryptography"] diff --git a/stubs/polib/METADATA.toml b/stubs/polib/METADATA.toml index 61a341c37398..c0a0050d4a68 100644 --- a/stubs/polib/METADATA.toml +++ b/stubs/polib/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.1.*" +version = "1.1.*" python2 = true diff --git a/stubs/prettytable/METADATA.toml b/stubs/prettytable/METADATA.toml index eb2bfc873deb..acdc22b5d432 100644 --- a/stubs/prettytable/METADATA.toml +++ b/stubs/prettytable/METADATA.toml @@ -1 +1 @@ -version = "2.1.*" +version = "2.1.*" diff --git a/stubs/protobuf/METADATA.toml b/stubs/protobuf/METADATA.toml index 8bc13fc1c420..c551073ba407 100644 --- a/stubs/protobuf/METADATA.toml +++ b/stubs/protobuf/METADATA.toml @@ -1,4 +1,4 @@ -version = "3.18.*" +version = "3.18.*" python2 = true requires = ["types-futures"] extra_description = "Generated with aid from mypy-protobuf v3.0.0" diff --git a/stubs/psutil/METADATA.toml b/stubs/psutil/METADATA.toml index 748de8782f4c..295659a1622c 100644 --- a/stubs/psutil/METADATA.toml +++ b/stubs/psutil/METADATA.toml @@ -1 +1 @@ -version = "5.8.*" +version = "5.8.*" diff --git a/stubs/psycopg2/METADATA.toml b/stubs/psycopg2/METADATA.toml index 24329e0b1f8c..0009f38f042f 100644 --- a/stubs/psycopg2/METADATA.toml +++ b/stubs/psycopg2/METADATA.toml @@ -1 +1 @@ -version = "2.9.*" \ No newline at end of file +version = "2.9.*" \ No newline at end of file diff --git a/stubs/pyOpenSSL/METADATA.toml b/stubs/pyOpenSSL/METADATA.toml index 1c777258e448..4be158bf0ef1 100644 --- a/stubs/pyOpenSSL/METADATA.toml +++ b/stubs/pyOpenSSL/METADATA.toml @@ -1,3 +1,3 @@ -version = "21.0.*" +version = "21.0.*" python2 = true requires = ["types-cryptography"] diff --git a/stubs/pyRFC3339/METADATA.toml b/stubs/pyRFC3339/METADATA.toml index 8ee3c90a266c..bad265e4fe3f 100644 --- a/stubs/pyRFC3339/METADATA.toml +++ b/stubs/pyRFC3339/METADATA.toml @@ -1 +1 @@ -version = "1.1" +version = "1.1" diff --git a/stubs/pyaudio/METADATA.toml b/stubs/pyaudio/METADATA.toml index b028f1967e48..6928f6e1901c 100644 --- a/stubs/pyaudio/METADATA.toml +++ b/stubs/pyaudio/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.2.*" +version = "0.2.*" python2 = true diff --git a/stubs/pycurl/METADATA.toml b/stubs/pycurl/METADATA.toml index 3d478b22427d..fafbc99588cb 100644 --- a/stubs/pycurl/METADATA.toml +++ b/stubs/pycurl/METADATA.toml @@ -1 +1 @@ -version = "7.44.*" +version = "7.44.*" diff --git a/stubs/pyfarmhash/METADATA.toml b/stubs/pyfarmhash/METADATA.toml index 61619baf2a3d..a42da251bed5 100644 --- a/stubs/pyfarmhash/METADATA.toml +++ b/stubs/pyfarmhash/METADATA.toml @@ -1 +1 @@ -version = "0.2.*" +version = "0.2.*" diff --git a/stubs/pysftp/METADATA.toml b/stubs/pysftp/METADATA.toml index 9dac7e427b00..e3748bd7b73d 100644 --- a/stubs/pysftp/METADATA.toml +++ b/stubs/pysftp/METADATA.toml @@ -1,3 +1,3 @@ -version = "0.2.*" +version = "0.2.*" python2 = true requires = ["types-paramiko"] diff --git a/stubs/pytest-lazy-fixture/METADATA.toml b/stubs/pytest-lazy-fixture/METADATA.toml index 2e9323be7034..03031f1e9559 100644 --- a/stubs/pytest-lazy-fixture/METADATA.toml +++ b/stubs/pytest-lazy-fixture/METADATA.toml @@ -1 +1 @@ -version = "0.6.*" +version = "0.6.*" diff --git a/stubs/python-dateutil/METADATA.toml b/stubs/python-dateutil/METADATA.toml index 99036a653303..c00bfdcaeadc 100644 --- a/stubs/python-dateutil/METADATA.toml +++ b/stubs/python-dateutil/METADATA.toml @@ -1,3 +1,3 @@ -version = "2.8.*" +version = "2.8.*" python2 = true requires = [] diff --git a/stubs/python-gflags/METADATA.toml b/stubs/python-gflags/METADATA.toml index a8fc82965612..ac2fd418911a 100644 --- a/stubs/python-gflags/METADATA.toml +++ b/stubs/python-gflags/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.1.*" +version = "3.1.*" python2 = true diff --git a/stubs/python-nmap/METADATA.toml b/stubs/python-nmap/METADATA.toml index 02b95dc57f0d..aed349a93a97 100644 --- a/stubs/python-nmap/METADATA.toml +++ b/stubs/python-nmap/METADATA.toml @@ -1,3 +1,3 @@ -version = "0.6.*" +version = "0.6.*" python2 = true requires = [] diff --git a/stubs/python-slugify/METADATA.toml b/stubs/python-slugify/METADATA.toml index 2225a17aea52..c98db63045e7 100644 --- a/stubs/python-slugify/METADATA.toml +++ b/stubs/python-slugify/METADATA.toml @@ -1 +1 @@ -version = "5.0.*" +version = "5.0.*" diff --git a/stubs/pytz/METADATA.toml b/stubs/pytz/METADATA.toml index 7fb5bbfed4f1..0bdf109638a1 100644 --- a/stubs/pytz/METADATA.toml +++ b/stubs/pytz/METADATA.toml @@ -1,2 +1,2 @@ -version = "2021.3" +version = "2021.3" python2 = true diff --git a/stubs/pyvmomi/METADATA.toml b/stubs/pyvmomi/METADATA.toml index 2fa161fc359b..678b938f43f9 100644 --- a/stubs/pyvmomi/METADATA.toml +++ b/stubs/pyvmomi/METADATA.toml @@ -1,3 +1,3 @@ -version = "7.0.*" +version = "7.0.*" python2 = true requires = ["types-enum34"] diff --git a/stubs/redis/METADATA.toml b/stubs/redis/METADATA.toml index 3f55305ff3f9..0ca63cc11f20 100644 --- a/stubs/redis/METADATA.toml +++ b/stubs/redis/METADATA.toml @@ -1,2 +1,2 @@ -version = "4.0.*" +version = "4.0.*" requires = [] diff --git a/stubs/requests/METADATA.toml b/stubs/requests/METADATA.toml index b79632fb4ea1..53ad05966f56 100644 --- a/stubs/requests/METADATA.toml +++ b/stubs/requests/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.26.*" +version = "2.26.*" python2 = true diff --git a/stubs/retry/METADATA.toml b/stubs/retry/METADATA.toml index df6335983095..6f2870bcfb82 100644 --- a/stubs/retry/METADATA.toml +++ b/stubs/retry/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.9.*" +version = "0.9.*" python2 = true diff --git a/stubs/selenium/METADATA.toml b/stubs/selenium/METADATA.toml index 319f78275884..ed87da948251 100644 --- a/stubs/selenium/METADATA.toml +++ b/stubs/selenium/METADATA.toml @@ -1 +1 @@ -version = "3.141.*" +version = "3.141.*" diff --git a/stubs/setuptools/METADATA.toml b/stubs/setuptools/METADATA.toml index b15316f8e1be..ff6e4177e062 100644 --- a/stubs/setuptools/METADATA.toml +++ b/stubs/setuptools/METADATA.toml @@ -1 +1 @@ -version = "57.4.*" +version = "57.4.*" diff --git a/stubs/simplejson/METADATA.toml b/stubs/simplejson/METADATA.toml index 07fb0da5ec3f..e8d5c242ddd3 100644 --- a/stubs/simplejson/METADATA.toml +++ b/stubs/simplejson/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.17.*" +version = "3.17.*" python2 = true diff --git a/stubs/singledispatch/METADATA.toml b/stubs/singledispatch/METADATA.toml index 1766db45e43e..839f7d3a9b8e 100644 --- a/stubs/singledispatch/METADATA.toml +++ b/stubs/singledispatch/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.7.*" +version = "3.7.*" python2 = true diff --git a/stubs/six/METADATA.toml b/stubs/six/METADATA.toml index 639d7e758b98..90e0456946aa 100644 --- a/stubs/six/METADATA.toml +++ b/stubs/six/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.16.*" +version = "1.16.*" python2 = true diff --git a/stubs/slumber/METADATA.toml b/stubs/slumber/METADATA.toml index 2d502492da69..7431acfe0fa8 100644 --- a/stubs/slumber/METADATA.toml +++ b/stubs/slumber/METADATA.toml @@ -1 +1 @@ -version = "0.7.*" +version = "0.7.*" diff --git a/stubs/stripe/METADATA.toml b/stubs/stripe/METADATA.toml index baaa9c44b3fe..5d262932f608 100644 --- a/stubs/stripe/METADATA.toml +++ b/stubs/stripe/METADATA.toml @@ -1 +1 @@ -version = "2.59.*" +version = "2.59.*" diff --git a/stubs/tabulate/METADATA.toml b/stubs/tabulate/METADATA.toml index 248b0b36b181..78fa4d13f8bb 100644 --- a/stubs/tabulate/METADATA.toml +++ b/stubs/tabulate/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.8.*" +version = "0.8.*" python2 = true diff --git a/stubs/termcolor/METADATA.toml b/stubs/termcolor/METADATA.toml index 61a341c37398..c0a0050d4a68 100644 --- a/stubs/termcolor/METADATA.toml +++ b/stubs/termcolor/METADATA.toml @@ -1,2 +1,2 @@ -version = "1.1.*" +version = "1.1.*" python2 = true diff --git a/stubs/toml/METADATA.toml b/stubs/toml/METADATA.toml index 6707a5f94909..343f2c4782a6 100644 --- a/stubs/toml/METADATA.toml +++ b/stubs/toml/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.10.*" +version = "0.10.*" python2 = true diff --git a/stubs/toposort/METADATA.toml b/stubs/toposort/METADATA.toml index 1f4f4e98a2ec..ccb25250bba1 100644 --- a/stubs/toposort/METADATA.toml +++ b/stubs/toposort/METADATA.toml @@ -1 +1 @@ -version = "1.7" +version = "1.7" diff --git a/stubs/ttkthemes/METADATA.toml b/stubs/ttkthemes/METADATA.toml index b430de59e5b1..38c94680a9a8 100644 --- a/stubs/ttkthemes/METADATA.toml +++ b/stubs/ttkthemes/METADATA.toml @@ -1 +1 @@ -version = "3.2.*" +version = "3.2.*" diff --git a/stubs/typed-ast/METADATA.toml b/stubs/typed-ast/METADATA.toml index 02cdf84eebf9..97ceca8aa9f5 100644 --- a/stubs/typed-ast/METADATA.toml +++ b/stubs/typed-ast/METADATA.toml @@ -1 +1 @@ -version = "1.5.*" +version = "1.5.*" diff --git a/stubs/tzlocal/METADATA.toml b/stubs/tzlocal/METADATA.toml index b0bded1c47e2..309661e3eeac 100644 --- a/stubs/tzlocal/METADATA.toml +++ b/stubs/tzlocal/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.0" +version = "3.0" requires = ["types-pytz"] diff --git a/stubs/ujson/METADATA.toml b/stubs/ujson/METADATA.toml index 7aa922420d7f..cb7498d03056 100644 --- a/stubs/ujson/METADATA.toml +++ b/stubs/ujson/METADATA.toml @@ -1 +1 @@ -version = "4.2.*" +version = "4.2.*" diff --git a/stubs/vobject/METADATA.toml b/stubs/vobject/METADATA.toml index 272e3be619da..51e869b47983 100644 --- a/stubs/vobject/METADATA.toml +++ b/stubs/vobject/METADATA.toml @@ -1 +1 @@ -version = "0.9.*" +version = "0.9.*" diff --git a/stubs/waitress/METADATA.toml b/stubs/waitress/METADATA.toml index 461c72cb5c5a..a035bd0a01ba 100644 --- a/stubs/waitress/METADATA.toml +++ b/stubs/waitress/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.0.*" +version = "2.0.*" requires = [] diff --git a/stubs/xxhash/METADATA.toml b/stubs/xxhash/METADATA.toml index 9d2e294083e5..72294377102c 100644 --- a/stubs/xxhash/METADATA.toml +++ b/stubs/xxhash/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.0.*" +version = "2.0.*" python2 = true From b2fa7df8d78f0d22c9387b348cffd50c8f740cbb Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 17:39:49 -0800 Subject: [PATCH 12/35] [temporary] shard stubtest third party --- .github/workflows/tests.yml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 794d1669c6fb..32828cad11bb 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -113,23 +113,18 @@ jobs: stubtest-third-party: name: Check third party stubs with stubtest + if: github.repository == 'python/typeshed' runs-on: ubuntu-latest - if: github.event_name == 'pull_request' + strategy: + matrix: + shard-index: [0, 1, 2, 3] + fail-fast: false steps: - uses: actions/checkout@v2 - with: - fetch-depth: 0 - uses: actions/setup-python@v2 with: python-version: 3.9 - name: Install dependencies run: pip install $(grep tomli== requirements-tests.txt) - name: Run stubtest - run: | - STUBS=$(git diff --name-only origin/${{ github.base_ref }} HEAD | egrep ^stubs/ | cut -d "/" -f 2 | sort -u | (while read stub; do [ -d stubs/$stub ] && echo $stub || true; done)) - if test -n "$STUBS"; then - echo "Testing $STUBS..." - python tests/stubtest_third_party.py $STUBS - else - echo "Nothing to test" - fi + run: python tests/stubtest_third_party.py --num-shards 4 --shard-index ${{ matrix.shard-index }} From d22bf40e5f59ddffa736c51460c75fc9347a9f1a Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 17:42:20 -0800 Subject: [PATCH 13/35] allow sqlite --- tests/stubtest_allowlists/py36.txt | 2 ++ tests/stubtest_allowlists/py37.txt | 2 ++ tests/stubtest_allowlists/py38.txt | 2 ++ tests/stubtest_allowlists/py39.txt | 2 ++ tests/stubtest_allowlists/py3_common.txt | 1 + 5 files changed, 9 insertions(+) diff --git a/tests/stubtest_allowlists/py36.txt b/tests/stubtest_allowlists/py36.txt index 71757f511f8d..7faff710f857 100644 --- a/tests/stubtest_allowlists/py36.txt +++ b/tests/stubtest_allowlists/py36.txt @@ -72,6 +72,8 @@ tkinter.EventType.__new__ builtins.memoryview.__iter__ # C type that implements __getitem__ builtins.memoryview.cast # inspect.signature is incorrect about shape being kw-only +sqlite3.dbapi2.Binary.__iter__ # C type that implements __getitem__ +sqlite3.dbapi2.Binary.cast # inspect.signature is incorrect about shape being kw-only collections.Coroutine.cr_await collections.Coroutine.cr_code collections.Coroutine.cr_frame diff --git a/tests/stubtest_allowlists/py37.txt b/tests/stubtest_allowlists/py37.txt index 2cd19fda5430..a24384a0c599 100644 --- a/tests/stubtest_allowlists/py37.txt +++ b/tests/stubtest_allowlists/py37.txt @@ -65,6 +65,8 @@ tkinter.EventType.__new__ builtins.memoryview.__iter__ # C type that implements __getitem__ builtins.memoryview.cast # inspect.signature is incorrect about shape being kw-only +sqlite3.dbapi2.Binary.__iter__ # C type that implements __getitem__ +sqlite3.dbapi2.Binary.cast # inspect.signature is incorrect about shape being kw-only collections.Coroutine.cr_await collections.Coroutine.cr_code collections.Coroutine.cr_frame diff --git a/tests/stubtest_allowlists/py38.txt b/tests/stubtest_allowlists/py38.txt index 45deb7ecdb56..81dd848d0dc0 100644 --- a/tests/stubtest_allowlists/py38.txt +++ b/tests/stubtest_allowlists/py38.txt @@ -82,6 +82,8 @@ tkinter.EventType.__new__ builtins.memoryview.__iter__ # C type that implements __getitem__ builtins.memoryview.cast # inspect.signature is incorrect about shape being kw-only +sqlite3.dbapi2.Binary.__iter__ # C type that implements __getitem__ +sqlite3.dbapi2.Binary.cast # inspect.signature is incorrect about shape being kw-only collections.Coroutine.cr_await collections.Coroutine.cr_code collections.Coroutine.cr_frame diff --git a/tests/stubtest_allowlists/py39.txt b/tests/stubtest_allowlists/py39.txt index 35480dc7ea65..5e1c568861ae 100644 --- a/tests/stubtest_allowlists/py39.txt +++ b/tests/stubtest_allowlists/py39.txt @@ -93,6 +93,8 @@ tkinter.EventType.__new__ builtins.memoryview.__iter__ # C type that implements __getitem__ builtins.memoryview.cast # inspect.signature is incorrect about shape being kw-only +sqlite3.dbapi2.Binary.__iter__ # C type that implements __getitem__ +sqlite3.dbapi2.Binary.cast # inspect.signature is incorrect about shape being kw-only collections.Coroutine.cr_await collections.Coroutine.cr_code collections.Coroutine.cr_frame diff --git a/tests/stubtest_allowlists/py3_common.txt b/tests/stubtest_allowlists/py3_common.txt index 9d32f07df687..adc361cca98f 100644 --- a/tests/stubtest_allowlists/py3_common.txt +++ b/tests/stubtest_allowlists/py3_common.txt @@ -42,6 +42,7 @@ builtins.classmethod.__get__ # this function can accept no value for the type p builtins.ellipsis # type is not exposed anywhere builtins.function builtins.memoryview.__contains__ # C type that implements __getitem__ +sqlite3.dbapi2.Binary.__contains__ # C type that implements __getitem__ builtins.object.__init__ # default C signature is incorrect builtins.property.__get__ # this function can accept no value for the type parameter. builtins.staticmethod.__get__ # this function can accept no value for the type parameter. From 19fea4db8d7a2534c8e6aa1f129629dee37aeae4 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 17:47:12 -0800 Subject: [PATCH 14/35] un-allow mysqlclient --- stubs/mysqlclient/@tests/stubtest_allowlist.txt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/stubs/mysqlclient/@tests/stubtest_allowlist.txt b/stubs/mysqlclient/@tests/stubtest_allowlist.txt index 1e7b85b94727..fbc91acd69fa 100644 --- a/stubs/mysqlclient/@tests/stubtest_allowlist.txt +++ b/stubs/mysqlclient/@tests/stubtest_allowlist.txt @@ -1,8 +1 @@ MySQLdb.Connection -MySQLdb.connections -MySQLdb.constants.CLIENT -MySQLdb.constants.CR -MySQLdb.constants.ER -MySQLdb.constants.FLAG -MySQLdb.converters -MySQLdb.cursors From 43cd55cb240d9e6f7c56bc92c685e4f8a94fb525 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 17:48:59 -0800 Subject: [PATCH 15/35] allow html5lib --- stubs/html5lib/@tests/stubtest_allowlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/stubs/html5lib/@tests/stubtest_allowlist.txt b/stubs/html5lib/@tests/stubtest_allowlist.txt index fe341582b147..82dbdb726b09 100644 --- a/stubs/html5lib/@tests/stubtest_allowlist.txt +++ b/stubs/html5lib/@tests/stubtest_allowlist.txt @@ -1,2 +1,3 @@ # Misnamed first argument in implementation html5lib._inputstream.EncodingBytes.__new__ +html5lib._tokenizer.attributeMap.get From a590d669007bccfff3942d88a57090eb17600442 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 17:50:15 -0800 Subject: [PATCH 16/35] un-allow waitress --- stubs/waitress/@tests/stubtest_allowlist.txt | 25 -------------------- 1 file changed, 25 deletions(-) diff --git a/stubs/waitress/@tests/stubtest_allowlist.txt b/stubs/waitress/@tests/stubtest_allowlist.txt index d839ceb061c3..d428328d8427 100644 --- a/stubs/waitress/@tests/stubtest_allowlist.txt +++ b/stubs/waitress/@tests/stubtest_allowlist.txt @@ -9,14 +9,6 @@ waitress.channel.HTTPChannel.error_task_class waitress.channel.HTTPChannel.parser_class waitress.channel.HTTPChannel.request waitress.channel.HTTPChannel.task_class -waitress.channel.wasyncore.compat.qualname -waitress.channel.wasyncore.compat.reraise -waitress.channel.wasyncore.compat.set_nonblocking -waitress.channel.wasyncore.compat.text_ -waitress.channel.wasyncore.compat.tobytes -waitress.channel.wasyncore.compat.tostr -waitress.channel.wasyncore.compat.unquote_bytes_to_wsgi -waitress.channel.wasyncore.dispatcher_with_send.handle_write waitress.compat.PY2 waitress.compat.PY3 waitress.compat.ResourceWarning @@ -40,20 +32,3 @@ waitress.server.WSGIServer waitress.task.ErrorTask.content_length waitress.task.ThreadedTaskDispatcher.start_new_thread waitress.task.WSGITask.content_length -waitress.trigger.wasyncore.compat.qualname -waitress.trigger.wasyncore.compat.reraise -waitress.trigger.wasyncore.compat.set_nonblocking -waitress.trigger.wasyncore.compat.text_ -waitress.trigger.wasyncore.compat.tobytes -waitress.trigger.wasyncore.compat.tostr -waitress.trigger.wasyncore.compat.unquote_bytes_to_wsgi -waitress.trigger.wasyncore.dispatcher_with_send.handle_write -waitress.wasyncore.compat.qualname -waitress.wasyncore.compat.reraise -waitress.wasyncore.compat.set_nonblocking -waitress.wasyncore.compat.text_ -waitress.wasyncore.compat.tobytes -waitress.wasyncore.compat.tostr -waitress.wasyncore.compat.unquote_bytes_to_wsgi -waitress.wasyncore.dispatcher_with_send.handle_write -waitress.wasyncore.map From 4b3358eede87bd8430cef232a28a9002ea0b3873 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 17:50:34 -0800 Subject: [PATCH 17/35] also allow waitress --- stubs/waitress/@tests/stubtest_allowlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/stubs/waitress/@tests/stubtest_allowlist.txt b/stubs/waitress/@tests/stubtest_allowlist.txt index d428328d8427..7d727273198f 100644 --- a/stubs/waitress/@tests/stubtest_allowlist.txt +++ b/stubs/waitress/@tests/stubtest_allowlist.txt @@ -32,3 +32,4 @@ waitress.server.WSGIServer waitress.task.ErrorTask.content_length waitress.task.ThreadedTaskDispatcher.start_new_thread waitress.task.WSGITask.content_length +waitress.rfc7230.BWS From fe7cd0c52974b6791517b68436e33175cf05ee7e Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 18:01:33 -0800 Subject: [PATCH 18/35] mypy_extensions: fix NoReturn, remove inaccurate comment --- stubs/mypy-extensions/mypy_extensions.pyi | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/stubs/mypy-extensions/mypy_extensions.pyi b/stubs/mypy-extensions/mypy_extensions.pyi index fc6de37d07d1..0d8cc011e4ae 100644 --- a/stubs/mypy-extensions/mypy_extensions.pyi +++ b/stubs/mypy-extensions/mypy_extensions.pyi @@ -34,9 +34,8 @@ def VarArg(type: _T = ...) -> _T: ... def KwArg(type: _T = ...) -> _T: ... # Return type that indicates a function does not return. -# This type is equivalent to the None type, but the no-op Union is necessary to -# distinguish the None type from the None value. -NoReturn = Union[None] # Deprecated: Use typing.NoReturn instead. +# Deprecated: Use typing.NoReturn instead. +class NoReturn: ... # This is intended as a class decorator, but mypy rejects abstract classes # when a Type[_T] is expected, so we can't give it the type we want From c67672b30da962f097972a0d419b9a17de145a2d Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 18:04:26 -0800 Subject: [PATCH 19/35] update paramiko allowlist --- stubs/paramiko/@tests/stubtest_allowlist.txt | 22 ++++---------------- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/stubs/paramiko/@tests/stubtest_allowlist.txt b/stubs/paramiko/@tests/stubtest_allowlist.txt index 34b27e512725..3b8d828018e8 100644 --- a/stubs/paramiko/@tests/stubtest_allowlist.txt +++ b/stubs/paramiko/@tests/stubtest_allowlist.txt @@ -3,25 +3,11 @@ paramiko.Transport.open_x11_channel paramiko.Transport.send_ignore paramiko.Transport.start_server paramiko._winapi -paramiko.py3compat.builtins.bytearray.pop -paramiko.py3compat.builtins.bytearray.remove -paramiko.py3compat.builtins.classmethod.__get__ -paramiko.py3compat.builtins.copyright -paramiko.py3compat.builtins.credits -paramiko.py3compat.builtins.dict.get -paramiko.py3compat.builtins.ellipsis -paramiko.py3compat.builtins.exit -paramiko.py3compat.builtins.function -paramiko.py3compat.builtins.help -paramiko.py3compat.builtins.license -paramiko.py3compat.builtins.memoryview.__contains__ -paramiko.py3compat.builtins.memoryview.__iter__ -paramiko.py3compat.builtins.memoryview.cast -paramiko.py3compat.builtins.object.__init__ -paramiko.py3compat.builtins.property.__get__ -paramiko.py3compat.builtins.quit -paramiko.py3compat.builtins.staticmethod.__get__ paramiko.py3compat.input +paramiko.py3compat.BytesIO.readlines +paramiko.py3compat.BytesIO.seek +paramiko.py3compat.StringIO.seek +paramiko.py3compat.StringIO.truncate paramiko.sftp_server.SFTPServer.__init__ paramiko.transport.Transport.open_x11_channel paramiko.transport.Transport.send_ignore From 43205b35663af9ef164e99c63c1929e3934a5fa7 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 18:04:54 -0800 Subject: [PATCH 20/35] more waitress --- stubs/waitress/@tests/stubtest_allowlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/stubs/waitress/@tests/stubtest_allowlist.txt b/stubs/waitress/@tests/stubtest_allowlist.txt index 7d727273198f..b5797adaf330 100644 --- a/stubs/waitress/@tests/stubtest_allowlist.txt +++ b/stubs/waitress/@tests/stubtest_allowlist.txt @@ -33,3 +33,4 @@ waitress.task.ErrorTask.content_length waitress.task.ThreadedTaskDispatcher.start_new_thread waitress.task.WSGITask.content_length waitress.rfc7230.BWS +waitress.wasyncore.map From 74ed3faf7be99cebfe177d87d1f210902e97df51 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 18:08:15 -0800 Subject: [PATCH 21/35] import --- stubs/mypy-extensions/mypy_extensions.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stubs/mypy-extensions/mypy_extensions.pyi b/stubs/mypy-extensions/mypy_extensions.pyi index 0d8cc011e4ae..dd182c485177 100644 --- a/stubs/mypy-extensions/mypy_extensions.pyi +++ b/stubs/mypy-extensions/mypy_extensions.pyi @@ -1,6 +1,6 @@ import abc import sys -from typing import Any, Callable, Generic, ItemsView, KeysView, Mapping, Type, TypeVar, Union, ValuesView +from typing import Any, Callable, Generic, ItemsView, KeysView, Mapping, Type, TypeVar, ValuesView _T = TypeVar("_T") _U = TypeVar("_U") From 5b7c1826d16bb2c7020105bbc1e463e7ae844b5d Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 18:13:10 -0800 Subject: [PATCH 22/35] update requests allowlist --- stubs/requests/@tests/stubtest_allowlist.txt | 191 +++++++++++++++++++ 1 file changed, 191 insertions(+) diff --git a/stubs/requests/@tests/stubtest_allowlist.txt b/stubs/requests/@tests/stubtest_allowlist.txt index c040f9c71c27..841c64e8ddb5 100644 --- a/stubs/requests/@tests/stubtest_allowlist.txt +++ b/stubs/requests/@tests/stubtest_allowlist.txt @@ -5,6 +5,32 @@ requests.Session.options requests.Session.patch requests.Session.post requests.Session.put +requests.adapters.HTTPResponse.DECODER_ERROR_CLASSES +requests.adapters.HTTPResponse.__init__ +requests.adapters.HTTPResponse.connection +requests.adapters.HTTPResponse.drain_conn +requests.adapters.HTTPResponse.geturl +requests.adapters.HTTPResponse.info +requests.adapters.HTTPResponse.isclosed +requests.adapters.HTTPResponse.read_chunked +requests.adapters.HTTPResponse.supports_chunked_reads +requests.adapters.PoolManager.connection_from_context +requests.adapters.PoolManager.connection_from_host +requests.adapters.PoolManager.connection_from_pool_key +requests.adapters.PoolManager.connection_from_url +requests.adapters.PoolManager.proxy_config +requests.adapters.PoolManager.urlopen +requests.adapters.Retry.DEFAULT +requests.adapters.Retry.DEFAULT_ALLOWED_METHODS +requests.adapters.Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT +requests.adapters.Retry.RETRY_AFTER_STATUS_CODES +requests.adapters.Retry.get_retry_after +requests.adapters.Retry.is_forced_retry +requests.adapters.Retry.is_retry +requests.adapters.Retry.parse_retry_after +requests.adapters.Retry.sleep +requests.adapters.Retry.sleep_for_retry +requests.adapters.SOCKSProxyManager requests.api.delete requests.api.get requests.api.head @@ -13,45 +39,205 @@ requests.api.patch requests.api.post requests.api.put requests.api.request +requests.compat.OrderedDict.fromkeys +requests.compat.OrderedDict.setdefault requests.delete +requests.exceptions.InvalidJSONError requests.get requests.head +requests.models.RequestField.__init__ +requests.models.RequestField.from_tuples requests.options requests.packages.VendorAlias +requests.packages.urllib3.HTTPConnectionPool.ResponseCls +requests.packages.urllib3.HTTPConnectionPool.__init__ +requests.packages.urllib3.HTTPConnectionPool.urlopen +requests.packages.urllib3.HTTPResponse.DECODER_ERROR_CLASSES +requests.packages.urllib3.HTTPResponse.__init__ +requests.packages.urllib3.HTTPResponse.connection +requests.packages.urllib3.HTTPResponse.drain_conn +requests.packages.urllib3.HTTPResponse.geturl +requests.packages.urllib3.HTTPResponse.info +requests.packages.urllib3.HTTPResponse.isclosed +requests.packages.urllib3.HTTPResponse.read_chunked +requests.packages.urllib3.HTTPResponse.supports_chunked_reads +requests.packages.urllib3.HTTPSConnectionPool.__init__ requests.packages.urllib3.NullHandler +requests.packages.urllib3.PoolManager.connection_from_context +requests.packages.urllib3.PoolManager.connection_from_host +requests.packages.urllib3.PoolManager.connection_from_pool_key +requests.packages.urllib3.PoolManager.connection_from_url +requests.packages.urllib3.PoolManager.proxy_config +requests.packages.urllib3.PoolManager.urlopen +requests.packages.urllib3.ProxyManager.__init__ +requests.packages.urllib3.ProxyManager.connection_from_host +requests.packages.urllib3.ProxyManager.urlopen +requests.packages.urllib3.Retry.DEFAULT +requests.packages.urllib3.Retry.DEFAULT_ALLOWED_METHODS +requests.packages.urllib3.Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT +requests.packages.urllib3.Retry.RETRY_AFTER_STATUS_CODES +requests.packages.urllib3.Retry.get_retry_after +requests.packages.urllib3.Retry.is_forced_retry +requests.packages.urllib3.Retry.is_retry +requests.packages.urllib3.Retry.parse_retry_after +requests.packages.urllib3.Retry.sleep +requests.packages.urllib3.Retry.sleep_for_retry requests.packages.urllib3._collections.HTTPHeaderDict.from_httplib +requests.packages.urllib3._collections.HTTPHeaderDict.get_all requests.packages.urllib3._collections.HTTPHeaderDict.getlist requests.packages.urllib3._collections.RLock +requests.packages.urllib3.connection.HTTPConnection.proxy_is_verified requests.packages.urllib3.connection.HTTPConnection.request +requests.packages.urllib3.connection.HTTPConnection.request_chunked requests.packages.urllib3.connection.HTTPSConnection.__init__ +requests.packages.urllib3.connection.HTTPSConnection.assert_fingerprint +requests.packages.urllib3.connection.HTTPSConnection.ca_cert_data +requests.packages.urllib3.connection.HTTPSConnection.ca_cert_dir +requests.packages.urllib3.connection.HTTPSConnection.ca_certs +requests.packages.urllib3.connection.HTTPSConnection.cert_reqs +requests.packages.urllib3.connection.HTTPSConnection.set_cert +requests.packages.urllib3.connection.HTTPSConnection.ssl_version +requests.packages.urllib3.connection.HTTPSConnection.tls_in_tls_required requests.packages.urllib3.connection.VerifiedHTTPSConnection.__init__ +requests.packages.urllib3.connection.VerifiedHTTPSConnection.ca_cert_data +requests.packages.urllib3.connection.VerifiedHTTPSConnection.ca_cert_dir requests.packages.urllib3.connection.VerifiedHTTPSConnection.set_cert +requests.packages.urllib3.connection.VerifiedHTTPSConnection.tls_in_tls_required requests.packages.urllib3.connectionpool.ConnectionError +requests.packages.urllib3.connectionpool.HTTPConnection.proxy_is_verified +requests.packages.urllib3.connectionpool.HTTPConnection.request +requests.packages.urllib3.connectionpool.HTTPConnection.request_chunked +requests.packages.urllib3.connectionpool.HTTPConnectionPool.ResponseCls requests.packages.urllib3.connectionpool.HTTPConnectionPool.__init__ requests.packages.urllib3.connectionpool.HTTPConnectionPool.urlopen +requests.packages.urllib3.connectionpool.HTTPResponse.DECODER_ERROR_CLASSES +requests.packages.urllib3.connectionpool.HTTPResponse.__init__ +requests.packages.urllib3.connectionpool.HTTPResponse.connection +requests.packages.urllib3.connectionpool.HTTPResponse.drain_conn +requests.packages.urllib3.connectionpool.HTTPResponse.geturl +requests.packages.urllib3.connectionpool.HTTPResponse.info +requests.packages.urllib3.connectionpool.HTTPResponse.isclosed +requests.packages.urllib3.connectionpool.HTTPResponse.read_chunked +requests.packages.urllib3.connectionpool.HTTPResponse.supports_chunked_reads +requests.packages.urllib3.connectionpool.HTTPSConnection.__init__ +requests.packages.urllib3.connectionpool.HTTPSConnection.assert_fingerprint +requests.packages.urllib3.connectionpool.HTTPSConnection.ca_cert_data +requests.packages.urllib3.connectionpool.HTTPSConnection.ca_cert_dir +requests.packages.urllib3.connectionpool.HTTPSConnection.ca_certs +requests.packages.urllib3.connectionpool.HTTPSConnection.cert_reqs +requests.packages.urllib3.connectionpool.HTTPSConnection.set_cert +requests.packages.urllib3.connectionpool.HTTPSConnection.ssl_version +requests.packages.urllib3.connectionpool.HTTPSConnection.tls_in_tls_required requests.packages.urllib3.connectionpool.HTTPSConnectionPool.__init__ +requests.packages.urllib3.connectionpool.ProxyError.__init__ +requests.packages.urllib3.connectionpool.RequestMethods.request_encode_url +requests.packages.urllib3.connectionpool.Retry.DEFAULT +requests.packages.urllib3.connectionpool.Retry.DEFAULT_ALLOWED_METHODS +requests.packages.urllib3.connectionpool.Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT +requests.packages.urllib3.connectionpool.Retry.RETRY_AFTER_STATUS_CODES +requests.packages.urllib3.connectionpool.Retry.get_retry_after +requests.packages.urllib3.connectionpool.Retry.is_forced_retry +requests.packages.urllib3.connectionpool.Retry.is_retry +requests.packages.urllib3.connectionpool.Retry.parse_retry_after +requests.packages.urllib3.connectionpool.Retry.sleep +requests.packages.urllib3.connectionpool.Retry.sleep_for_retry +requests.packages.urllib3.connectionpool.VerifiedHTTPSConnection.__init__ +requests.packages.urllib3.connectionpool.VerifiedHTTPSConnection.ca_cert_data +requests.packages.urllib3.connectionpool.VerifiedHTTPSConnection.ca_cert_dir +requests.packages.urllib3.connectionpool.VerifiedHTTPSConnection.set_cert +requests.packages.urllib3.connectionpool.VerifiedHTTPSConnection.tls_in_tls_required +requests.packages.urllib3.exceptions.BodyNotHttplibCompatible +requests.packages.urllib3.exceptions.DependencyWarning +requests.packages.urllib3.exceptions.HeaderParsingError +requests.packages.urllib3.exceptions.IncompleteRead +requests.packages.urllib3.exceptions.InvalidChunkLength +requests.packages.urllib3.exceptions.InvalidHeader +requests.packages.urllib3.exceptions.NewConnectionError requests.packages.urllib3.exceptions.ProxyError.__init__ +requests.packages.urllib3.exceptions.ProxySchemeUnknown +requests.packages.urllib3.exceptions.ProxySchemeUnsupported +requests.packages.urllib3.exceptions.ResponseNotChunked +requests.packages.urllib3.exceptions.SNIMissingWarning +requests.packages.urllib3.exceptions.SubjectAltNameWarning +requests.packages.urllib3.exceptions.URLSchemeUnknown +requests.packages.urllib3.exceptions.UnrewindableBodyError requests.packages.urllib3.fields.RequestField.__init__ requests.packages.urllib3.fields.RequestField.from_tuples +requests.packages.urllib3.fields.format_header_param_html5 +requests.packages.urllib3.fields.format_header_param_rfc2231 +requests.packages.urllib3.filepost.RequestField.__init__ +requests.packages.urllib3.filepost.RequestField.from_tuples +requests.packages.urllib3.packages.ssl_match_hostname +requests.packages.urllib3.poolmanager.PoolManager.connection_from_context requests.packages.urllib3.poolmanager.PoolManager.connection_from_host +requests.packages.urllib3.poolmanager.PoolManager.connection_from_pool_key requests.packages.urllib3.poolmanager.PoolManager.connection_from_url +requests.packages.urllib3.poolmanager.PoolManager.proxy_config requests.packages.urllib3.poolmanager.PoolManager.urlopen requests.packages.urllib3.poolmanager.ProxyManager.__init__ requests.packages.urllib3.poolmanager.ProxyManager.connection_from_host requests.packages.urllib3.poolmanager.ProxyManager.urlopen requests.packages.urllib3.request.RequestMethods.request_encode_url +requests.packages.urllib3.response.GzipDecoderState +requests.packages.urllib3.response.HTTPHeaderDict.from_httplib +requests.packages.urllib3.response.HTTPHeaderDict.get_all +requests.packages.urllib3.response.HTTPHeaderDict.getlist +requests.packages.urllib3.response.HTTPResponse.DECODER_ERROR_CLASSES requests.packages.urllib3.response.HTTPResponse.__init__ +requests.packages.urllib3.response.HTTPResponse.connection +requests.packages.urllib3.response.HTTPResponse.drain_conn +requests.packages.urllib3.response.HTTPResponse.geturl +requests.packages.urllib3.response.HTTPResponse.info +requests.packages.urllib3.response.HTTPResponse.isclosed +requests.packages.urllib3.response.HTTPResponse.read_chunked +requests.packages.urllib3.response.HTTPResponse.supports_chunked_reads +requests.packages.urllib3.response.MultiDecoder requests.packages.urllib3.response.PY3 +requests.packages.urllib3.util.ALPN_PROTOCOLS +requests.packages.urllib3.util.IS_PYOPENSSL +requests.packages.urllib3.util.IS_SECURETRANSPORT +requests.packages.urllib3.util.PROTOCOL_TLS +requests.packages.urllib3.util.Retry.DEFAULT +requests.packages.urllib3.util.Retry.DEFAULT_ALLOWED_METHODS +requests.packages.urllib3.util.Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT +requests.packages.urllib3.util.Retry.RETRY_AFTER_STATUS_CODES +requests.packages.urllib3.util.Retry.get_retry_after +requests.packages.urllib3.util.Retry.is_forced_retry +requests.packages.urllib3.util.Retry.is_retry +requests.packages.urllib3.util.Retry.parse_retry_after +requests.packages.urllib3.util.Retry.sleep +requests.packages.urllib3.util.Retry.sleep_for_retry +requests.packages.urllib3.util.SKIPPABLE_HEADERS +requests.packages.urllib3.util.SKIP_HEADER +requests.packages.urllib3.util.connection.allowed_gai_family requests.packages.urllib3.util.connection.poll requests.packages.urllib3.util.connection.select +requests.packages.urllib3.util.request.rewind_body +requests.packages.urllib3.util.request.set_file_position +requests.packages.urllib3.util.response.assert_header_parsing +requests.packages.urllib3.util.response.is_response_to_head +requests.packages.urllib3.util.retry.RequestHistory +requests.packages.urllib3.util.retry.Retry.DEFAULT +requests.packages.urllib3.util.retry.Retry.DEFAULT_ALLOWED_METHODS +requests.packages.urllib3.util.retry.Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT +requests.packages.urllib3.util.retry.Retry.RETRY_AFTER_STATUS_CODES +requests.packages.urllib3.util.retry.Retry.get_retry_after requests.packages.urllib3.util.retry.Retry.is_forced_retry +requests.packages.urllib3.util.retry.Retry.is_retry +requests.packages.urllib3.util.retry.Retry.parse_retry_after requests.packages.urllib3.util.retry.Retry.sleep +requests.packages.urllib3.util.retry.Retry.sleep_for_retry requests.packages.urllib3.util.ssl_.create_default_context +requests.packages.urllib3.util.ssl_.is_ipaddress requests.packages.urllib3.util.ssl_.ssl_wrap_socket +requests.packages.urllib3.util.wait_for_read +requests.packages.urllib3.util.wait_for_write requests.patch requests.post requests.put requests.request +requests.sessions.OrderedDict.fromkeys +requests.sessions.OrderedDict.setdefault requests.sessions.Session.delete requests.sessions.Session.get requests.sessions.Session.head @@ -59,6 +245,11 @@ requests.sessions.Session.options requests.sessions.Session.patch requests.sessions.Session.post requests.sessions.Session.put +requests.sessions.SessionRedirectMixin.get_redirect_target +requests.sessions.SessionRedirectMixin.rebuild_method requests.sessions.SessionRedirectMixin.resolve_redirects requests.structures.LookupDict.__getattr__ requests.structures.LookupDict.get +requests.utils.OrderedDict.fromkeys +requests.utils.OrderedDict.setdefault +requests.utils.atomic_open From 3000ed511661a3d7487a2e1e18a43185c4c3cea7 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 18:13:38 -0800 Subject: [PATCH 23/35] oops another waitress --- stubs/waitress/@tests/stubtest_allowlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/stubs/waitress/@tests/stubtest_allowlist.txt b/stubs/waitress/@tests/stubtest_allowlist.txt index b5797adaf330..8468ef5449e1 100644 --- a/stubs/waitress/@tests/stubtest_allowlist.txt +++ b/stubs/waitress/@tests/stubtest_allowlist.txt @@ -34,3 +34,4 @@ waitress.task.ThreadedTaskDispatcher.start_new_thread waitress.task.WSGITask.content_length waitress.rfc7230.BWS waitress.wasyncore.map +waitress.wasyncore.dispatcher_with_send.handle_write From 8d3279e61d3810317b91fadf5828bf9d5c1e8bc7 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Wed, 15 Dec 2021 19:17:42 -0800 Subject: [PATCH 24/35] ignore missing stub in requests --- stubs/requests/@tests/stubtest_allowlist.txt | 150 ------------------- 1 file changed, 150 deletions(-) diff --git a/stubs/requests/@tests/stubtest_allowlist.txt b/stubs/requests/@tests/stubtest_allowlist.txt index 841c64e8ddb5..236bdeafdf90 100644 --- a/stubs/requests/@tests/stubtest_allowlist.txt +++ b/stubs/requests/@tests/stubtest_allowlist.txt @@ -5,32 +5,12 @@ requests.Session.options requests.Session.patch requests.Session.post requests.Session.put -requests.adapters.HTTPResponse.DECODER_ERROR_CLASSES requests.adapters.HTTPResponse.__init__ -requests.adapters.HTTPResponse.connection -requests.adapters.HTTPResponse.drain_conn -requests.adapters.HTTPResponse.geturl -requests.adapters.HTTPResponse.info -requests.adapters.HTTPResponse.isclosed -requests.adapters.HTTPResponse.read_chunked -requests.adapters.HTTPResponse.supports_chunked_reads -requests.adapters.PoolManager.connection_from_context requests.adapters.PoolManager.connection_from_host -requests.adapters.PoolManager.connection_from_pool_key requests.adapters.PoolManager.connection_from_url -requests.adapters.PoolManager.proxy_config requests.adapters.PoolManager.urlopen -requests.adapters.Retry.DEFAULT -requests.adapters.Retry.DEFAULT_ALLOWED_METHODS -requests.adapters.Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT -requests.adapters.Retry.RETRY_AFTER_STATUS_CODES -requests.adapters.Retry.get_retry_after requests.adapters.Retry.is_forced_retry -requests.adapters.Retry.is_retry -requests.adapters.Retry.parse_retry_after requests.adapters.Retry.sleep -requests.adapters.Retry.sleep_for_retry -requests.adapters.SOCKSProxyManager requests.api.delete requests.api.get requests.api.head @@ -42,196 +22,69 @@ requests.api.request requests.compat.OrderedDict.fromkeys requests.compat.OrderedDict.setdefault requests.delete -requests.exceptions.InvalidJSONError requests.get requests.head requests.models.RequestField.__init__ requests.models.RequestField.from_tuples requests.options requests.packages.VendorAlias -requests.packages.urllib3.HTTPConnectionPool.ResponseCls requests.packages.urllib3.HTTPConnectionPool.__init__ requests.packages.urllib3.HTTPConnectionPool.urlopen -requests.packages.urllib3.HTTPResponse.DECODER_ERROR_CLASSES requests.packages.urllib3.HTTPResponse.__init__ -requests.packages.urllib3.HTTPResponse.connection -requests.packages.urllib3.HTTPResponse.drain_conn -requests.packages.urllib3.HTTPResponse.geturl -requests.packages.urllib3.HTTPResponse.info -requests.packages.urllib3.HTTPResponse.isclosed -requests.packages.urllib3.HTTPResponse.read_chunked -requests.packages.urllib3.HTTPResponse.supports_chunked_reads requests.packages.urllib3.HTTPSConnectionPool.__init__ requests.packages.urllib3.NullHandler -requests.packages.urllib3.PoolManager.connection_from_context requests.packages.urllib3.PoolManager.connection_from_host -requests.packages.urllib3.PoolManager.connection_from_pool_key requests.packages.urllib3.PoolManager.connection_from_url -requests.packages.urllib3.PoolManager.proxy_config requests.packages.urllib3.PoolManager.urlopen requests.packages.urllib3.ProxyManager.__init__ requests.packages.urllib3.ProxyManager.connection_from_host requests.packages.urllib3.ProxyManager.urlopen -requests.packages.urllib3.Retry.DEFAULT -requests.packages.urllib3.Retry.DEFAULT_ALLOWED_METHODS -requests.packages.urllib3.Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT -requests.packages.urllib3.Retry.RETRY_AFTER_STATUS_CODES -requests.packages.urllib3.Retry.get_retry_after requests.packages.urllib3.Retry.is_forced_retry -requests.packages.urllib3.Retry.is_retry -requests.packages.urllib3.Retry.parse_retry_after requests.packages.urllib3.Retry.sleep -requests.packages.urllib3.Retry.sleep_for_retry requests.packages.urllib3._collections.HTTPHeaderDict.from_httplib -requests.packages.urllib3._collections.HTTPHeaderDict.get_all requests.packages.urllib3._collections.HTTPHeaderDict.getlist requests.packages.urllib3._collections.RLock -requests.packages.urllib3.connection.HTTPConnection.proxy_is_verified requests.packages.urllib3.connection.HTTPConnection.request -requests.packages.urllib3.connection.HTTPConnection.request_chunked requests.packages.urllib3.connection.HTTPSConnection.__init__ -requests.packages.urllib3.connection.HTTPSConnection.assert_fingerprint -requests.packages.urllib3.connection.HTTPSConnection.ca_cert_data -requests.packages.urllib3.connection.HTTPSConnection.ca_cert_dir -requests.packages.urllib3.connection.HTTPSConnection.ca_certs -requests.packages.urllib3.connection.HTTPSConnection.cert_reqs -requests.packages.urllib3.connection.HTTPSConnection.set_cert -requests.packages.urllib3.connection.HTTPSConnection.ssl_version -requests.packages.urllib3.connection.HTTPSConnection.tls_in_tls_required requests.packages.urllib3.connection.VerifiedHTTPSConnection.__init__ -requests.packages.urllib3.connection.VerifiedHTTPSConnection.ca_cert_data -requests.packages.urllib3.connection.VerifiedHTTPSConnection.ca_cert_dir requests.packages.urllib3.connection.VerifiedHTTPSConnection.set_cert -requests.packages.urllib3.connection.VerifiedHTTPSConnection.tls_in_tls_required requests.packages.urllib3.connectionpool.ConnectionError -requests.packages.urllib3.connectionpool.HTTPConnection.proxy_is_verified requests.packages.urllib3.connectionpool.HTTPConnection.request -requests.packages.urllib3.connectionpool.HTTPConnection.request_chunked -requests.packages.urllib3.connectionpool.HTTPConnectionPool.ResponseCls requests.packages.urllib3.connectionpool.HTTPConnectionPool.__init__ requests.packages.urllib3.connectionpool.HTTPConnectionPool.urlopen -requests.packages.urllib3.connectionpool.HTTPResponse.DECODER_ERROR_CLASSES requests.packages.urllib3.connectionpool.HTTPResponse.__init__ -requests.packages.urllib3.connectionpool.HTTPResponse.connection -requests.packages.urllib3.connectionpool.HTTPResponse.drain_conn -requests.packages.urllib3.connectionpool.HTTPResponse.geturl -requests.packages.urllib3.connectionpool.HTTPResponse.info -requests.packages.urllib3.connectionpool.HTTPResponse.isclosed -requests.packages.urllib3.connectionpool.HTTPResponse.read_chunked -requests.packages.urllib3.connectionpool.HTTPResponse.supports_chunked_reads requests.packages.urllib3.connectionpool.HTTPSConnection.__init__ -requests.packages.urllib3.connectionpool.HTTPSConnection.assert_fingerprint -requests.packages.urllib3.connectionpool.HTTPSConnection.ca_cert_data -requests.packages.urllib3.connectionpool.HTTPSConnection.ca_cert_dir -requests.packages.urllib3.connectionpool.HTTPSConnection.ca_certs -requests.packages.urllib3.connectionpool.HTTPSConnection.cert_reqs -requests.packages.urllib3.connectionpool.HTTPSConnection.set_cert -requests.packages.urllib3.connectionpool.HTTPSConnection.ssl_version -requests.packages.urllib3.connectionpool.HTTPSConnection.tls_in_tls_required requests.packages.urllib3.connectionpool.HTTPSConnectionPool.__init__ requests.packages.urllib3.connectionpool.ProxyError.__init__ requests.packages.urllib3.connectionpool.RequestMethods.request_encode_url -requests.packages.urllib3.connectionpool.Retry.DEFAULT -requests.packages.urllib3.connectionpool.Retry.DEFAULT_ALLOWED_METHODS -requests.packages.urllib3.connectionpool.Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT -requests.packages.urllib3.connectionpool.Retry.RETRY_AFTER_STATUS_CODES -requests.packages.urllib3.connectionpool.Retry.get_retry_after requests.packages.urllib3.connectionpool.Retry.is_forced_retry -requests.packages.urllib3.connectionpool.Retry.is_retry -requests.packages.urllib3.connectionpool.Retry.parse_retry_after requests.packages.urllib3.connectionpool.Retry.sleep -requests.packages.urllib3.connectionpool.Retry.sleep_for_retry requests.packages.urllib3.connectionpool.VerifiedHTTPSConnection.__init__ -requests.packages.urllib3.connectionpool.VerifiedHTTPSConnection.ca_cert_data -requests.packages.urllib3.connectionpool.VerifiedHTTPSConnection.ca_cert_dir requests.packages.urllib3.connectionpool.VerifiedHTTPSConnection.set_cert -requests.packages.urllib3.connectionpool.VerifiedHTTPSConnection.tls_in_tls_required -requests.packages.urllib3.exceptions.BodyNotHttplibCompatible -requests.packages.urllib3.exceptions.DependencyWarning -requests.packages.urllib3.exceptions.HeaderParsingError -requests.packages.urllib3.exceptions.IncompleteRead -requests.packages.urllib3.exceptions.InvalidChunkLength -requests.packages.urllib3.exceptions.InvalidHeader -requests.packages.urllib3.exceptions.NewConnectionError requests.packages.urllib3.exceptions.ProxyError.__init__ -requests.packages.urllib3.exceptions.ProxySchemeUnknown -requests.packages.urllib3.exceptions.ProxySchemeUnsupported -requests.packages.urllib3.exceptions.ResponseNotChunked -requests.packages.urllib3.exceptions.SNIMissingWarning -requests.packages.urllib3.exceptions.SubjectAltNameWarning -requests.packages.urllib3.exceptions.URLSchemeUnknown -requests.packages.urllib3.exceptions.UnrewindableBodyError requests.packages.urllib3.fields.RequestField.__init__ requests.packages.urllib3.fields.RequestField.from_tuples -requests.packages.urllib3.fields.format_header_param_html5 -requests.packages.urllib3.fields.format_header_param_rfc2231 requests.packages.urllib3.filepost.RequestField.__init__ requests.packages.urllib3.filepost.RequestField.from_tuples -requests.packages.urllib3.packages.ssl_match_hostname -requests.packages.urllib3.poolmanager.PoolManager.connection_from_context requests.packages.urllib3.poolmanager.PoolManager.connection_from_host -requests.packages.urllib3.poolmanager.PoolManager.connection_from_pool_key requests.packages.urllib3.poolmanager.PoolManager.connection_from_url -requests.packages.urllib3.poolmanager.PoolManager.proxy_config requests.packages.urllib3.poolmanager.PoolManager.urlopen requests.packages.urllib3.poolmanager.ProxyManager.__init__ requests.packages.urllib3.poolmanager.ProxyManager.connection_from_host requests.packages.urllib3.poolmanager.ProxyManager.urlopen requests.packages.urllib3.request.RequestMethods.request_encode_url -requests.packages.urllib3.response.GzipDecoderState requests.packages.urllib3.response.HTTPHeaderDict.from_httplib -requests.packages.urllib3.response.HTTPHeaderDict.get_all requests.packages.urllib3.response.HTTPHeaderDict.getlist -requests.packages.urllib3.response.HTTPResponse.DECODER_ERROR_CLASSES requests.packages.urllib3.response.HTTPResponse.__init__ -requests.packages.urllib3.response.HTTPResponse.connection -requests.packages.urllib3.response.HTTPResponse.drain_conn -requests.packages.urllib3.response.HTTPResponse.geturl -requests.packages.urllib3.response.HTTPResponse.info -requests.packages.urllib3.response.HTTPResponse.isclosed -requests.packages.urllib3.response.HTTPResponse.read_chunked -requests.packages.urllib3.response.HTTPResponse.supports_chunked_reads -requests.packages.urllib3.response.MultiDecoder requests.packages.urllib3.response.PY3 -requests.packages.urllib3.util.ALPN_PROTOCOLS -requests.packages.urllib3.util.IS_PYOPENSSL -requests.packages.urllib3.util.IS_SECURETRANSPORT -requests.packages.urllib3.util.PROTOCOL_TLS -requests.packages.urllib3.util.Retry.DEFAULT -requests.packages.urllib3.util.Retry.DEFAULT_ALLOWED_METHODS -requests.packages.urllib3.util.Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT -requests.packages.urllib3.util.Retry.RETRY_AFTER_STATUS_CODES -requests.packages.urllib3.util.Retry.get_retry_after requests.packages.urllib3.util.Retry.is_forced_retry -requests.packages.urllib3.util.Retry.is_retry -requests.packages.urllib3.util.Retry.parse_retry_after requests.packages.urllib3.util.Retry.sleep -requests.packages.urllib3.util.Retry.sleep_for_retry -requests.packages.urllib3.util.SKIPPABLE_HEADERS -requests.packages.urllib3.util.SKIP_HEADER -requests.packages.urllib3.util.connection.allowed_gai_family requests.packages.urllib3.util.connection.poll requests.packages.urllib3.util.connection.select -requests.packages.urllib3.util.request.rewind_body -requests.packages.urllib3.util.request.set_file_position -requests.packages.urllib3.util.response.assert_header_parsing -requests.packages.urllib3.util.response.is_response_to_head -requests.packages.urllib3.util.retry.RequestHistory -requests.packages.urllib3.util.retry.Retry.DEFAULT -requests.packages.urllib3.util.retry.Retry.DEFAULT_ALLOWED_METHODS -requests.packages.urllib3.util.retry.Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT -requests.packages.urllib3.util.retry.Retry.RETRY_AFTER_STATUS_CODES -requests.packages.urllib3.util.retry.Retry.get_retry_after requests.packages.urllib3.util.retry.Retry.is_forced_retry -requests.packages.urllib3.util.retry.Retry.is_retry -requests.packages.urllib3.util.retry.Retry.parse_retry_after requests.packages.urllib3.util.retry.Retry.sleep -requests.packages.urllib3.util.retry.Retry.sleep_for_retry requests.packages.urllib3.util.ssl_.create_default_context -requests.packages.urllib3.util.ssl_.is_ipaddress requests.packages.urllib3.util.ssl_.ssl_wrap_socket -requests.packages.urllib3.util.wait_for_read -requests.packages.urllib3.util.wait_for_write requests.patch requests.post requests.put @@ -245,11 +98,8 @@ requests.sessions.Session.options requests.sessions.Session.patch requests.sessions.Session.post requests.sessions.Session.put -requests.sessions.SessionRedirectMixin.get_redirect_target -requests.sessions.SessionRedirectMixin.rebuild_method requests.sessions.SessionRedirectMixin.resolve_redirects requests.structures.LookupDict.__getattr__ requests.structures.LookupDict.get requests.utils.OrderedDict.fromkeys requests.utils.OrderedDict.setdefault -requests.utils.atomic_open From 2d84696f3553a4ccd9bbbf44ca34468e9045e271 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 16 Dec 2021 10:56:34 -0800 Subject: [PATCH 25/35] use stubtest 0.920 --- .github/workflows/tests.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index be4939299aea..797c2c555f04 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -109,9 +109,7 @@ jobs: - name: Update pip run: python -m pip install -U pip - name: Install dependencies - # Temporarily hard-code the mypy version used for stubtest - # run: pip install $(grep tomli== requirements-tests.txt) (grep mypy== requirements-tests.txt) - run: pip install mypy==0.910 + run: pip install $(grep tomli== requirements-tests.txt) (grep mypy== requirements-tests.txt) - name: Run stubtest run: python tests/stubtest_stdlib.py From 9af991a3ce090ad93be8868a38a285507251d6c9 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 16 Dec 2021 10:56:55 -0800 Subject: [PATCH 26/35] Revert "[temporary] shard stubtest third party" This reverts commit b2fa7df8d78f0d22c9387b348cffd50c8f740cbb. --- .github/workflows/tests.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 797c2c555f04..a91a73ffe122 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -115,18 +115,23 @@ jobs: stubtest-third-party: name: Check third party stubs with stubtest - if: github.repository == 'python/typeshed' runs-on: ubuntu-latest - strategy: - matrix: - shard-index: [0, 1, 2, 3] - fail-fast: false + if: github.event_name == 'pull_request' steps: - uses: actions/checkout@v2 + with: + fetch-depth: 0 - uses: actions/setup-python@v2 with: python-version: 3.9 - name: Install dependencies run: pip install $(grep tomli== requirements-tests.txt) - name: Run stubtest - run: python tests/stubtest_third_party.py --num-shards 4 --shard-index ${{ matrix.shard-index }} + run: | + STUBS=$(git diff --name-only origin/${{ github.base_ref }} HEAD | egrep ^stubs/ | cut -d "/" -f 2 | sort -u | (while read stub; do [ -d stubs/$stub ] && echo $stub || true; done)) + if test -n "$STUBS"; then + echo "Testing $STUBS..." + python tests/stubtest_third_party.py $STUBS + else + echo "Nothing to test" + fi From 8d49a5b7c937b3c0258c2fca5af363d0d6889c49 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 16 Dec 2021 10:58:30 -0800 Subject: [PATCH 27/35] comment --- tests/stubtest_allowlists/py3_common.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/stubtest_allowlists/py3_common.txt b/tests/stubtest_allowlists/py3_common.txt index 57eb3edddbf1..bccfc864a79d 100644 --- a/tests/stubtest_allowlists/py3_common.txt +++ b/tests/stubtest_allowlists/py3_common.txt @@ -236,6 +236,7 @@ builtins.reveal_locals builtins.reveal_type # GetSetDescriptor that always raises AttributeError builtins.OSError.characters_written +# Aliases for OSError builtins.EnvironmentError.characters_written builtins.IOError.characters_written dbm.dumb.error.characters_written From e57fce480829eb97777c5464556847625d477cd9 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 16 Dec 2021 10:59:01 -0800 Subject: [PATCH 28/35] undo unittest._log hiding --- stdlib/VERSIONS | 1 + 1 file changed, 1 insertion(+) diff --git a/stdlib/VERSIONS b/stdlib/VERSIONS index 9a97d38f4800..e82161d97cb6 100644 --- a/stdlib/VERSIONS +++ b/stdlib/VERSIONS @@ -261,6 +261,7 @@ typing: 3.5- typing_extensions: 2.7- unicodedata: 2.7- unittest: 2.7- +unittest._log: 3.9- urllib: 2.7- uu: 2.7- uuid: 2.7- From 54a7ba88aadae88ac3d393d88d015d7603673386 Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Thu, 16 Dec 2021 11:52:29 -0800 Subject: [PATCH 29/35] Update .github/workflows/tests.yml Co-authored-by: Sebastian Rittau --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a91a73ffe122..b125705e56dc 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -109,7 +109,7 @@ jobs: - name: Update pip run: python -m pip install -U pip - name: Install dependencies - run: pip install $(grep tomli== requirements-tests.txt) (grep mypy== requirements-tests.txt) + run: pip install $(grep tomli== requirements-tests.txt) $(grep mypy== requirements-tests.txt) - name: Run stubtest run: python tests/stubtest_stdlib.py From 8d896febfb330e310b21c75044b7d20b0de6167b Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 16 Dec 2021 12:19:02 -0800 Subject: [PATCH 30/35] allow windows errors --- tests/stubtest_allowlists/win32.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/stubtest_allowlists/win32.txt b/tests/stubtest_allowlists/win32.txt index 8c404aed9707..6768d85c8221 100644 --- a/tests/stubtest_allowlists/win32.txt +++ b/tests/stubtest_allowlists/win32.txt @@ -9,6 +9,10 @@ locale.nl_langinfo # Function that should be moved to _locale and re-exported c # Allowlist entries that cannot or should not be fixed # ========== +# Aliases for OSError +builtins.WindowsError.characters_written +winreg.error.characters_written + # Modules that do not exist on Windows systems _curses _posixsubprocess From e5c75d878c488d9e9f2b2d0340d36fcf66e3f216 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 16 Dec 2021 12:22:11 -0800 Subject: [PATCH 31/35] allow remaining --- tests/stubtest_allowlists/py310.txt | 4 ++++ tests/stubtest_allowlists/py39.txt | 2 ++ tests/stubtest_allowlists/py3_common.txt | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/tests/stubtest_allowlists/py310.txt b/tests/stubtest_allowlists/py310.txt index 09f8d2192050..1d841e8d48ef 100644 --- a/tests/stubtest_allowlists/py310.txt +++ b/tests/stubtest_allowlists/py310.txt @@ -31,6 +31,8 @@ asyncio.futures.Future.__init__ # Usually initialized from c object asyncio.futures.Future._callbacks # Usually initialized from c object builtins.dict.get contextvars.Context.__init__ # Default C __init__ signature is wrong +contextlib.AbstractAsyncContextManager.__class_getitem__ +contextlib.AbstractContextManager.__class_getitem__ dataclasses.field dataclasses.KW_ONLY enum.Enum._generate_next_value_ @@ -106,6 +108,8 @@ _collections_abc.Generator.send _collections_abc.Generator.throw contextvars.ContextVar.reset contextvars.ContextVar.set +contextlib.AbstractAsyncContextManager.__aexit__ +contextlib.AbstractContextManager.__exit__ io.IncrementalNewlineDecoder.setstate typing.SupportsRound.__round__ types.DynamicClassAttribute..* # In the stub we pretend it's an alias for property, but it has positional-only differences diff --git a/tests/stubtest_allowlists/py39.txt b/tests/stubtest_allowlists/py39.txt index a1e1be2848a3..8c12b9640992 100644 --- a/tests/stubtest_allowlists/py39.txt +++ b/tests/stubtest_allowlists/py39.txt @@ -29,6 +29,8 @@ collections.ItemsView.__reversed__ collections.KeysView.__reversed__ collections.ValuesView.__reversed__ contextvars.Context.__init__ # Default C __init__ signature is wrong +contextlib.AbstractAsyncContextManager.__class_getitem__ +contextlib.AbstractContextManager.__class_getitem__ dataclasses.field enum.Enum._generate_next_value_ fractions.Fraction.__new__ # overload is too complicated for stubtest to resolve diff --git a/tests/stubtest_allowlists/py3_common.txt b/tests/stubtest_allowlists/py3_common.txt index bccfc864a79d..ec40405829a5 100644 --- a/tests/stubtest_allowlists/py3_common.txt +++ b/tests/stubtest_allowlists/py3_common.txt @@ -14,6 +14,7 @@ _csv.Dialect.__init__ # C __init__ signature is inaccurate _socket.* _threading_local.local.__new__ _typeshed.* # Utility types for typeshed, doesn't exist at runtime +_weakref.ref.__call__ abc.abstractclassmethod # Deprecated, unsupported by mypy, hard to fix. #6552 abc.abstractstaticmethod # Deprecated, unsupported by mypy, hard to fix. #6552 abc.ABCMeta.__new__ # pytype wants the parameter named cls and not mcls @@ -90,6 +91,7 @@ enum.Enum.value enum.Flag.name enum.Flag.value enum.IntEnum.value +hashlib.sha3_\d+ http.HTTPStatus.description # set in __new__ http.HTTPStatus.phrase # set in __new__ http.client.HTTPConnection.response_class # the actual type at runtime is abc.ABCMeta @@ -188,6 +190,9 @@ tempfile.SpooledTemporaryFile.writable threading.Condition.acquire # Condition functions are exported in __init__ threading.Condition.release # Condition functions are exported in __init__ threading.Lock # A factory function that returns 'most efficient lock'. Marking it as a function will make it harder for users to mark the Lock type. +threading.RLock # Similar to above +multiprocessing.dummy.Lock # Similar to above +multiprocessing.dummy.RLock # Similar to above tkinter.Misc.grid_propagate # The noarg placeholder is a set value list tkinter.Misc.pack_propagate # The noarg placeholder is a set value list tkinter.Misc.grid_columnconfigure # an empty dict literal is actually a valid default for a TypedDict(total=False) parameter @@ -214,6 +219,7 @@ weakref.ReferenceType.__call__ # C function default annotation is wrong weakref.WeakKeyDictionary.get weakref.WeakKeyDictionary.update weakref.WeakValueDictionary.get +weakref.ref.__call__ webbrowser.UnixBrowser.remote_action # always overridden in inheriting class webbrowser.UnixBrowser.remote_action_newtab # always overridden in inheriting class webbrowser.UnixBrowser.remote_action_newwin # always overridden in inheriting class From 655e5643c1ef66a7379f36e8c9a2b4d10ad9be08 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 16 Dec 2021 13:06:15 -0800 Subject: [PATCH 32/35] allow --- tests/stubtest_allowlists/py36.txt | 5 ++--- tests/stubtest_allowlists/py3_common.txt | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/stubtest_allowlists/py36.txt b/tests/stubtest_allowlists/py36.txt index 7faff710f857..466d54ac27a2 100644 --- a/tests/stubtest_allowlists/py36.txt +++ b/tests/stubtest_allowlists/py36.txt @@ -47,20 +47,19 @@ typing.Coroutine.cr_await typing.Coroutine.cr_code typing.Coroutine.cr_frame typing.Coroutine.cr_running -typing.Generator.__new__ typing.Generator.gi_code typing.Generator.gi_frame typing.Generator.gi_running typing.Generator.gi_yieldfrom -typing.GenericMeta.__new__ typing.IO.closed # Incorrect definition in CPython, fixed in bpo-39493 typing.Mapping.get -typing.NamedTuple.__new__ typing.NamedTuple._asdict typing.NamedTuple._make typing.NamedTuple._replace typing.Sequence.index +typing.Text.maketrans typing.runtime_checkable +typing\.\w+\.__new__ unittest._log # New in Python 3.9 unittest.async_case # Added in Python 3.8 uuid.UUID.int diff --git a/tests/stubtest_allowlists/py3_common.txt b/tests/stubtest_allowlists/py3_common.txt index ec40405829a5..6f271ebc4503 100644 --- a/tests/stubtest_allowlists/py3_common.txt +++ b/tests/stubtest_allowlists/py3_common.txt @@ -44,6 +44,7 @@ builtins.ellipsis # type is not exposed anywhere builtins.function builtins.memoryview.__contains__ # C type that implements __getitem__ sqlite3.dbapi2.Binary.__contains__ # C type that implements __getitem__ +sqlite3.Binary.__contains__ # C type that implements __getitem__ builtins.object.__init__ # default C signature is incorrect builtins.property.__get__ # this function can accept no value for the type parameter. builtins.staticmethod.__get__ # this function can accept no value for the type parameter. @@ -92,6 +93,7 @@ enum.Flag.name enum.Flag.value enum.IntEnum.value hashlib.sha3_\d+ +hashlib.shake_\d+ http.HTTPStatus.description # set in __new__ http.HTTPStatus.phrase # set in __new__ http.client.HTTPConnection.response_class # the actual type at runtime is abc.ABCMeta @@ -189,6 +191,8 @@ tempfile.SpooledTemporaryFile.seekable tempfile.SpooledTemporaryFile.writable threading.Condition.acquire # Condition functions are exported in __init__ threading.Condition.release # Condition functions are exported in __init__ +multiprocessing.dummy.Condition.acquire +multiprocessing.dummy.Condition.release threading.Lock # A factory function that returns 'most efficient lock'. Marking it as a function will make it harder for users to mark the Lock type. threading.RLock # Similar to above multiprocessing.dummy.Lock # Similar to above From 5a6e0f7e978bb1e1768d8b4ef21164250e6c8eb3 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 16 Dec 2021 23:04:11 -0800 Subject: [PATCH 33/35] allow --- tests/stubtest_allowlists/linux.txt | 4 ++++ tests/stubtest_allowlists/py310.txt | 2 ++ tests/stubtest_allowlists/py36.txt | 6 ++++++ tests/stubtest_allowlists/py37.txt | 7 +++++++ tests/stubtest_allowlists/py38.txt | 2 ++ tests/stubtest_allowlists/py39.txt | 4 ++++ tests/stubtest_allowlists/py3_common.txt | 4 ---- 7 files changed, 25 insertions(+), 4 deletions(-) diff --git a/tests/stubtest_allowlists/linux.txt b/tests/stubtest_allowlists/linux.txt index bff6db8ebb09..842fc1361561 100644 --- a/tests/stubtest_allowlists/linux.txt +++ b/tests/stubtest_allowlists/linux.txt @@ -36,6 +36,10 @@ msvcrt winreg winsound +# Aliases for OSError +posix.error.characters_written +resource.error.characters_written + # NamedTuple like, but not actually NamedTuples (PyStructSequence) posix.[a-z]+_(param|result)._(asdict|make|replace) diff --git a/tests/stubtest_allowlists/py310.txt b/tests/stubtest_allowlists/py310.txt index 1d841e8d48ef..9a0dc8e0cd75 100644 --- a/tests/stubtest_allowlists/py310.txt +++ b/tests/stubtest_allowlists/py310.txt @@ -42,6 +42,8 @@ functools.partialmethod.__get__ functools.singledispatchmethod.__call__ gettext.install gettext.translation +hashlib.sha3_\d+ +hashlib.shake_\d+ hmac.new # Stub is a white lie; see comments in the stub http.server.SimpleHTTPRequestHandler.__init__ # *args is expanded importlib.abc.Traversable.__init__ # Inherits __init__ from typing.Protocol diff --git a/tests/stubtest_allowlists/py36.txt b/tests/stubtest_allowlists/py36.txt index 466d54ac27a2..f13aed05645c 100644 --- a/tests/stubtest_allowlists/py36.txt +++ b/tests/stubtest_allowlists/py36.txt @@ -73,6 +73,12 @@ builtins.memoryview.__iter__ # C type that implements __getitem__ builtins.memoryview.cast # inspect.signature is incorrect about shape being kw-only sqlite3.dbapi2.Binary.__iter__ # C type that implements __getitem__ sqlite3.dbapi2.Binary.cast # inspect.signature is incorrect about shape being kw-only +sqlite3.Binary.__iter__ # C type that implements __getitem__ +sqlite3.Binary.cast # inspect.signature is incorrect about shape being kw-only + +sqlite3.OptimizedUnicode.maketrans +sqlite3.dbapi2.OptimizedUnicode.maketrans + collections.Coroutine.cr_await collections.Coroutine.cr_code collections.Coroutine.cr_frame diff --git a/tests/stubtest_allowlists/py37.txt b/tests/stubtest_allowlists/py37.txt index a24384a0c599..44a273080c0c 100644 --- a/tests/stubtest_allowlists/py37.txt +++ b/tests/stubtest_allowlists/py37.txt @@ -51,6 +51,7 @@ typing.NamedTuple._replace typing._SpecialForm.__init__ typing._SpecialForm.__new__ typing.runtime_checkable +typing.Text.maketrans unittest._log # New in Python 3.9 unittest.async_case # Added in Python 3.8 uuid.UUID.int @@ -67,6 +68,12 @@ builtins.memoryview.__iter__ # C type that implements __getitem__ builtins.memoryview.cast # inspect.signature is incorrect about shape being kw-only sqlite3.dbapi2.Binary.__iter__ # C type that implements __getitem__ sqlite3.dbapi2.Binary.cast # inspect.signature is incorrect about shape being kw-only +sqlite3.Binary.__iter__ # C type that implements __getitem__ +sqlite3.Binary.cast # inspect.signature is incorrect about shape being kw-only + +sqlite3.OptimizedUnicode.maketrans +sqlite3.dbapi2.OptimizedUnicode.maketrans + collections.Coroutine.cr_await collections.Coroutine.cr_code collections.Coroutine.cr_frame diff --git a/tests/stubtest_allowlists/py38.txt b/tests/stubtest_allowlists/py38.txt index 35e43f353f14..ab175c37e643 100644 --- a/tests/stubtest_allowlists/py38.txt +++ b/tests/stubtest_allowlists/py38.txt @@ -84,6 +84,8 @@ builtins.memoryview.__iter__ # C type that implements __getitem__ builtins.memoryview.cast # inspect.signature is incorrect about shape being kw-only sqlite3.dbapi2.Binary.__iter__ # C type that implements __getitem__ sqlite3.dbapi2.Binary.cast # inspect.signature is incorrect about shape being kw-only +sqlite3.Binary.__iter__ # C type that implements __getitem__ +sqlite3.Binary.cast # inspect.signature is incorrect about shape being kw-only collections.Coroutine.cr_await collections.Coroutine.cr_code collections.Coroutine.cr_frame diff --git a/tests/stubtest_allowlists/py39.txt b/tests/stubtest_allowlists/py39.txt index 8c12b9640992..76b157a44c15 100644 --- a/tests/stubtest_allowlists/py39.txt +++ b/tests/stubtest_allowlists/py39.txt @@ -39,6 +39,8 @@ functools.partialmethod.__get__ functools.singledispatchmethod.__call__ gettext.install gettext.translation +hashlib.sha3_\d+ +hashlib.shake_\d+ hmac.new # Stub is a white lie; see comments in the stub http.server.SimpleHTTPRequestHandler.__init__ # *args is expanded importlib.abc.Traversable.__init__ # Inherits __init__ from typing.Protocol @@ -98,6 +100,8 @@ builtins.memoryview.__iter__ # C type that implements __getitem__ builtins.memoryview.cast # inspect.signature is incorrect about shape being kw-only sqlite3.dbapi2.Binary.__iter__ # C type that implements __getitem__ sqlite3.dbapi2.Binary.cast # inspect.signature is incorrect about shape being kw-only +sqlite3.Binary.__iter__ # C type that implements __getitem__ +sqlite3.Binary.cast # inspect.signature is incorrect about shape being kw-only collections.Coroutine.cr_await collections.Coroutine.cr_code collections.Coroutine.cr_frame diff --git a/tests/stubtest_allowlists/py3_common.txt b/tests/stubtest_allowlists/py3_common.txt index 6f271ebc4503..2a0805d2982b 100644 --- a/tests/stubtest_allowlists/py3_common.txt +++ b/tests/stubtest_allowlists/py3_common.txt @@ -92,8 +92,6 @@ enum.Enum.value enum.Flag.name enum.Flag.value enum.IntEnum.value -hashlib.sha3_\d+ -hashlib.shake_\d+ http.HTTPStatus.description # set in __new__ http.HTTPStatus.phrase # set in __new__ http.client.HTTPConnection.response_class # the actual type at runtime is abc.ABCMeta @@ -251,8 +249,6 @@ builtins.EnvironmentError.characters_written builtins.IOError.characters_written dbm.dumb.error.characters_written os.error.characters_written -posix.error.characters_written -resource.error.characters_written select.error.characters_written socket.error.characters_written collections.abc.* # Types are re-exported from _collections_abc, so errors should be fixed there From 63e319f7107b544689eb9d1aaefc3b42a9132b91 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 16 Dec 2021 23:15:55 -0800 Subject: [PATCH 34/35] one more --- tests/stubtest_allowlists/py36.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/stubtest_allowlists/py36.txt b/tests/stubtest_allowlists/py36.txt index f13aed05645c..2d4be08fc597 100644 --- a/tests/stubtest_allowlists/py36.txt +++ b/tests/stubtest_allowlists/py36.txt @@ -43,6 +43,7 @@ typing.AsyncGenerator.ag_await typing.AsyncGenerator.ag_code typing.AsyncGenerator.ag_frame typing.AsyncGenerator.ag_running +typing.ChainMap.fromkeys typing.Coroutine.cr_await typing.Coroutine.cr_code typing.Coroutine.cr_frame From c4ba18f616a6637f34d92346940e7a0d9b2032b2 Mon Sep 17 00:00:00 2001 From: Akuli Date: Fri, 17 Dec 2021 13:32:25 +0200 Subject: [PATCH 35/35] Update tests/stubtest_allowlists/py310.txt --- tests/stubtest_allowlists/py310.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/stubtest_allowlists/py310.txt b/tests/stubtest_allowlists/py310.txt index 9a0dc8e0cd75..1e07ba5426ac 100644 --- a/tests/stubtest_allowlists/py310.txt +++ b/tests/stubtest_allowlists/py310.txt @@ -42,8 +42,8 @@ functools.partialmethod.__get__ functools.singledispatchmethod.__call__ gettext.install gettext.translation -hashlib.sha3_\d+ -hashlib.shake_\d+ +hashlib.sha3_\d+ # Can be a class or a built-in function +hashlib.shake_\d+ # Can be a class or a built-in function hmac.new # Stub is a white lie; see comments in the stub http.server.SimpleHTTPRequestHandler.__init__ # *args is expanded importlib.abc.Traversable.__init__ # Inherits __init__ from typing.Protocol