Commit Graph
3408 Commits
Author SHA1 Message Date
Andrey VlasovskikhandGuido van Rossum 92534805b5 Added missing special attributes for PY3 functions (#875) 2017-01-29 20:34:35 -08:00
Lucas WimanandGuido van Rossum 7c93bb07e1 Update annotations for unittest.skip* methods. (#877) 2017-01-29 20:33:49 -08:00
Jelle ZijlstraandGuido van Rossum 6e84021f56 ChainMap fixes (#878)
- It didn't exist before 3.3 (https://docs.python.org/3/library/collections.html#chainmap-objects)
- It's not a subclass of dict
2017-01-29 20:29:29 -08:00
Matt KimballandGuido van Rossum bb5ba13315 Moved syslog from 2/ to 2and3/. Allow both forms of syslog.syslog. (#884) 2017-01-29 20:19:13 -08:00
Jelle ZijlstraandGuido van Rossum a9bb7f89d3 Fixes to subprocess.CompletedProcess (#895) 2017-01-29 20:16:49 -08:00
Matt KimballandGuido van Rossum fd1201f5d5 Allow asyncio.wait to accept non-Task Futures (#881) 2017-01-29 17:53:38 -08:00
miedzinskiandGuido van Rossum d486e2a8d5 Add typing.ClassVar (fixes #888) (#889) 2017-01-29 17:15:04 -08:00
Lucas WimanandGuido van Rossum 225f302135 Address str/unicode issue with logging.getLogger. (#883)
Fixes #843.
2017-01-29 11:40:20 -08:00
Jelle ZijlstraandGuido van Rossum 66bc746bb3 StreamWriter.drain is a coroutine (#880)
See https://docs.python.org/3/library/asyncio-stream.html#asyncio.StreamWriter.drain
2017-01-29 11:33:35 -08:00
Andrey VlasovskikhandGuido van Rossum 2d46679da8 Added attributes present in inheritors of types.InstanceType (#885) 2017-01-29 11:26:30 -08:00
Andrey VlasovskikhandGuido van Rossum bb33cb0119 Added __instancecheck__ and __subclasscheck__ to type (#887) 2017-01-29 11:17:01 -08:00
Andrey VlasovskikhandGuido van Rossum 8ce64ce782 Updates to slice built-in (#891)
Makes args and attributes optional.
2017-01-29 11:16:23 -08:00
Andrey VlasovskikhandGuido van Rossum 2b25b3ef6d Argument of input() is not restricted to str (#890) 2017-01-29 10:34:32 -08:00
Lucas WimanandGuido van Rossum c048984ab9 Update stub of str to match documentation. (#893) 2017-01-29 10:14:32 -08:00
Jelle ZijlstraandGuido van Rossum 9a1e8452a3 input argument to Process.communicate is Optional (#894)
The code for this method starts as follows:
```
    @coroutine
    def communicate(self, input=None):
        if input is not None:
            stdin = self._feed_stdin(input)
```
2017-01-29 10:12:36 -08:00
Lucas WimanandJukka Lehtosalo 6d1edb285d Expand several stdlib methods to accept unicode or str. (#869)
Expand several stdlib methods to accept unicode or str.
2017-01-27 16:03:25 +00:00
Andrey VlasovskikhandŁukasz Langa c8435f4315 Added object.__sizeof__ (#865)
* Added object.__sizeof__

* Removed __sizeof__ inherited from object

* Made sqlite3 classes for Python 2 inherit from object

* Removed __sizeof__ inherited from object
2017-01-26 12:05:53 -08:00
Andrey VlasovskikhandŁukasz Langa 025f31dcc9 Added class super to builtins (#867) 2017-01-26 11:53:59 -08:00
Andrey VlasovskikhandŁukasz Langa 1d1a2e458c Added methods of typing.NamedTuple (#864) 2017-01-26 11:52:59 -08:00
Andrey VlasovskikhandŁukasz Langa 39df0d0725 Added object as the base class of type (#866) 2017-01-26 11:46:15 -08:00
Lukasz Langa c88d865520 Missing variable annotations were failing mypy tests 2017-01-24 15:21:55 -08:00
AlexeyandGuido van Rossum ccdc609706 Update sqlalchemy stubs (#857)
I believe this covers both #647 and #719.

Moved sqlalchemy stubs from 2 to 2and3;
changed sqlalchemy/util/compat.pyi:37 to be of type typing.Text;
added incomplete stubs for sqlalchemy.orm.utils and slqalchemy.sql.elements.ColumnElement.
2017-01-23 15:56:30 -08:00
Bertrand Bonnefoy-ClaudetandŁukasz Langa c5ffe4f1d9 Fix returned decoder/encoder types in codecs 2017-01-23 10:32:53 -08:00
Avy FaingezichtandŁukasz Langa abd2995bad add stub for os.get_terminal_size in python3 (#859) 2017-01-23 09:06:39 -08:00
Alex FriederandŁukasz Langa cf98162fca Add __bool__ to numeric builtin types 2017-01-20 12:41:16 -08:00
Alex FriederandŁukasz Langa db09b441ce Add __nonzero__ to numeric builtin types 2017-01-20 12:41:16 -08:00
Lukasz Langa 5d1a162db9 Mention CONTRIBUTING.md updates on stub versioning in the README
This makes the README less wordy and makes the information more consistent by
just storing it in a single place.
2017-01-20 11:49:55 -08:00
Łukasz LangaandGuido van Rossum 598c1d5545 Expand CONTRIBUTING.md with information about sys.version_info checks (#853) 2017-01-20 11:41:44 -08:00
Adam MarszałekandŁukasz Langa 6178ed3201 Expansion of unions inside params definition (#848)
Due to `Dict` / `Mapping` invariance it's necessary to include other variants of `Union[str, bytes], Union[str, bytes]`.
2017-01-20 09:09:22 -08:00
Jukka LehtosaloandGuido van Rossum f2579e532f Update signature of dict.get (#852)
Without this change, mypy can't infer proper types for cases like
`d.get(k, [])` where it needs type context to infer the type of
`[]`. We add the value type to the second argument to `get` using
union types, and this provides the context. This doesn't affect
the effective signature of `get`, other than providing the type
context for mypy.

Also removed some related redundant method definitions where we can
just inherit the base class definition. This makes it easier to
keep the method signatures consistent.

Note that this requires a few mypy PRs before mypy will be able to
use this effectively:

* https://github.com/python/mypy/pull/2718
* https://github.com/python/mypy/pull/2715
2017-01-20 07:41:54 -08:00
Jukka LehtosaloandGuido van Rossum c577c84a17 Add stub for cryptography.hazmat.primitives.serialization (#851)
This makes the stubs for cryptoraphy less incompelete. Created using
stubgen. I don't know what the types are.
2017-01-20 07:40:30 -08:00
aostilesandGuido van Rossum 0192f301b4 Reflect Python 3.4.4 asyncio.queues changes in stubs (#847)
Fixes #846
2017-01-19 16:11:09 -08:00
AlexeyandŁukasz Langa 741dd37422 Update annotations in requests.api for Python 3 (#849)
* Update annotations for requests.api.get

Argument params of requests.api.get accepts not only dictionaries of str, str pairs, but dictionaries and tuples of various types.
2017-01-19 14:09:58 -08:00
Jelle ZijlstraandGuido van Rossum b96bd698ab Fix return values of athrow and aclose. (#845)
I misread the PEP here (https://www.python.org/dev/peps/pep-0525/#asynchronous-generator-object); both of these return the yielded type.
2017-01-19 12:21:51 -08:00
Jelle ZijlstraandGuido van Rossum df9d11bf71 add AsyncGenerator to typing.pyi, collections/abc.pyi and collections/__init__.pyi (#815)
This parallels https://github.com/python/typing/pull/346
2017-01-18 13:24:28 -08:00
AlexeyandŁukasz Langa 2195b9d297 Update annotations for requests.api (#844)
Argument params of requests.api.get accepts not only dictionaries of str, str pairs, but dictionaries and tuples of various types.
2017-01-18 11:32:18 -08:00
Dylan JenkinsonandŁukasz Langa 6339f88ae4 Updated the stub for builtins to change slice to take Optional[int] rather than just straight int. 2017-01-18 11:30:41 -08:00
Jukka LehtosaloandŁukasz Langa 97bd6e37b9 Update argparse to accept unicode in many contexts
Change `str` to `Union[str, unicode]` where it seems safe.
I didn't change it in non-covariant contexts since that can
break user code.

I manually verified a subset of the changes by calling the
relevant function with unicode literals (ascii-only).

I'm using `Union[str, unicode]` instead of just `unicode`
so that the stub still works with tools that don't promote
`str` objects to `unicode`.
2017-01-18 08:43:49 -08:00
Roy WilliamsandGuido van Rossum aa6a1c53c9 Add stubs for dateutil.tz (#839) 2017-01-17 15:54:15 -08:00
EthanandGuido van Rossum 3b30996733 Change ast's parse signature to return Module (#836) 2017-01-17 09:49:41 -08:00
Jukka LehtosaloandGitHub 35978a7ca5 Make signature of DictMixin.get consistent with Mapping.get (#838) 2017-01-17 14:08:49 +00:00
Jukka LehtosaloandGitHub 734ad44a11 Make MRO of UserDict.DictMixin consistent with Mapping (#837)
This fixes MRO conflicts produced by mypy when using multiple
inheritance.
2017-01-17 13:55:31 +00:00
Jelle ZijlstraandGuido van Rossum 511ff30f06 Make functions in asyncio.tasks accept Awaitables (#834) 2017-01-16 16:16:10 -08:00
Guido van RossumandŁukasz Langa 70d012ed0b Remove trailing commas, pytype doesn't like them 2017-01-13 13:59:07 -08:00
Łukasz LangaandGuido van Rossum 37fc626ffd Add type signature for a WSGI Application to wsgiref (#825)
This type is something core to Python and is useful when typing web applications,
but doesn't actually exist in the stdlib anywhere.  I put this in wsgiref, but I am
open to suggestions as for a better place.

(Original PR by @rowillia.)
2017-01-13 13:36:34 -08:00
Roy WilliamsandŁukasz Langa 41ba734fc2 Fix return type of next when default parameter is provided.
**test_next.py**:
```python
z = (x*2 for x in range(10))
reveal_type(next(z, None))
```

Before:
```shell
test_next.py:2: error: Revealed type is 'builtins.int*'
```

After:
```shell
test_next.py:2: error: Revealed type is 'Union[builtins.int*, builtins.None]'
```
2017-01-13 09:46:51 -08:00
Russ AllberyandŁukasz Langa fd4abe5fc3 Add full Python 2 type stubs for OpenSSL.crypto
Also adds the bare minimum of stubs for
cryptography.hazmat.primitives.asymmetric to define the types
referenced here.  (cryptography is a full project in its own right,
with lots of types and internal references.)

This tries to use bytes in places where the module documentation
emphasized that this was opaque bytes and str for arguments and
return values that the module seemd to be treating as regular Python
strings, even though this distinction is not horribly meaningful for
Python 2.
2017-01-13 09:44:37 -08:00
Eric MoyerandŁukasz Langa 2580702036 Match py2 assert*IsInstance with isinstance
The python2 unittest `assertIsInstance` and `assertNotIsInstance` stub
did not allow using a tuple of classes, but that behavior is [in the
documentation][1]. This commit copies the type stub for the isinstance
built-in to the stubs for `assertIsInstance` and `assertNotIsInstance`

I made this commit in response to @gvanrossum's request in
python/typeshed#802 (which fixed this issue for python 3) that I apply
the same fix to python 2.

[1]: https://docs.python.org/2.7/library/unittest.html#unittest.TestCase.assertNotIsInstance
2017-01-12 09:29:23 -08:00
Mohab UsamaandŁukasz Langa cd2d08970d Make calendar.timegm stub accept struct_time 2017-01-11 22:06:39 -08:00
Roy WilliamsandŁukasz Langa 6008b9dbb1 Overload signature of get to return an Optional value and to allow default to take any type to match runtime behavior.
This chage more closely matches the behavior of `get` at runtime.  Users can pass whatever they want in to the default
parameter and it will be returned if the key is absent.  Additionally, `get` should return an `Optional` if called with
only one parameter.

```python
z = {'a': 22}
reveal_type(z.get('b'))
reveal_type(z.get('b', 22))
reveal_type(z.get('b', 'hello'))
```

Before:
```shell
test_get_default.py:2: error: Revealed type is 'builtins.int*'
test_get_default.py:3: error: Revealed type is 'builtins.int*'
test_get_default.py:4: error: Revealed type is 'builtins.int*'
test_get_default.py:4: error: Argument 2 to "get" of "dict" has incompatible type "str"; expected "int"
```

After:
```shell
test_get_default.py:2: error: Revealed type is 'Union[builtins.int*, builtins.None]'
test_get_default.py:3: error: Revealed type is 'builtins.int'
test_get_default.py:4: error: Revealed type is 'Union[builtins.int, builtins.str*]'
```
2017-01-11 22:02:29 -08:00