Commit Graph

1251 Commits

Author SHA1 Message Date
Robert T. McGibbon
f1a13cea9c Add __init__ and __contains__ to argparse.Namespace (#1578) 2017-08-27 14:14:01 -07:00
Michael Lee
8afc1b7a08 Change subprocess constants to be type int (#1577)
This change modifies the PIPE, STDOUT, and DEVNULL constants in the
subprocess module to be of type 'int'.

Note that the Python 2 subprocess module was already typed this way;
this commit is just updating the Python 3 subprocess module in the same
way.
2017-08-26 17:07:25 -07:00
Chris
875bfe4c2a Allow Any return value for callbacks in retrbinary etc (#1567)
Fixes #1258
2017-08-25 20:40:45 -07:00
Guido van Rossum
76685480e0 Misc fixes found by running mypy against Dropbox internal codebase "C". (#1575) 2017-08-25 20:34:13 -07:00
Daniel Watkins
1050b383a3 RawConfigParser dict_type argument should be a Type (#1572)
Fixes #1571.
2017-08-22 14:59:59 -07:00
Garrett
975c9a09ef Add range attributes (#1561) 2017-08-22 06:11:55 -07:00
Daniel Watkins
e8ece8ccce Replicate RawConfigParser.get* methods in SectionProxy (#1568)
These methods are partially applied (with the section that is being
proxied in SectionProxy) at runtime, so will always be present.

Fixes #1543.
2017-08-21 15:00:16 -07:00
Daniel Watkins
24a7bfb4bf Make configparser.RawConfigParser use SectionProxy where appropriate (#1527)
* Make configparser.RawConfigParser.__getitem__ return a SectionProxy

This reflects the code in the cpython tree and makes the following
(valid) code type-check correctly:

```
from configparser import ConfigParser

config = ConfigParser()
config.read_dict({'section': {'key': 'false'}})
assert config['section'].getboolean('key') is False
```

* RawConfigParser.items() returns SectionProxys not mappings

Because .items() uses __getitem__ to produce second item in each tuple.

* section argument to RawConfigParser.items is Optional

* Add comment explaining the status of RawConfigParser.items

TL;DR, we're hitting https://github.com/python/mypy/issues/3805 when
implemented correctly as an override, and
https://github.com/python/mypy/issues/1855 when we try to work around
that with a union.

* Correctly implement RawConfigParser.items overloading

* RawConfigParser.items(str) returns a List not an Iterable
2017-08-21 14:46:50 -07:00
Daniel Watkins
6f848e8ed8 Add definition for RawConfigParser._get_conv (#1542)
This allows subclasses that define get* methods to wrap _get_conv whilst
still typechecking correctly.
2017-08-21 14:09:42 -07:00
Jelle Zijlstra
4ea6c1cffb sys: clean up (#1545)
- More precise types for trace and profile functions
- Remove redundant comments
2017-08-21 13:54:55 -07:00
Jelle Zijlstra
c40b7afc14 accept PathLike in os.scandir (#1546) 2017-08-21 13:54:22 -07:00
Jelle Zijlstra
5c328f12e1 configparser: support PathLike (#1547)
RawConfigParser.read has code explicitly supporting PathLike objects.

Also removed an unused import and widened the accepted type from
Sequence to Iterable.
2017-08-21 13:42:35 -07:00
Artur Rodrigues
485c232409 Improve resource stubs for py3 (#1565) 2017-08-21 10:08:51 -07:00
Daniel Watkins
1c8f43b86c Add closefd keyword argument to Python 2's FileIO.__init__ (#1555)
Fixes #1553.
2017-08-17 20:47:08 +02:00
Svyatoslav Ilinskiy
4491e415f9 Make operations on set take AbstractSet[object] (#1533)
Previously they were `AbstractSet[Any]`
2017-08-11 17:17:47 -07:00
Ashwini Chaudhary
4f14617db1 Add stub for codeop to 2and3 (#1534) 2017-08-11 17:09:57 -07:00
Evan Krall
9db63fee91 Make IOBase.__enter__ return the same type as self. Fixes #1540. (#1541) 2017-08-11 16:06:07 -07:00
Alex Ellis
10a3e43a19 Queue stubs: Make LIFOQueue and PriorityQueue generic (#1538) 2017-08-10 20:15:43 -07:00
Adam Dangoor
7fe417ca58 In Python 3.4 and above, os.makedirs and os.removedirs use the kwarg "name" rather than "path" (#1536) 2017-08-08 18:42:29 -07:00
Jelle Zijlstra
d60f26c448 add object.__dir__ in Python 3 (#1532)
In Python 3 (but not Python 2), `object().__dir__()` works and returns a list of strings.

This is relevant when implementing a custom `__dir__` that invokes `super().__dir__()`.
2017-08-07 19:29:13 -07:00
Brian C. Lane
19275ea38a Make multiprocessing.Queue a subclass of queue.Queue (#1525)
Also change multiprocessing.Queue's put and get timeout arguments to
allow None.

This fixes a problem with logging.handlers.QueueHandler and
QueueListener not accepting a multiprocessing.Queue as the queue
argument.

Declaring the Queue now needs to note what it will be used for. eg.
q = multiprocessing.Queue()    # type: multiprocessing.Queue[List[Any]]
2017-08-07 19:25:53 -07:00
vim345
228615b307 fix the type definition of namer function (#1498) 2017-08-07 17:36:05 -06:00
Svyatoslav Ilinskiy
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
Ashwini Chaudhary
c6bb8a7c88 Added stub for chunk(py 2 and 3) (#1523) 2017-08-06 08:21:09 -07:00
Matthias Kramm
3638bc1f52 Fix Python 2's traceback.format_exception, traceback.print_exception (#1512)
E.g. it's legal to call traceback.format_exception(None, None, None). In
particular, this change makes the following idiom type-check:
  import traceback
  import sys
  exc_type, exc_value, exc_traceback = sys.exc_info()
  traceback.format_exception(exc_type, exc_value, exc_traceback)
2017-08-03 15:58:34 -07:00
Svyatoslav Ilinskiy
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
Svyatoslav Ilinskiy
aa68403230 Make BaseException's init accept object instead of Any (#1518) 2017-08-03 12:57:59 -07:00
Ashwini Chaudhary
0c7b50378b Added stub for mutex(py2) (#1509) 2017-08-02 08:32:10 -07:00
Ashwini Chaudhary
baea852b62 Added stub for sre_parse and sre_constants(py3) (#1502)
* Added stub for sre_parse(py3)

* Fixed return type of SubPattern.__getitem__

* Typo

* Fix for issue related to error class

* Added stub for sre_constants(py3)

* Added missing import
2017-08-01 14:38:49 -07:00
Ashwini Chaudhary
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
blokeley
c5479b11bb Add private methods stubs to queue.Queue (#1507)
It is a common pattern to subclass queue.Queue and override the private methods _init, _get, _put and _qsize so they should have stubs.
2017-08-01 14:37:51 -07:00
Matthias Kramm
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
Jelle Zijlstra
2d97894fa9 collections: make UserDict, UserList, and UserString concrete (#1477)
* collections: make UserDict, UserList, and UserString concrete

* add version checks

573b44c18f

* remove redundant methods
2017-07-26 16:34:43 -07:00
Semyon Proshev
72fbc459a7 Add __init__ to types.MethodType (#1499) 2017-07-26 08:38:27 -07:00
Thomas Grainger
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
Luka Sterbic
34c8aa0d4c traceback: use StackSummary where possible (#1495) 2017-07-26 08:27:43 -07:00
Michael Lee
6d3024fb19 Add NoReturn type to typing stubs (#1496) 2017-07-20 21:24:34 -07:00
toejough
f6b013ba52 ignore type for mock.pyi inheritance from Any (#1492)
It is currently required to shut up mypy when run with `--strict`
or `--disallow-subclassing-any`. The `Any` base class is currently
the only way to allow passing an instance of `Mock` to functions
expecting other classes (as is Mock's purpose).
2017-07-19 11:33:59 -07:00
Jelle Zijlstra
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 Zijlstra
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
Jelle Zijlstra
32d9c8cb8f make io.IncrementalNewlineDecoder concrete (#1489)
Part of #1476
2017-07-19 20:28:25 +03:00
Jelle Zijlstra
74966bacd9 distutils: make Command classes non-abstract (#1488) 2017-07-19 20:28:16 +03:00
Jelle Zijlstra
ac651d2f8c Fix a few TODOs (#1487)
* fix some easy TODOs

* fix io
2017-07-19 20:27:50 +03:00
Jelle Zijlstra
1515ed9f88 fix some abstract classes in third_party/ (#1486) 2017-07-19 20:27:22 +03:00
Ashwini Chaudhary
11a479fd69 Add stub for formatter (#1481) 2017-07-18 19:19:14 -07:00
eujing
be31439168 Added missing Process fields; More accurate Optional parameters (#1483) 2017-07-18 19:17:23 -07:00
Ashwini Chaudhary
a4a34a0e73 Added stub for stringold module (#1460) 2017-07-16 15:08:27 -07:00
Thomas Grainger
2bb7ea9595 csv DictReader should only yield OrderedDicts in Py3.6 (#1478) 2017-07-14 21:58:52 -07:00
Ivan Levkivskyi
d75ea88da5 Use 'as name' patter to re-export names from stubs (PEP 484) (#1484) 2017-07-14 21:31:53 -07:00
rchen152
643aedea1b Fix the definition of LockType.__exit__. (#1485) 2017-07-13 17:30:51 -07:00