* Run black code formatter on tempfile.pyi
* Use Literal to improve SpooledTemporaryFile
Previously, SpooledTemporaryFile was always an AnyStr.
Now, we load a SpooledTemporaryFile[bytes] if we open in bytes mode,
and we load a SpooledTemporaryFile[str] if we open in str mode.
Nothing in the standard library documentation for the string module suggests that the value associated with any key in the mapping parameter(or kwds) to Template.substitute and Template.safe_substitute should be a string. In fact any object can be used, for example
Template("$number is a number.").substitute({"number": 1})
The above code sample currently causes an error message like this:
error: Dict entry 0 has incompatible type "str": "int"; expected "str": "str"
which obviously shouldn't be emitted. Also a similar logic is already in place for methods in the Formatter class. However as I saw the notice about loose types above the Formatter class, I opted to use `object` instead of `Any` as the implementation inside the affected functions just uses the built-in str function on values inside mappings.
`multiprocessing.dummy` exports names that were not yet listed in the typeshed stub:
```python
>>> from multiprocessing import dummy as mpdummy
>>> imported_objects = (
... (name, obj) for name, obj in vars(mpdummy).items()
... if name in mpdummy.__all__ and not obj.__module__.startswith("multiprocessing.dummy")
... )
>>> print(*(f"{name}: {obj.__module__}" for name, obj in sorted(imported_objects)), sep="\n")
Barrier: threading
BoundedSemaphore: threading
Condition: threading
Event: threading
JoinableQueue: queue
Lock: _thread
Queue: queue
RLock: threading
Semaphore: threading
current_process: threading
```
Of these, only `JoinableQueue` was listed.
find_module is documented to return a tuple (file, pathname,
description) where "file" is open file object and "description" a tuple
(suffix, mode, type). The type of "file" was wrong ("str" instead of
"IO[Any]") as well as that of "suffix" ("IO[Any]" instead of "str");
probably those type definitions were swapped.
Fixes#3466.
Fix errors discovered by running typeshed check on Windows. This is a temporary fix for #3446 (in long term we should figure out why these were not caught by typeshed CI).
I also remove an outdated comment while I am at it.
Until this is removed from the standard library, it probably should stay in the typing.
Also update both 2 and 3 definitions to use Mapping[Any, Any], rather than Dict[Any, Any].
* Add explicit ssl_handshake_timeout arguments to open_connection and start_server
* Add context arguments to call methods
* Accept PathLike for create_unix_* paths
* Add TimerHandle.when()
Add missing version check
* AbstractServer is now an async context manager
* Add happy_eyeballs_delay and interleave arguments to create_connection
* Re-export asyncio.windows_events from asyncio
* Add name argument to Task constructor
* Add Task.get_coro()
* import and other fixes
* Fix return type of get_coro()
* Add public missing asyncio stubs for windows and proactor files, and any necessary private return/argument types.
* Add methods to BaseProactorEventLoop that mypy is complaining about, with note about status at runtime
* Add asyncio constants file
* Make multiprocessing stubs match implementation
* Add multiprocessing.process.BaseProcess
* Use BaseProcess in multiprocessing.context where applicable
* Remove non-existing BaseContext.Process()
* Derive DefaultContext from BaseContext
* Fix BaseContext/DefaultContext.set_start_method() signatures
* Re-export multiprocessing.context.Process from multiprocessing,
instead of using a custom definition
* Re-export multiprocessing.active_from from multiprocessing.process
instead of using a custom definition
* Add parent_process() (Python 3.8)
* Complete BaseManager; add Server
* Add multiprocessing.shared_memory et al
* Add os.add_dll_directory()
* Add memfd_create() and flags
* Add type annotation to flags
* Add stat_result.st_reparse_tag and flags
* Add ncurses_version
* Add Path.link_to()
* Add Picker.reducer_override()
* Add plistlib.UID
* Add has_dualstack_ipv6() and create_server()
* Add shlex.join()
* Add SSL methods and fields
* Add Python 3.8 statistics functions and classes
* Remove obsolete sys.subversion
* Add sys.unraisablehook
* Add threading.excepthook
* Add get_native_id() and Thread.native_id
* Add Python 3.8 tkinter methods
* Add CLOCK_UPTIME_RAW
* Add SupportsIndex
* Add typing.get_origin() and get_args()
* Add unicodedata.is_normalized
* Add unittest.mock.AsyncMock
Currently this is just an alias for Any like Mock and MagicMock. All of
these classes should probably be sub-classing Any and add their own
methods. See also #3224.
* Add unittest cleanup methods
* Add IsolatedAsyncioTestCase
* Add ElementTree.canonicalize() and C14NWriterTarget
* cProfile.Profile can be used as a context manager
* Add asyncio task name handling
* mmap.flush() now always returns None
* Add posonlyargcount to CodeType