Commit Graph

1187 Commits

Author SHA1 Message Date
Jelle Zijlstra
3e94c46e64 Add missing methods and @coroutine decorators to AbstractEventLoop (#958)
Closes #953.

I reviewed the documentation at https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.AbstractEventLoop and added missing methods and missing @coroutine decorators.

I ran mypy on the sample file from the issue report to confirm that mypy handles the combination of @abstractmethod and @coroutine correctly.

Also fixed a number of types in this file that are annotated as Any but could be given more precise types (e.g., sockets and protocol factories).
2017-03-12 20:21:25 -07:00
Jelle Zijlstra
b6eec58d2c remove checks against patch versions (#987)
Both mypy and pytype only use the major and minor version in type checking. Using
checks like "sys.version_info >= (3, 4, 4)" won't actually work properly for
people type checking their code using version 3.4, because (3, 4) >= (3, 4, 4) will
always be false (at least in mypy's approach; not sure if pytype is different).
2017-03-12 20:16:09 -07:00
Marcin Kurczewski
2dbb5f0bc3 Fix unicodedata (#983)
Fixes #982.
2017-03-12 19:38:39 -07:00
Jelle Zijlstra
47a19c761c fix typo in http.client (#985) 2017-03-12 19:33:47 -07:00
Jelle Zijlstra
555f45b876 remove "return" statements from builtins.pyi (#986)
Type checkers shouldn't care that these methods are returning the same object.
2017-03-12 19:33:29 -07:00
Jelle Zijlstra
155fdd0cd4 Fixes to tempfile stubs (#981)
Fixes #975

And a few more things I noticed while reading the tempfile docs.

    In 3.5, most functions in tempfile were changed to accept either str or bytes in their prefix and suffix arguments, and return bytes or str accordingly. This seemed like a case for AnyStr.
    We were missing tempdirb and tempprefixb, added in 3.5.
    TemporaryFile and others were declared as returning BinaryIO, but they actually return either binary or text IO depending on the mode passed in. I changed the return type to IO[Any], similar to builtins.open.
2017-03-12 19:32:46 -07:00
Matthias Kramm
02bd2bdf69 Make pickle accept IO[str] instead of BinaryIO. (#980)
* Make pickle accept IO[str] instead of BinaryIO.

This makes the following code work:
pickle.Unpickler(cStringIO.StringIO())
(Which didn't work before because cStringIO.StringIO inherits "only"
 from IO[str], not BinaryIO)

* Use bytes instead of str.
2017-03-10 20:24:20 -08:00
Hong Minhee
a6e3e70d14 Add incorrect/missing types to Werkzeug wrappers (#969) 2017-03-10 15:54:20 -08:00
=^_^=
82f1104e59 Add Collection to typing.pyi (#967)
Fixes #965
2017-03-10 15:52:08 -08:00
Jelle Zijlstra
cf6c563ce1 codecs: merge 2 and 3 stubs (#960) 2017-03-10 15:50:14 -08:00
Jelle Zijlstra
d04b9b204e Function bodies should be empty (#959)
I've seen some stubs like

```
class X:
    def __init__(self, x: str) -> None:
        self.x = x
        self.y = 0
```
I think this should be written instead as
```
class X:
    x: str
    y: int
    def __init__(self, x: str) -> None: ...
```
2017-03-10 15:35:34 -08:00
Ivan Levkivskyi
bd5b33f3b1 Fix frozenset (#979) 2017-03-10 13:59:32 -08:00
Sebastian Meßmer
85866fe1b9 Fix unittest/mock.pyi (#973)
* Fix unittest/mock.pyi

Add a lot of missing types

* Fix formatting

* Make two and from_kall bool

* Further style fixes

* style fixes
2017-03-08 06:50:28 -08:00
Dominik Miedziński
4f51a4f2fc Improve ABCMeta.register signature (#962)
* Improve ABCMeta.register signature

* Fix ABCMeta.register return type for Python 3.3+
2017-03-07 16:42:06 -08:00
Nikhil Marathe
8e59579953 concurrent.futures: Add various Errors. Fix wait(). (#964)
Introduces Error, CancelledError and TimeoutError, based on the backport.
Also fixes the return type of wait to be Sets instead of Iterables. The
function documentation promises Sets and the code uses Sets.

https://github.com/agronholm/pythonfutures/blob/master/concurrent/futures/_base.py#L261
2017-03-07 16:39:25 -08:00
Hong Minhee
aa54fc1958 Add missing attribs to urllib.response.addinfourl (#968) 2017-03-07 16:38:52 -08:00
David Euresti
a1e74b9261 Add stub for filecmp to 2and3 (#955)
* Add stub for filecmp to 2and3

* Fix spacing

* Moar spacing

* Use _SupportsBool

* Code review
2017-03-07 16:36:25 -08:00
David Euresti
63590301f7 Add stubs for py_compile. (#954)
* Add stubs for py_compile.

* Correct Text
2017-03-07 16:35:45 -08:00
David Fisher
2861674784 Remove unnecessary --fast-parser flag to mypy (#977)
It's now on by default, and the flag will eventually be removed.
2017-03-07 15:01:17 -08:00
David Fisher
6e34fc9127 Remove semicolon in type (#976) 2017-03-07 14:33:55 -08:00
rchen152
f34c550f04 Correct some return types in itertools.pyi from Iterable to Iterator. (#947)
* Fix a few return types in stdlib/2/inspect.pyi.

* Rename _FrameRecord to _FrameInfo

* Correct some return types in itertools.pyi from Iterable to Iterator.
2017-03-07 06:42:50 -08:00
Sebastian Meßmer
6ffaadbd67 Fix string.pyi (#971)
Add missing types for two arguments
2017-03-06 08:08:36 -08:00
Sebastian Meßmer
afde2fd234 Fix type stubs for logging (#972)
Add missing type for two parameters
2017-03-06 08:05:42 -08:00
Sebastian Meßmer
ba82ac08ed Fix type stubs in type.pyi (#970)
Mypy recognized the type hints as parameter names. This fixes that.
2017-03-06 08:04:51 -08:00
Samuel Colvin
0cb247e96f correct version_option arguments in click (#966) 2017-03-03 11:16:13 -08:00
Alvaro Caceres
f87dde0d1b Remove webbrowser.pyi from pytype blacklist (#963) 2017-03-01 11:45:05 -08:00
Michael Walter
58efa1fe55 Update json.pyi (#957)
According to https://docs.python.org/3/library/json.html#json.loads, the s parameter can be "a str, bytes or bytearray instance".
2017-02-27 17:51:41 +00:00
lincolnq
59789b8a3e Improve types for xml.etree.ElementTree (#930)
* Improve types for xml.etree.ElementTree

Update signatures to reflect the following peculiarities of the
ElementTree library:

- The elementtree library accepts unicode or bytes for most xml values
  in python2, and coerces everywhere -- but in python3, only str makes
  sense.
- In python 2, the library produces str or unicode instances
  unpredictably, depending on whether the xml is decodeable as ascii or
  not. In python 3, it always produces str instances.
- The parser functions accept unicode or bytes in 2 and 3 -- again, will
  coerce individual instances so heterogeneous lists are ok.
- In python 3, the tostring functions produce bytes or str, depending on
  the value of the 'encoding' parameter.

* improve docs
* Improve ElementFactory type by specifying dict of 2nd arg
2017-02-22 20:43:09 -08:00
David Euresti
91ff50ad7a Fix AbstractDigestAuthHandler to have correct types. 2017-02-22 20:29:17 -08:00
David Euresti
70e39d9ad2 Fix and unify type of socket.getaddrinfo 2017-02-22 20:24:47 -08:00
David Euresti
da11ecf773 Add missing __init__ and isclosed to http.client.HTTPResponse 2017-02-22 20:18:15 -08:00
David Euresti
f7aedb4d21 Fix type annotations in fnmatch for Python 2.
Make some AnyStr others _EitherStr.
2017-02-22 20:15:35 -08:00
Ivan Levkivskyi
10c5e0cb44 Fix build following mypy support for metaclasses (#952)
Mypy now supports metaclasses in Python 2, see python/mypy#2830
so that now __metaclass__ attribute has special treatment.

This PR makes small changes to fix the build (also most PRs are red because of this)
2017-02-22 12:39:57 +00:00
David Euresti
e3fb935ca4 Move opcode to 2and3 (#938)
* Move opcode to 2and3

* Fix python3 versions

* Fix tests

* Bring Dict back
2017-02-21 14:27:34 -08:00
David Euresti
1260d41cd1 Fix type of IO.writelines. (#949)
This lets you use generators to writelines
2017-02-21 14:25:00 -08:00
Andrey Vlasovskikh
295788b672 Missing special attributes of class instances inherited from object (#943)
* Missing special attributes of class instances inherited from object
* object.__reduce__ returns a tuple

It's up to its inheritors to return either a tuple or a string.
2017-02-20 11:50:14 -08:00
David Euresti
8d42a2899a Add configparser and builtins to six (#937)
* Add configparser and builtins to six

* Use 'as' import
2017-02-20 11:38:49 -08:00
David Euresti
dbea48fc7a Make 2nd argument to ModuleType an optional kwarg (#941) 2017-02-20 11:10:59 -08:00
Tim Abbott
e3831d8d80 jinja2: Add InternationalizationExtension elements. (#942)
Fixes #927.
2017-02-20 11:09:44 -08:00
Andrey Vlasovskikh
39d89ef233 Class 'property' inherits from 'object' for PY2 2017-02-20 11:04:27 -08:00
Andrey Vlasovskikh
7212f23f7b Added missing 'property' attributes 2017-02-20 11:04:27 -08:00
Andrey Vlasovskikh
43c1369901 More precise type for 'slice' constructor
start and stop arguments are required even though they can be None.
2017-02-20 11:03:30 -08:00
Richard Hansen
55d4c08a8e Use BaseException for Future.exception() and .set_exception(). (#935)
The concurrent.futures.Future class's set_exception() method might be
called with a BaseException that is not an Exception, so change
set_exception()'s parameter type from Exception to BaseException.  The
exception set via set_exception() is returned by exception(), so
change exception()'s return type from Exception to BaseException.
2017-02-15 08:19:49 -08:00
Guido van Rossum
43d7747f59 Add missing List imports to dateutil package. (#934) 2017-02-14 11:59:19 -08:00
Ivan Levkivskyi
22c0353498 Add missing imports from typing (#933) 2017-02-14 10:59:00 -08:00
Matthias Kramm
f869a5d351 fix bugs in stdlib/2/csv.py (#932) 2017-02-13 20:21:19 -08:00
David Fisher
52dd4903d1 Update typed_ast for version 1.0 (#931) 2017-02-13 07:26:45 -08:00
Jelle Zijlstra
a778704b30 add Counter, Deque, ChainMap (#928) 2017-02-11 10:52:09 -08:00
Jelle Zijlstra
e80b25d1be allow instantiating ChainMap (#929)
A previous PR led mypy to refuse to instantiate ChainMap,
because it had unimplemented abstract methods.
This PR adds the abstract methods to the stub,
which is enough to persuade mypy to allow instantiating
ChainMap.
2017-02-11 10:10:13 -08:00
Andrey Vlasovskikh
77f21e415b Ignore PyCharm project files (#926) 2017-02-10 07:28:40 -08:00