Commit Graph

2218 Commits

Author SHA1 Message Date
Dave Halter
74b5289e33 Make sure that the context manager for sqlite3.Connection works
This was originally reported in https://github.com/davidhalter/jedi/issues/1084.
2019-12-14 02:00:09 +01:00
Reid Swan
3e638aa3c3 Add __enter__, __exit__ to IMAP4, make __init__ arguments optional (#3540)
Fixes #3537
2019-12-13 12:05:57 +01:00
Ophir LOJKINE
fda384fe0a Add date.__radd__ and datetime.__radd__ (#3539)
Fixes #3538
2019-12-12 18:38:51 +01:00
Alois Klink
a06abc5dff Make fieldnames of csv.DictReader Optional (#3534)
Also run stdlib/2and3/csv.pyi through black and isort
2019-12-09 20:22:42 +01:00
Jacob Ilias Komissar
39ebd62e71 Update stub for socket module (#3451)
* Add new socket constants from 3.7 and 3.8
* Also move TCP_NOTSENT_LOWAT to 3.7 section and add AF_ALG to AddressFamily
* Add missing and updated socket module (and class) methods
* Improve formatting of socket.pyi
    * Add missing line breaks in long function parameters
* Reorder to mirror module documentations
* Fix type of create_server's family parameter
* Add more system conditionals
* Remove CAPI; it isn't an int (it's a PyCapsule)
* Slightly improve version conditions in socket.pyi
* Add incomplete signatures for socket.sendfile and .sendmsg_afalg
* Add VM_SOCKETS_INVALID_VERSION to socket.pyi
* Remove private _GLOBAL_DEFAULT_TIMEOUT from socket.pyi
* Add mode-dependent return types to socket.makefile
    - For Python 2, return and mode types are based on those of 'open'
    - For Python 3, types are based on actual behaviors
* Mark recv_into and recvfrom_into's nbytes argument as optional
* Improve docstring for socket stub
2019-12-05 08:13:06 +01:00
Alois Klink
4766ca0846 Use Literal to improve SpooledTemporaryFile (#3526)
* 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.
2019-12-05 08:04:53 +01:00
hauntsaninja
6b321548c4 random: fix type for sample (#3525)
Fixes #3374
2019-12-04 13:07:24 -08:00
cshesse
9a32f0d26a add raw property to BufferedIOBase (#3483) 2019-12-04 08:20:07 +01:00
Jelle Zijlstra
97f830030c Simplify WatchedFileHandler.__init__ (#3506)
Fixes #3502
2019-12-03 14:54:29 +01:00
Jelle Zijlstra
d215f502c6 Improve warnings stubs (#3501)
* merge 2and3 for _warnings

* move warn and warn_explicit into _warnings
2019-12-03 14:33:37 +01:00
Ran Benita
3934da12f6 __future__: add _Feature.compiler_flag (#3522)
Documented under the "CompilerFlag" paragraph here:
https://docs.python.org/3/library/__future__.html
2019-12-03 13:17:03 +01:00
Maksim Kurnikov
f7f68607ab SMTPChannel.push() accepts str (#3516) 2019-12-01 05:22:49 -08:00
Eugene Ha
92716c6821 Optional initial-value parameter for itertools.accumulate() (#3503) 2019-11-29 11:08:26 -08:00
Rune Tynan
359817bde9 In python versions 3.7 and above, re-export Pattern and Match (#3510) 2019-11-29 06:03:45 -08:00
hauntsaninja
5fdd6ad1a5 builtins.print: make sep and end Optional (#3468) (#3511)
The docs for Python 2 and Python 3 both explicitly mentions that None is a
valid value for sep and end.
https://docs.python.org/3/library/functions.html#print
2019-11-29 06:02:30 -08:00
robertschweizer
a9a4fd0d42 Add ImportError constructor arguments (#3512) 2019-11-29 06:01:30 -08:00
Denis Eliseev
74ac70bd28 Fix the signature of unittest.TestCase.assertLogs #3513 (#3514) 2019-11-29 06:00:16 -08:00
Jason Fried
615fa41c25 asyncio/future.pyi - wrap_future loop keyword arg (#3507)
https://docs.python.org/3.8/library/asyncio-future.html?highlight=wrap_future#asyncio.wrap_future but it doesn't look like the signature has changed going back to 3.5
2019-11-26 16:03:54 -08:00
Sebastian Rittau
595d02363a Change return type of Message.get_payload() to Any (#3504)
If, for example, is_multipart() is called before calling get_payload(),
it is guaranteed that a List[Message] is returned.
2019-11-26 08:03:15 -08:00
Rune Tynan
643b955edb Modulefinder stubs (#3497) 2019-11-25 21:21:32 -08:00
Benjamin Peterson
23c531df5a Type socketserver's RequestHandlerClass as a callable. (#3422)
It's not uncommon to pass functions rather than actual types into the servers.
2019-11-25 20:18:17 -08:00
Ryan Hileman
693678b4c3 add no_type_check_decorator stub for #2884 (#3460) 2019-11-25 19:46:57 -08:00
Rune Tynan
e2cf7c1bcf Add mailcap module (#3482) 2019-11-25 19:46:28 -08:00
Tuomas Suutari
56688240a1 mailbox: Fix signature of Mailbox.update method (#3493)
The `update` method calls `self[key] = message` for each `(key, message)`
pair so it also accepts all the same message types as the `__setitem__`
method.  Fix the signature so that the inputs are not restricted to
`Message` instances or to instance of the `_MessageType` type parameter,
but to the more reluctant `_MessageData` type alias.
2019-11-25 19:45:53 -08:00
Michał Słapek
41bf6a1982 Refactor warnings.catch_warning to be a class. (#3499) 2019-11-25 19:35:27 -08:00
Mohammed El-Afifi
c76a298ffa Fix type hints in Template class (#3491)
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.
2019-11-24 18:16:48 -08:00
Tuomas Suutari
90004af132 mailbox: Couple small fixes (#3490)
* mailbox: Make stub-only helpers private

These HasIteritems and HasItems protocols don't exist in the real
mailbox module so prefix them with underscore to indicate they are
private.

* mailbox: Fix type of message argument

The Mailbox.add and Mailbox.__setitem__ methods take a message argument
which can be anything that is convertible to a Message.  Fix the
signatures accordingly.
2019-11-24 17:54:58 -08:00
Jelle Zijlstra
1f0dc6ee05 timeout argument to urllib.request.urlopen is Optional (#3487)
The docs (https://docs.python.org/3/library/urllib.request.html#urllib.request.urlopen) aren't very precise about this, but passing `None` seems to work in practice.
2019-11-24 12:51:33 +01:00
Jelle Zijlstra
a89f883878 stream argument to pprint.pprint is Optional (#3488)
None is the default; see https://docs.python.org/3/library/pprint.html#pprint.PrettyPrinter
2019-11-24 12:29:43 +01:00
cshesse
91f445ef11 fix incorrect param name in FileIO (#3484) 2019-11-24 00:08:53 +01:00
Sebastian Rittau
c0d46a2035 Mostly undo #3372 (#3481)
readline callback must return str, not bytes.
2019-11-23 20:17:14 +01:00
Steven Kalt
1871e50936 Py37 compileall add invalidation mode (#3476) 2019-11-23 07:20:54 -08:00
Steven Kalt
036a278624 annotated ZipInfo.from_file (#3478)
Closes: #3477
2019-11-23 16:16:25 +01:00
cshesse
9c87b24041 Add default value to BaseContext.Pipe() (#3479) 2019-11-23 16:12:45 +01:00
Rune Tynan
cd45623ab7 Mailbox stubs (#3427) 2019-11-22 21:03:31 -08:00
Martijn Pieters
c53bc5a7ab Add missing elements for multiprocessing.dummy (#3471)
`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.
2019-11-20 10:40:12 +00:00
Christopher Hunt
e065803980 distutils.fancy_getopt short option is optional (#3469) 2019-11-20 10:34:04 +00:00
Denis Laxalde
838e02334e Fix type of imp.find_module() (#3465)
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.
2019-11-20 10:29:05 +00:00
Michał Słapek
34d68ab0a2 Add warnings.catch_warning type hints with Literal. (#3464)
Closes: #3463
2019-11-14 11:08:50 +01:00
Ryan Morshead
8b6cd5c3f0 ast.Dict keys can be None (#3462)
See https://greentreesnakes.readthedocs.io/en/latest/nodes.html#Dict
2019-11-13 20:09:30 +01:00
Jeremy Lainé
ba520034c7 Add type hints for audioop module (#3428) 2019-11-13 07:02:14 -08:00
Sebastian Rittau
107eaeb3d2 Add sys.addaudithook() and audit() (#3455) 2019-11-11 13:22:28 -08:00
Ivan Levkivskyi
05780a0d11 Fix errors discovered by running typeshed check on Windows (#3456)
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.
2019-11-11 12:18:58 +00:00
Ran Benita
e55dad5dd0 sys: add pycache_prefix (#3454)
New in Python 3.8:
https://docs.python.org/3.8/library/sys.html#sys.pycache_prefix
2019-11-10 23:09:45 +01:00
Daniel Hahler
2f65683d7b Fix type for os.terminal_size to Tuple (#3450) 2019-11-10 19:30:12 +01:00
Michael Seifert
97ecd2b91f Change the return type of __reduce__ and __reduce_ex__ to Union[str, Tuple[Any, ...]] (#3453)
This allows subclasses to return strings (which are allowed) from these
methods without having mypy throwing an error.

Closes #3452
2019-11-10 15:48:56 +01:00
Sebastian Rittau
e4677d9ed4 Use async syntax instead of @coroutine (#3441) 2019-11-06 07:39:09 -08:00
Sebastian Rittau
add0b5e930 Add functools.cached_property (#3439)
Part of #3319
2019-11-06 07:21:32 -08:00
Diego Elio Pettenò
99a6fb3108 Add the (deprecated) assertDictContainsSubset() to TestCase. (#3437)
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].
2019-11-04 08:10:45 -08:00
Diego Elio Pettenò
7e27bf6bde Allow datetime() with a delta=timedelta() in assert(Not)AlmostEqual(s). (#3426)
While the documentation does not seem to make this particularly
obvious, it is allowed.
2019-11-02 22:35:09 -07:00