Commit Graph
61 Commits
Author SHA1 Message Date
Jelle Zijlstra 8318953a17 remove if TYPE_CHECKING in sqlalchemy stub (#1074)
This isn't needed in typeshed, since the stubs aren't executed.
2017-03-22 08:02:38 -07:00
Jelle Zijlstra a74c31270d fix version check in cgi (#1069) 2017-03-22 07:29:01 -07:00
Jelle Zijlstra 34575af8e4 Add core dev guidelines (#1058)
* Add core dev guidelines
* add link to "Squash and merge"
2017-03-21 08:36:00 -07:00
Jelle Zijlstra 7c2d82fcb5 Add to codecs.StreamReaderWriter stub (#1032)
* Add to codecs.StreamReaderWriter stub

Closes #732

* BinaryIO -> IO[_encoded]
2017-03-21 08:15:46 -07:00
Jelle Zijlstra 25464cf0a7 Merge pull request #991 from JetBrains/sproshev/pep-519
Update `open`, `os.fspath`, `os.fsencode`, `os.fsdecode`, `pathlib.PurePath` and `pathlib.Path` stubs due to PEP-519
2017-03-21 07:38:50 -07:00
Jelle Zijlstra c8fd85579f add py2 stubs for dis (by moving them into 2and3) (#1033)
Only a few functions were added in early py3 relative to py2, so it seems
fine to use a single stub. 3.4 made bigger API changes.
2017-03-21 06:00:50 -07:00
Jelle Zijlstra 53a42046cb Add tracemalloc (#1053)
* add stubs for tracemalloc

This one has especially nice documentation, even including type annotations.

* no PEP 526 so I can run tests locally

* fixes

* another one
2017-03-21 05:58:22 -07:00
Jelle Zijlstra 357f66db77 move cgi to 2and3 and add types (#1022)
* move cgi to 2and3 and add types

This is pretty stable between Python 2 and 3, and not very well documented.

* fix CI failures

* adjust comment

(want to force Travis to re-run)

* give up on overriding values
2017-03-21 05:56:52 -07:00
Jelle Zijlstra 111b7d646d add stubs for trace (#1055) 2017-03-21 05:54:48 -07:00
Jelle Zijlstra 2e1ebab0c8 Merge pull request #1054 from euresti/path_type
Use Union[bytes, Text] for paths in os.py
2017-03-20 22:51:51 -07:00
Jelle Zijlstra c628cd146b Merge pull request #1042 from gnoack/patch-1
5-ary and 6-ary izip
2017-03-20 21:35:44 -07:00
Jelle Zijlstra d4c54f9627 Merge pull request #1052 from python/jelle
Add Jelle to the team
2017-03-20 21:27:37 -07:00
Jelle Zijlstra 7ceee447f0 stubs for uu 2017-03-20 21:11:30 -07:00
Jelle Zijlstra e30f8f59ae stubs for wave (#1050)
* stubs for wave
* no PEP 526 for now
* fix missing import
2017-03-20 20:53:44 -07:00
Jelle Zijlstra 40db56e83c stubs for xdrlib 2017-03-20 20:32:44 -07:00
Jelle Zijlstra af222eace0 add stubs for zipapp (#1046)
* add zipapp
* add BinaryIO to _Path
2017-03-20 20:07:58 -07:00
Jelle Zijlstra dca9adb9d3 Add stubs for symtable (#1048)
* add symtable
* fix name
2017-03-20 20:00:52 -07:00
Jelle Zijlstra 48920fea7e Remove xxsubtype stubs (#1039)
As suggested by Guido
2017-03-20 08:43:19 -07:00
Jelle Zijlstra 7448f23d9f spwd: move to 2and3 and add missing argument 2017-03-20 08:39:24 -07:00
Jelle Zijlstra 658abe7c9e Merge and complete stubs for sysconfig (#1040)
* unify and complete sysconfig stubs

* add missing imports

* and another
2017-03-19 17:34:08 -07:00
Jelle Zijlstra ee22a489d9 quopri: unify 2 and 3, add types 2017-03-19 13:08:54 -07:00
Jelle Zijlstra 7906059adb pyclbr: move to 2and3 (#1034)
* pyclbr: move to 2and3

This module is completely identical between 2 and 3 in CPython (apart from a small few syntax changes).

* fix typo
2017-03-19 13:05:07 -07:00
Jelle Zijlstra 13dbbf9084 Add some missing types to urllib2 (#1012)
* add some missing types to urllib2 stubs

There are still a number of missing types in this file.

* uri is the union, not realm
2017-03-19 12:47:58 -07:00
Jelle Zijlstra 37a854630c merge 2 and 3 stubs for requests (#1017)
* merge 2 and 3 stubs for requests

* fix version comparison
2017-03-18 16:39:40 -07:00
Jelle Zijlstra db0c106d2f add Optional to ddirs 2017-03-18 15:16:56 -07:00
Jelle Zijlstra efdf2f1b17 add compileall stubs to 3 and add types to the ones in 2 (#1023)
* add compileall stubs to 3 and add types to the ones in 2

Didn't merge the stubs because all functions have additional parameters since 3.2,
so there would be no shared code between 2 and 3.

* add comment
2017-03-18 14:55:47 -07:00
Jelle Zijlstra cb7949b14e fixes to dis stubs (#1025)
- Add sys.version_info checks (mypy now supports them)
- Went over Python 3 docs and corrected a few things
- Reexport things that are imported from opcode
2017-03-18 14:50:31 -07:00
Jelle Zijlstra 5898d75913 stub for statistics (#1021)
* stub for statistics

* fix missing imports

* drop int from the typevar
2017-03-18 14:41:42 -07:00
Jelle Zijlstra 52dcfeed12 merge 2 and 3 stubs for unicodedata (#1013)
* merge 2 and 3 stubs for unicodedata
* fix a few return types to str in py2
2017-03-17 10:39:44 -07:00
Jelle Zijlstra 97e1ffff40 Modify the Python 3 stubs for requests to be Python 2-compatible
This works towards fixing #924. To make the changes easier to review, I'm planning to
fix the issue in two steps:
- This commit makes the 3 stubs compatible with py2
- The next PR will move the 3 stubs to 2and3 and remove the 2 stubs

I wrote this code by diffing the files in third_party/{2,3}/requests and making
appropriate changes to the Python 3 stubs (mostly str/Text stuff). I verified
that the 3 stubs now pass mypy when parsed as 2.7, but I don't have an annotated
requests-using codebase to test on.
2017-03-17 10:27:47 -07:00
Jelle Zijlstra 349ff59f33 change empty bodies from "pass" to "..."
CONTRIBUTING.md says to prefer ... Not the most impactful change but fixing
these will allow us to lint for it in the future and get a consistent style.
2017-03-16 09:13:08 -07:00
Jelle Zijlstra 48b1962951 drop union return type from getaddrinfo (#1002) 2017-03-14 11:45:09 -07:00
Jelle Zijlstra 11350ed8cc Fix missing argument types in py3 stdlib (#995)
Still missing a few in _subprocess (a Windows-only private module) and decimal
(I gave up).
2017-03-14 11:43:42 -07:00
Jelle Zijlstra f35f6860f3 add missing types to some arguments in third_party/3 (#994) 2017-03-14 08:12:14 -07:00
Jelle Zijlstra eb07fd3c1a make sure typevars defined in stubs are private (#989)
And also a few type aliases I noticed in the process.

Found using https://github.com/JelleZijlstra/stublint/commit/59f9cac0951f431fbc3abf8803adeaac6e489aac
2017-03-13 07:32:40 -07:00
Jelle Zijlstra 984307bf45 fix odd version comparisons (#988)
"> (3,)" works but looks like the code is checking for Python 4.

"<= (3, 5)" was intended to check for versions up to and including 3.5, and probably works that
way in current type checkers. However, sys.version_info is actually a 5-tuple that is greater
than (3, 5), so a hypothetical type checker that uses the full version info would interpret
this check incorrectly.

This ensures that all version_info comparisons use <, >=, ==, or !=.
2017-03-12 20:48:48 -07:00
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
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
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
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
Jelle Zijlstra 06074e1e02 expose asyncio.open_unix_connection if it exists (#879)
Also fix the one other place where hasattr() is used (which PEP 484 doesn't support).
2017-02-06 11:41:11 -08:00
Jelle Zijlstra 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
Jelle Zijlstra a9bb7f89d3 Fixes to subprocess.CompletedProcess (#895) 2017-01-29 20:16:49 -08:00
Jelle Zijlstra 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
Jelle Zijlstra 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
Jelle Zijlstra 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 Zijlstra 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
Jelle Zijlstra 511ff30f06 Make functions in asyncio.tasks accept Awaitables (#834) 2017-01-16 16:16:10 -08:00
Jelle Zijlstra f9135c5aa0 add __init_subclass__ to 3.6 (#813)
See also https://github.com/python/mypy/pull/2654
2017-01-09 09:22:20 -08:00
Jelle Zijlstra 918dab66d0 pstats: add stub (#727)
partially addresses #531
2016-12-13 14:51:57 -08:00
Jelle Zijlstra 97a6d27558 Make first argument to filter optional
```
$ python3.4
Python 3.4.3 (default, Nov 17 2016, 01:08:31) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> list(filter(None, [False, True]))
[True]
>>> 
```
2016-12-12 11:31:12 -08:00
Jelle Zijlstra 392eb4aa5a add stubs for Python 2 profile and cProfile (#699)
* add stubs for Python 2 profile and cProfile

Partially fixes #531. Contrary to the Python 2.7 docs at
https://docs.python.org/2/library/profile.html#module-cProfile,
these modules do not have exactly the same interface. For
example, profile.Profile() does not have an enable() method.

* profile stubs: move to 2and3, add __init__, use private names for typevars
2016-12-01 11:51:41 +00:00
Jelle Zijlstra ed4f9e9b0b urlencode: change parameters to Any instead of AnyStr (#715)
The implementation of this function calls str() on all arguments, so it accepts
any object (https://hg.python.org/cpython/file/3.5/Lib/urllib/parse.py#l801).

This was discussed on the mypy gitter chat.
2016-12-01 11:38:23 +00:00
Jelle Zijlstra b10125cd7d commands: add python 2 pyi file (#698)
Partially fixes issue #531
2016-11-23 12:14:03 +00:00
Jelle Zijlstra 7ac78b163d Remove BaseException.with_traceback in py2 (#697)
This method doesn't exist in Python 2; it was added in Python 3. See https://docs.python.org/2/library/exceptions.html#exceptions.BaseException versus https://docs.python.org/3/library/exceptions.html#BaseException.with_traceback.
2016-11-23 11:42:59 +00:00
Jelle Zijlstra 9bc07e7b9d fix typo in list.__delslice__ (#696) 2016-11-23 11:41:33 +00:00