Commit Graph
573 Commits
Author SHA1 Message Date
Rebecca ChenandSebastian Rittau ac35a18ad6 Make the value argument to ctypes.cbool.__init__ optional. (#3273) 2019-09-28 00:39:04 +02:00
Parth SharmaandSebastian Rittau 4e1a45a0bb update codecs.register type definition (#3271)
Closes #3262
2019-09-27 19:06:08 +02:00
brianjyoungandSebastian Rittau d1ed2b275f Updated logging type stub (#3269) 2019-09-27 13:28:08 +02:00
sinancepelandSebastian Rittau 01b7002a89 Introduce explicit __str__ and __repr__ for Exceptions (#3247) 2019-09-23 18:25:49 +02:00
Eric TrautandSebastian Rittau c879ff05aa Changed type of fieldname parameter in DictWriter __init__ method from Sequence[str] to Iterable[str]. This allows it to work with the following code: (#3253) 2019-09-23 18:24:45 +02:00
秋葉andSebastian Rittau a011d1945e add missing errnos (#3254) 2019-09-23 18:24:05 +02:00
Eric TrautandSebastian Rittau c65b5cc61c Changed combine method in datetime to use aliased _date and _time types (like all other methods in this class) to avoid namespace collision with date and time methods. (#3251) 2019-09-23 18:23:46 +02:00
Carl MeyerandJelle Zijlstra 8b28753b64 Update and improve py_compile module stubs. (#3240) 2019-09-17 19:48:26 -07:00
Augusto HackandSebastian Rittau 4c63939585 setprofile accepts None (#3239)
The function `threading.setprofile` can be called with a `None` value to
clear the profile function. This does unset the function from the
existing threads, it only clears the callback function so that new
threads are created without the profiling hook installed.
2019-09-17 13:15:27 +02:00
Rune TynanandJelle Zijlstra 2b97bb904a Add AIFC module stubs (#3075) 2019-09-11 15:39:41 -07:00
jjmortensenandSebastian Rittau 686e21d330 Fix type in argparse.HelpFormatter._fill_text() (#3229) 2019-09-11 17:00:25 +02:00
Sebastian RittauandJelle Zijlstra c9f19b1d72 Use protocol for FTP.stor* (#3227)
* Use protocol for FTP.stor*

* Reformat ftplib.pyi with black
2019-09-10 14:40:10 -07:00
Benjamin PetersonandSebastian Rittau 3fc8aec425 Allow passing str to Python 2's bytearray.extend. (#3223) 2019-09-04 23:24:58 +02:00
Sebastian RittauandGitHub efb4af0108 Mark some types as non-hashable (#3219)
Based on @JelleZijlstra's PR #2221.

Fixes #2148
2019-09-04 17:38:09 +02:00
Daniel HolthandSebastian Rittau 1d21315773 ssl.pyi: Add functions, support Path (#3044) 2019-09-03 12:10:48 +02:00
Andriy TerazandSebastian Rittau d78747c0f0 Make target optional in contextlib redirecting managers (#3212)
Fixes #3210
2019-08-29 17:38:53 +02:00
Ran BenitaandJelle Zijlstra 3e4a251b2b doctest: fix type of DocTestParser.get_doctest(lineno) (#3206)
Reference:
https://docs.python.org/3/library/doctest.html#doctest.DocTest.lineno

Also noticed a typo in get_examples() argument name.
2019-08-24 13:30:13 -07:00
plokmijnuhbyandJelle Zijlstra 282405696e Make inplace sorting require mutable sequences in bisect module (#3199) 2019-08-24 09:06:38 -07:00
Benjamin PetersonandSebastian Rittau ce0f5b226f zipfile.ZipFile: Add start_dir attribute. (#3203) 2019-08-23 08:46:16 +02:00
Samuel FreilichandSebastian Rittau 75ccbdcab5 cadata param can (and PEM-encoded cadata must) be unicode under PY2 (#3150) 2019-08-23 08:25:41 +02:00
Ran BenitaandJelle Zijlstra b2cd972b17 builtins: int.__pow__ can take a modulo argument (#3192)
See:
https://docs.python.org/3/reference/datamodel.html#object.__pow__
https://docs.python.org/3/library/functions.html#pow
2019-08-17 07:23:53 -07:00
Ran BenitaandJelle Zijlstra c7417e8b3f builtins,numbers: harmonize float.__round__ and Real.__round__ (#3193)
See:
https://docs.python.org/3/reference/datamodel.html#object.__round__
https://docs.python.org/3/library/functions.html#round
2019-08-17 07:23:04 -07:00
Ran BenitaandJelle Zijlstra c0625d3280 builtins: add __trunc__ to int and float (#3194)
See:
https://docs.python.org/3/reference/datamodel.html#object.__trunc__

It also works on Python 2.7.
2019-08-17 07:22:03 -07:00
Rebecca ChenandJelle Zijlstra fab2ee0d7c Remove unnecessary quotes around forward references. (#3191) 2019-08-16 20:29:32 -07:00
Michael LeeandJelle Zijlstra b294782183 Make most contextmanager __exit__ signatures return Optional[bool] (#3179)
This pull request is a follow-up to https://github.com/python/mypy/issues/7214.

In short, within that mypy issue, we found it would be helpful to
determine between contextmanagers that can "swallow" exceptions vs ones
that can't. This helps prevent some false positive when using flags that
analyze control flow such as `--warn-unreachable`. To do this,
Jelle proposed assuming that only contextmanagers where the `__exit__`
returns `bool` are assumed to swallow exceptions.

This unfortunately required the following typeshed changes:

1. The typing.IO, threading.Lock, and concurrent.futures.Executor
   were all modified so `__exit__` returns `Optional[None]` instead
   of None -- along with all of their subclasses.

   I believe these three types are meant to be subclassed, so I felt
   picking the more general type was correct.

2. There were also a few concrete types (e.g. see socketserver,
   subprocess, ftplib...) that I modified to return `None` -- I checked
   the source code, and these all seem to return None (and don't appear
   to be meant to be subclassable).

3. contextlib.suppress was changed to return bool. I also double-checked
   the unittest modules and modified a subset of those contextmanagers,
   leaving ones like `_AssertRaisesContext` alone.
2019-08-16 16:13:33 -07:00
Jon DufresneandSebastian Rittau 0ee7c3c38b Update __import__ function annotations (#3188)
Per the docs, globals/locals is an optional argument.
Additionally, globals/locals can be any mapping type, not only a dict.
Likewise, fromlist can be any sequence (the docs mention a tuple, not a
list).
The function returns a ModuleType, not Any.
2019-08-16 11:03:00 +02:00
Rune TynanandJelle Zijlstra 15b7cdaf40 Implement ZipExtFile in the zipfile type stubs (#3074) 2019-08-10 13:25:03 -07:00
Sebastian RittauandJelle Zijlstra 628eee29f7 Use Literal in a few more places (#3176) 2019-08-10 13:08:18 -07:00
Rebecca ChenandSebastian Rittau 6f01493edc Move some constants from tokenize to token in Python 3.7+. (#3175) 2019-08-08 08:45:08 +02:00
Evgeny DedovandSebastian Rittau 0dea39cb3c make basicConfig parameters Optional[...] (#3170) 2019-08-07 10:43:05 +02:00
Jelle ZijlstraandGitHub d05a9d3d83 Improve enums (#3168)
I realized while working on srittau/type-stub-pep#64 that a
few things we do in existing enum definitions in typeshed are
problematic:

- Using "= ..." doesn't allow type checkers to correctly type the
  result of Enum.MEMBER.value. In fact, mypy at least infers
  .value to be "Ellipsis" if you do this.
- Properties on the enum values themselves, like HTTPStatus.phrase,
  should not be specified directly as attributes, because it makes
  type checkers think that the properties themselves are enum
  members.

I ended up doing a bit more cleanup to the signal module:
- Remove unnecessary ... initializers.
- Remove unnecessary _SIG = Signals alias.
- I don't have Windows to test, but the C code for _signal suggests
  that CTRL_C_EVENT and CTRL_BREAK events are not Signals, but just ints:
  https://github.com/python/cpython/blob/1dbd084f1f68d7293718b663df675cfbd0c65712/Modules/signalmodule.c#L1575
2019-08-05 08:08:57 -07:00
Phil JonesandJelle Zijlstra 1dc24e1c67 Add nbytes to the memoryview definition (#3167)
`nbytes`, like `contiguous`, was added in Python 3.3.
2019-08-03 07:51:55 -07:00
Anthony SottileandSebastian Rittau 29dde6c883 Fix type annotations for get_wch / unget_wch (#3157) 2019-07-30 17:57:11 +02:00
BradandSebastian Rittau bd2d0fcc85 Add hints for 3 globals from logging/__init__.py (#3159) 2019-07-30 17:28:13 +02:00
Anthony SottileandSebastian Rittau 32a89809f0 curses: getch returns an integer (#3156) 2019-07-30 09:25:01 +02:00
Michael R. ShannonandSebastian Rittau 568f1ea555 Add attributes to xml.etree.ElementTree.ParseError. (#3158) 2019-07-30 08:48:28 +02:00
Sebastian RittauandGitHub 9ccf9356bf Remove Python 3.4 support (#3147)
Closes #3123
2019-07-27 10:58:21 +02:00
Ran BenitaandJelle Zijlstra c8e7d98c1f Allow function.__code__ in Python 2 (#3152)
The following code works:

    >>> print(sys.version)
    2.7.16 (default, Mar 11 2019, 18:59:25)
    >>> def f(): pass
    >>> print(f.__code__)
    <code object f at 0x7f8534ecc8a0, file "<stdin>", line 1>
    >>> isinstance(f.__code__, types.CodeType)
    True

but it didn't type-check with `mypy --python-version 2.7`.
2019-07-26 07:40:22 -07:00
Connor BrintonandSebastian Rittau df8ecf5a67 Fix incorrectly named parameters in logging module (#3148) 2019-07-25 21:29:55 +02:00
Maarten ter HuurneandSebastian Rittau 32ee49c79c Add zipfile.ZipFile.filename (#3104) 2019-07-25 11:26:39 +02:00
Ran BenitaandSebastian Rittau c9f9530224 xml.etree.ElementTree: use literal type for a more precise return value for tostring() (#3120) 2019-07-25 09:31:12 +02:00
Michael J. SullivanandSebastian Rittau b3f7be523a Fix __call__ type for GeneratorContextManager (#3143) 2019-07-24 22:20:15 +02:00
Ran BenitaandSebastian Rittau 9a7b286c66 warnings: ignore the type of category when message is a Warning (#3121) 2019-07-24 21:46:23 +02:00
Sebastian RittauandJelle Zijlstra dad16f2d43 Update socket exceptions (#3127)
* error is an alias for OSError in Python 3
* herror and gaierror can be constructed without arguments (tested
  in Python 2.7 and 3.7)
* timeout uses the same arguments as herror and gaierror
2019-07-18 16:50:28 -07:00
YannackandSebastian Rittau 40215d1fa3 Fix the definition of nsmallest() in stdlib/2 and 2and3/heapq.pyi (#3114)
Missing support of the optional "key" kwarg in nsmallest.
Also fixed nlargest syntax for 2and3 which was also missing.
Use a protocol for heapq.py
2019-07-18 21:38:28 +02:00
秋葉andSebastian Rittau e2ec5d0525 Make SyntaxError.text be optional (#3119)
Closes #3118
2019-07-15 09:11:45 +02:00
Anthony SottileandJelle Zijlstra f76b7b273b Re-export _curses._CursesWindow from curses (#3117) 2019-07-13 08:01:10 -07:00
Anthony SottileandJelle Zijlstra 2a57ce2cec Add curses.COLORS and curses.COLOR_PAIRS (#3115) 2019-07-13 07:50:13 -07:00
Brandt BucherandJelle Zijlstra 34b47101dd Slice attributes can be of any type. (#3024) 2019-07-11 12:13:32 -07:00
Rafi BlecherandIvan Levkivskyi 668d050476 Fix contextlib GeneratorContextManager name for py>=3.2 (#3083) 2019-07-02 10:56:40 +01:00