Commit Graph
266 Commits
Author SHA1 Message Date
Svyatoslav IlinskiyandJelle Zijlstra 8ac0694056 Make functions any and all accept Iterable[object] (#1531)
Previously, they were accepting `Iterable`, which expanded to `Iterable[Any]`.
2017-08-07 17:13:43 -06:00
Svyatoslav IlinskiyandGuido van Rossum 3f9fafbbb7 Re-export code from _ast into ast. (#1515)
After mypy [started hiding](https://github.com/python/mypy/pull/3706) imported names in stubs unless `from ... import ...` is used, we found an error with stubs of ast module. 

It looks like ast module should re-export everything in `_ast` and according to PEP 484, it can do that by doing `from _ast import *`, so this is what this PR does.
2017-08-03 15:57:20 -07:00
Ashwini ChaudharyandMatthias Kramm 0c7b50378b Added stub for mutex(py2) (#1509) 2017-08-02 08:32:10 -07:00
Ashwini ChaudharyandMatthias Kramm 01a0c51acf Added stub for sre_parse and sre_constants(py2) (#1500)
* Added stub for sre_parse (py2)

* Added missing import

* Added missing hints; Fixed _AvType and _TemplateType

* Added stub for sre_constants
2017-08-01 14:38:22 -07:00
Matthias KrammandGuido van Rossum 6f23d124c0 Remove subclass IOBase from TextIOBase. (#1505)
This used to cause TextIOBase to subclass both BinaryIO and TextIO, even
though those two are incompatible.
2017-07-28 21:07:37 -07:00
Semyon ProshevandJelle Zijlstra 72fbc459a7 Add __init__ to types.MethodType (#1499) 2017-07-26 08:38:27 -07:00
Thomas GraingerandJelle Zijlstra 15c8474e35 fix email.mime (#1482)
* add missing python 2 email.mime.application stub

* restore missing python 3 mime package

* Delete __init__.py
2017-07-26 08:29:30 -07:00
Michael LeeandJelle Zijlstra 6d3024fb19 Add NoReturn type to typing stubs (#1496) 2017-07-20 21:24:34 -07:00
Jelle ZijlstraandŁukasz Langa be7490322b Counter: fix return value of most_common() (#1491)
https://docs.python.org/3/library/collections.html#collections.Counter.most_common
https://docs.python.org/2/library/collections.html#collections.Counter.most_common
2017-07-19 20:29:32 +03:00
Jelle ZijlstraandŁukasz Langa 00ddb1c84a encodings: IncrementalEncoder and Decoder concrete (#1490)
These stubs are identical in Python 2 and 3, but I believe they
should not be merged, because there are numerous other modules
in the encodings package, and some only exist in some Python
versions. I don't think we can support that in the 2and3
directory.
2017-07-19 20:28:43 +03:00
Ashwini ChaudharyandJelle Zijlstra a4a34a0e73 Added stub for stringold module (#1460) 2017-07-16 15:08:27 -07:00
rchen152andMatthias Kramm 643aedea1b Fix the definition of LockType.__exit__. (#1485) 2017-07-13 17:30:51 -07:00
rchen152andMatthias Kramm 6368baf42a Remove duplicate names from posixpath.pyi. (#1468)
posixpath.pyi did a '*' import of genericpath.pyi and then redefined
everything it imported. Removes the duplicate definitions from posixpath
and improves the ones in genericpath.
2017-07-06 14:22:18 -07:00
Jelle ZijlstraandMatthias Kramm 16aa0651ae Revert "Add __new__ to str and int stubs in both Pythons. (#1352)" (#1466)
This reverts commit fed4e03e53.
2017-07-06 14:21:54 -07:00
Ashwini ChaudharyandJelle Zijlstra 1a9685c6ce Added stub for Python 2's _threading_local (#1461) 2017-07-04 20:01:17 -07:00
Jelle ZijlstraandMatthias Kramm 318cada66c os: merge the top and bottom of os/__init__.pyi (#1458)
* os: merge the top and bottom of os/__init__.pyi

Part of #1427. In preparation for merging the two stubs, I'm making the files
identical as much as possible. This PR merges the top of the file, down to
but not including the definition of statvfs_result, and the bottom up to
and including os.utime.

This PR mostly adds more "if sys.version_info" block. Until the merger
completes, we'll have some Python 2 blocks in the Python 3 stub and vice versa.
I also add a few missing constants and arguments.

In followup PRs I'll merge the rest of the file. I'll put the trickiest part
(the return values of functions like os.stat) in its own PR.

* back out DirEntry from py2

It relies on stat_result which we don't have yet in py2.
2017-07-04 19:30:55 -07:00
Jelle ZijlstraandMatthias Kramm a419b696d4 make os.path identical in Python 2 and 3 (#1459)
Part of #1427. I don't think we can actually merge these until we merge
os/__init__.pyi too, which will take a few more PRs.
2017-07-04 19:27:27 -07:00
Jelle ZijlstraandMatthias Kramm f264eda4ed builtins: mode argument to open can be unicode (#1452)
Part of #1411

Also remove some explicit parameter defaults.
2017-07-04 19:20:45 -07:00
Jelle ZijlstraandMatthias Kramm 9947c9d513 urlparse: allow unicode arguments in more places (#1451)
* urlparse: allow unicode arguments in more places

Part of #1411

urlunsplit() and similar functions accept either unicode or str in all
places. Their actual return type is unicode if any of the arguments is
unicode and nonempty, which the type system can't exactly express. I
left the return type as str because str is implicitly promoted to
unicode, so using the return type in a place that accepts unicode should
work.

unquote, parse_qs, and parse_qsl return unicode if you pass them unicode,
so AnyStr is appropriate in their stubs.

* fix type for urldefrag

The return type was wrong; this function returns a 2-tuple. The second member of the tuple is always a `str` if the argument type does not contain '#', and otherwise matches the type of the argument.
2017-07-04 19:20:23 -07:00
Ivan LevkivskyiandJelle Zijlstra 97737ce8c2 Add collections import in typing for type aliases to always work (#1456)
* Add collections import in typing for type aliases to always work

* Add mypy issue number to the comment
2017-07-03 10:01:19 -07:00
Ashwini ChaudharyandJelle Zijlstra 83d5ba157c Added stub for toaiff module (#1455) 2017-07-02 21:24:21 -07:00
Ashwini ChaudharyandJelle Zijlstra 489696e9a1 Added stub for user module (#1454) 2017-07-02 15:17:37 -07:00
Peter VilimandGuido van Rossum bc9b2f0d4d Fix signature for slite3.fetchmany (#1444)
Also made pymssql.fetchmany simpler.
2017-06-29 15:05:47 -07:00
Roy WilliamsandJelle Zijlstra ac87de50dd Add __name__ field to MethodType (#1442)
See https://github.com/python/cpython/blob/08c16016e2a2d1368d001ddebfe9ca92465773c4/Lib/types.py#L32-L34

```python
>>> class _C:
...     def _m(self): pass
...
>>> _C()._m.__name__
'_m'
```
2017-06-29 10:05:25 -07:00
Roy WilliamsandJelle Zijlstra 31d7393cae Support calling eval and ast module with unicode in Python 2 (#1440) 2017-06-26 19:06:17 -07:00
mistermochaandGuido van Rossum 5306d6f5a7 Correct implementation of standard types besides "object" (#1340)
Per https://github.com/python/mypy/issues/2989
2017-06-23 09:45:48 -07:00
Jelle ZijlstraandMatthias Kramm 4a5ff0bb11 use PEP 526-style annotations in os stubs (#1428)
And fix some TODOs.

This will help me check these stubs with my stubcheck tool, and is better
for consistency anyway.
2017-06-22 05:49:23 -07:00
Matthias KrammandJelle Zijlstra c4e0580a4a make io.pyi import everything from _io.py(i), like io.py does (#1395)
* make io.pyi import _io.py(i), like io.py does
* make write/writelines take 'Any', on _IOBase
* Add missing constructors, fix inconsistencies.
* Also, as far as possible, try to simplify, by moving methods into base
classes.
* fix lint+mypy warnings
* add missing __enter__ methods
* make _IOBase inherit from BinaryIO
* make _TextIOBase not subclass _IOBase
2017-06-21 20:04:04 -07:00
Guido van RossumandJelle Zijlstra 04fe184dcf Add flags to pass on --warn-unused-ignores and --no-implicit-optional to mypy (#1421)
* Add flags to pass on --warn-unused-ignores and --no-implicit-optional to mypy
* Make implicit Optional explicit in arg types (2and3 part)
* Convert {stdlib,third_party}/2 to explicit Optional
2017-06-20 22:18:49 -07:00
Guido van RossumandMatthias Kramm 86070643ac Improve csv module and float() signature (#1418)
* DictReader should not be abstract. Reformat long lines.
* Make restval optional for DictWriter.__init__.
* The arg to reader() is *Iterable*, not *Iterator*.
* Improve signature of float() (use Union instead of overload).
2017-06-20 13:04:10 -07:00
rchen152andMatthias Kramm 945527dbc0 Add a __new__ method to datetime.datetime. (#1417) 2017-06-19 17:05:34 -07:00
Yusuke MiyazakiandMatthias Kramm 1c8498228d Update stub for csv (#1398) 2017-06-15 16:35:17 -07:00
Matthias KrammandJukka Lehtosalo 5d1aacfed3 special-case overload for itertools.product with 'repeat' (#1410)
Add an additional overload for the `repeat = n` case. Since we don't know 
the numeric value of `repeat`, this just produces an iterator over an 
arbitrary-length tuple.
2017-06-15 19:13:46 +01:00
Guido van RossumandMatthias Kramm 4fbdcf5b03 Revert "add back 'repeat' argument to itertools.product (#1407)" (#1409)
This reverts commit d5e7663f93.
2017-06-14 13:10:29 -07:00
Matthias KrammandGuido van Rossum d5e7663f93 add back 'repeat' argument to itertools.product (#1407)
Fixes a regression introduced by #1393.
2017-06-14 09:33:37 -07:00
Semyon ProshevandJelle Zijlstra fed4e03e53 Add __new__ to str and int stubs in both Pythons. (#1352)
* Update default values to `...` in `__init__` and `__new__` in `int` and `str`.
* Add `__new__` to `enum.IntEnum` to override inherited `__new__`.
* Add `type: ignore` comment to `IntEnum`
2017-06-12 20:53:32 -07:00
Matthias KrammandJelle Zijlstra ed6dc176da make itertools.product more precise (#1393) 2017-06-12 20:10:08 -07:00
Matthias KrammandGuido van Rossum d4c13e73f9 gzip.GzipFile.__init__ accepts any Text for 'mode' (#1403) 2017-06-12 15:36:47 -07:00
rchen152andGuido van Rossum 16ec7cbdf0 Add __new__ to time.struct_time (#1394)
This is needed because otherwise pytype uses the `__new__` inherited from the `NamedTuple` base class.
2017-06-06 15:36:01 -07:00
pkordasandMatthias Kramm 4dd40465e7 added stub file for popen2 (#1385) 2017-06-05 12:27:34 -07:00
amstreeandJelle Zijlstra 1d4c73d708 Fix type annotations for glob (#1386) 2017-06-02 21:05:21 -07:00
amstreeandŁukasz Langa 66765c1fdb add glob1 glob0 to glob (#1368)
* add glob1 glob0 to glob

* add glob1 glob0 to python 3 stub

* fix types to take str and unicode

* Update glob.pyi
2017-06-02 11:22:07 -07:00
Cooper LeesandGuido van Rossum 4656153478 Allow subprocess stdout + stderr be Optional (#1375)
- Adding optional to _FILE for stderr + stdout arguments to subprocess functions
- Sometimes you might want subprocess commands to be quiet and other time print the output
2017-06-01 17:46:14 -07:00
rchen152andMatthias Kramm 2161f72990 time.mktime can take a struct_time or a tuple. (#1380) 2017-06-01 17:37:13 -07:00
Yusuke MiyazakiandMatthias Kramm 35852bd687 Update stub for grp (#1373) 2017-06-01 17:36:32 -07:00
Yusuke MiyazakiandGuido van Rossum 193e6885d4 Update stub for spwd (#1372)
Update stub for spwd

- Use `NamedTuple`
- Fix stub for Python 3
  - Some attributes are changed from Python 2
    - `sp_nam` -> `sp_namp`
    - `sp_pwd` -> `sp_pwdp`
2017-05-31 12:07:21 -07:00
Matthias KrammandGuido van Rossum 6f07424246 fix types in os.path (#1363)
In Python 2, doing
    os.path.join(u"foo", "bar")
is actually legal, and returns a unicode string.
Also os.path.relpath always returns the type of its first argument.

(The solution is not perfect -- e.g.
    os.path.join("a", "b", "c", "d", u"e")
will still result in a type error. )
2017-05-31 10:43:26 -07:00
Semyon ProshevandJelle Zijlstra 5db571a8f3 Update typing.MutableMapping.update stubs to allow keyword-only arguments (#1370) 2017-05-30 21:44:10 -07:00
Yusuke MiyazakiandJelle Zijlstra 40c6927cf0 Update stub for pwd (#1371) 2017-05-30 21:43:30 -07:00
DmitriySandGuido van Rossum 9f433a57f4 Fix type stubs in typing.pyi (#1263) 2017-05-28 13:13:20 -07:00