Commit Graph
2801 Commits
Author SHA1 Message Date
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
herr kasteandSebastian Rittau 668988fa8c Return concrete sets from ItemsView and KeysView (#3181) 2019-09-05 16:59:59 +02: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
Pascal CorpetandSebastian Rittau b94fa842eb Type response of Flask test client methods: get, post, etc. (#2904) 2019-09-03 11:12:11 +02:00
Rebecca ChenandSebastian Rittau abc241bd35 Use Literal to improve tempfile.[Named]TemporaryFile. (#3215) 2019-08-31 11:25:44 +02:00
Shannon ZhuandJelle Zijlstra f9300ed1ed Update pyre_extensions stub (#3214) 2019-08-30 16:15:24 -07:00
Colin GilgenbachandSebastian Rittau 99e8ed42a4 Mark ParamType.fail() as NoReturn (#3213)
This function just raises a click.BadParameter exception with the supplied arguments.
2019-08-29 17:57:43 +02:00
Sebastian RittauandJelle Zijlstra ae881faaf1 Remove custom _Text type (#3211)
* Remove custom _Text type

Since the custom type was only used in argument types, it was
effectively only an alias for typing.Text.

* Run requests/api.pyi through black
2019-08-29 08:51:59 -07:00
Andriy TerazandSebastian Rittau d78747c0f0 Make target optional in contextlib redirecting managers (#3212)
Fixes #3210
2019-08-29 17:38:53 +02:00
Benjamin PetersonandMichael J. Sullivan f53f52de57 requests: Allow bytes for url parameters. (#3209)
typeshed already partially reflected https://github.com/psf/requests/pull/2238 but not completely.
2019-08-28 21:53:19 -07:00
Benjamin PetersonandJelle Zijlstra a48abb4546 Add unquote_to_bytes to Python 3 six.moves.urllib.parse. (#3208) 2019-08-28 18:01:38 -07:00
Jaromir LatalandSebastian Rittau cd1a0c592a Add typestubs for unittest.util (#3186) 2019-08-27 15:34:22 +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
Rebecca ChenandGitHub 03b38d4d2e Add sys.flags.utf8_mode. (#3205)
This is new in Python 3.7:
https://docs.python.org/3/library/sys.html#sys.flags
2019-08-23 12:06:21 -07:00
Benjamin PetersonandSebastian Rittau ce0f5b226f zipfile.ZipFile: Add start_dir attribute. (#3203) 2019-08-23 08:46:16 +02:00
Scott BeldenandSebastian Rittau 04bcb89aea create_server returns a Server, not AbstractServer (#3131)
* remove create_unix_connection and use ABCMeta
2019-08-23 08:31:40 +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
Shannon ZhuandJelle Zijlstra 72010bc5dc Update how mock classes alias to Any (#3182)
* Update how mock classes alias to Any

> First, the z: Any situation looks like a bug or accidental feature to me.
This is definitely meant (and works) as a variable declaration; that it
also allows using z as a type seems wrong. I can't find any evidence in
PEP 484 that this was intended; in mypy it's likely the accidental result
of other design choices meant to shut up errors about Any.

Ideally these classes could be declared as empty class stubs, but since the comments suggest this isn't possible yet, let's update these to be type aliases to Any rather than global variables of type Any. This would avoid invalid type errors when the implementation of type checkers respect the intention that `z: Any` does not make `z` a valid type.

* Update mock.pyi
2019-08-19 17:10:27 -07:00
Michael NixandSebastian Rittau 1ab5145124 adds threading related members to queue.pyi (#3198) 2019-08-19 18:33:19 +02:00
Alan DuandSebastian Rittau e252094354 multiprocessing.Value can also take a Type (#3200) 2019-08-19 17:52:00 +02:00
BouteillebleuandSebastian Rittau d5a918de7b Add stubs for CGIHTTPServer (#3196)
This commit adds:
* Stubs for CGIHTTPServer in the Python 2 standard library, as requested in #1147.
* Stubs for six.moves.CGIHTTPServer in Python 2, as requested in #22.
2019-08-19 15:34:29 +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
Ivan LevkivskyiandGitHub 3cfc3150f0 Partially restore old (imprecise) signature of Match.group() (#3190)
This partially reverts #3172
2019-08-16 19:53:52 +01:00
Niels BuwenandSebastian Rittau 5638d29203 Fix #3187 : Wrong Signatures in socketserver (#3189)
Fixes #3187
2019-08-16 17:08:23 +02: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
Rebecca ChenandJelle Zijlstra b873894e16 Fix a typo (self -> cls) in stdlib/2/subprocess.pyi. (#3185) 2019-08-14 18:14:30 -07:00
Ville SkyttäandJelle Zijlstra 1edd6cd8a8 Add Match.regs (#2819) 2019-08-10 20:21:54 -07:00
Jon DufresneandJelle Zijlstra 679e1a9a8c Update URL: python/black → psf/black (#3180) 2019-08-10 13:31:58 -07:00
Rune TynanandJelle Zijlstra 15b7cdaf40 Implement ZipExtFile in the zipfile type stubs (#3074) 2019-08-10 13:25:03 -07:00
Patrick ValsecchiandJelle Zijlstra 26f575130c Add some redis types (#3092) 2019-08-10 13:22:40 -07:00
Benjamin PetersonandJelle Zijlstra baea5a7bc3 Widen the annotation of os.write to include buffer. (#3109) 2019-08-10 13:15:46 -07:00
Benjamin PetersonandJelle Zijlstra 0dc3bf941a Improve type of tornado.testing.gen_test. (#3174)
gen_test can accept a timeout parameter. See https://www.tornadoweb.org/en/branch5.1/testing.html#tornado.testing.gen_test.
2019-08-10 13:08:59 -07:00
Sebastian RittauandJelle Zijlstra 628eee29f7 Use Literal in a few more places (#3176) 2019-08-10 13:08:18 -07:00
Sebastian RittauandGitHub c579f91077 Improve werkzeug exceptions slightly (#3178)
* Use Text for HTTPException.description
* Add Unauthorized.www_authenticate
* Remove wrong get_headers() overrides
2019-08-09 20:05:56 +02:00
Sebastian RittauandGitHub 3f6cec9872 Fix Match.group problems (#3172)
* group() may return None values
* group() allows to mix int and str arguments
* Use concrete return type
* Merge overloads
2019-08-08 16:59:20 +02: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
g.denisandSebastian Rittau 50f1988650 concurrent: add private classes and exceptions (#3169) 2019-08-07 10:39:15 +02:00
Cole MacleanandSebastian Rittau 29771aa1ee Add missing methods to asyncio stubs (#3088) 2019-08-06 08:34:38 +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
Nicklas LindgrenandJelle Zijlstra 3c4141982e Declare asyncio.as_completed() as taking an Iterable (#3164)
The stub for asyncio.as_completed declared it as taking a Sequence of
Futures. This was unnecessarily strict.

Just like asyncio.wait, asyncio.as_completed can be declared to take
an Iterable of Futures instead. Both these functions iterate over
their argument only once to store its items in a set, so an Iterable
is sufficiently strict. This has been true since the initial
implementation of the functions.
2019-07-31 10:53:23 -07:00
Jon DufresneandSebastian Rittau 02401c836f Add type annotations for Python 3 html.entities (#3161) 2019-07-31 15:46:16 +02:00