diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f5a9de83e..06af76e33 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -435,8 +435,6 @@ Some further tips for good type hints: * avoid invariant collection types (`list`, `dict`) in argument positions, in favor of covariant types like `Mapping` or `Sequence`; * avoid union return types: https://github.com/python/mypy/issues/1693; -* in Python 2, whenever possible, use `unicode` if that's the only - possible type, and `Text` if it can be either `unicode` or `bytes`; * use platform checks like `if sys.platform == 'win32'` to denote platform-dependent APIs; * use mypy error codes for mypy-specific `# type: ignore` annotations, diff --git a/pyproject.toml b/pyproject.toml index 3d42fb17d..24762a194 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,22 +28,4 @@ extra_standard_library = [ "genericpath", "opcode", "pyexpat", - # Python 2 modules - "__builtin__", - "cookielib", - "cStringIO", - "httplib", - "mimetools", - "rfc822", - "thread", - "urllib2", - "urlparse", - "BaseHTTPServer", - "Queue", - "SimpleHTTPServer", - "SocketServer", - "StringIO", - "UserDict", - "UserList", - "UserString", ] diff --git a/stdlib/codecs.pyi b/stdlib/codecs.pyi index 64d1c93ba..a7b60e38d 100644 --- a/stdlib/codecs.pyi +++ b/stdlib/codecs.pyi @@ -75,7 +75,7 @@ class _Stream(_WritableStream, _ReadableStream, Protocol): ... # bytes is the raw form and str is the cooked form. # In the long run, both should become template parameters maybe? # There *are* bytes->bytes and str->str encodings in the standard library. -# They are much more common in Python 2 than in Python 3. +# They were much more common in Python 2 than in Python 3. class _Encoder(Protocol): def __call__(self, input: str, errors: str = ...) -> tuple[bytes, int]: ... # signature of Codec().encode diff --git a/stubs/croniter/croniter/croniter.pyi b/stubs/croniter/croniter/croniter.pyi index a03ae7ba0..69c22e969 100644 --- a/stubs/croniter/croniter/croniter.pyi +++ b/stubs/croniter/croniter/croniter.pyi @@ -50,7 +50,7 @@ class croniter(Iterator[Any]): day_or: bool = ..., max_years_between_matches: int | None = ..., is_prev: bool = ..., - hash_id: str | bytes | None = ..., # unicode not accepted on python 2 + hash_id: str | bytes | None = ..., ) -> None: ... # Most return value depend on ret_type, which can be passed in both as a method argument and as # a constructor argument. diff --git a/tests/pytype_test.py b/tests/pytype_test.py index 9d166c603..1b87d7d48 100755 --- a/tests/pytype_test.py +++ b/tests/pytype_test.py @@ -4,8 +4,7 @@ Depends on pytype being installed. If pytype is installed: - 1. For every pyi, do nothing if it is in pytype_exclude_list.txt or is - Python 2-only. + 1. For every pyi, do nothing if it is in pytype_exclude_list.txt. 2. Otherwise, call 'pytype.io.parse_pyi'. Option two will load the file and all the builtins, typeshed dependencies. This will also discover incorrect usage of imported modules.