Commit Graph

171 Commits

Author SHA1 Message Date
Bertrand Bonnefoy-Claudet 138073922d Allow user-defined kwargs passed to click.group (#1092)
Fixes #1086
2017-03-29 10:20:41 -07:00
Guido van Rossum 03bfcee0b8 Remove sqlalchemy. (#1105)
See discussion in https://github.com/python/typeshed/pull/1094.

If we do this we should make it easier in mypy to install 3rd party stubs that are used by default.
2017-03-28 08:25:00 -07:00
Thomas Ballinger 13bcc79c12 correct return value of Future.set_running_or_notify_cancel (#1078) 2017-03-22 16:59:07 -07:00
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
Stefan Urbanek 5b47bc956e Added SQLAlchemy annotations (#1029)
* Added SQLAlchemy annotations

* Made Connection and Engine sublcasses of Connectable (python/typeshed#1018)
* Moved execute() from Connection to Connectable
* Made RowProxy a Mapping and removed Mapping inherited methods
* Made ResultProxy an Iterator of RowProxy
* Added most relevant methods for fetching of ResultProxy
* Added where(), group_by(), order_by() and limit() to Select

* Follow squalchemy module structure

* Created sqlalchemy.engine.result and moved ResultProxy and RowProxy
  there
* Created sqlalchemy.engine.interfaces and moved Connectable there
* Added non-deprecated methods to Connectable: connect,
  contextual_connect and scalar
* Fixed return type of scalar() to Any

* Missed ResultProxy scalar return

... had it in Connectable only.
2017-03-21 23:11:41 -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
Semyon Proshev 4cd137189a Remove object as the only ancestor for classes in Python 3 stubs. 2017-03-18 14:57:57 -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
Richard Hansen 1abd14bbcd Allow old-style exception types for backported Future. (#946)
third_party/2/concurrent/futures is for the Python 2 backport of the
concurrent.futures package from Python 3.  In Python 3, all exceptions
are derived from BaseException, but Python 2 also supports exceptions
that are old-style objects (which don't derive from BaseException).
Switch from BaseException to Any to allow old-style exceptions.

All old-style objects are instances of types.InstanceType, so an
alternative to Any is Union[BaseException, types.InstanceType].  This
would help avoid accidentally passing a non-BaseException new-style
object to Future.set_exception().  However, only Executors call that
function (usually), and it's not clear that mypy understands old-style
objects and their relationship to types.InstanceType, so Any is
thought to be the more practical choice.
2017-03-14 09:35:06 -07:00
Łukasz Langa 05cba488a5 Revert "Fix click annotation syntax and add missing keyword arguments to subprocess (new in 3.76) (#999)"
This reverts commit 43a1f761b2.
2017-03-14 08:13:14 -07:00
Jelle Zijlstra f35f6860f3 add missing types to some arguments in third_party/3 (#994) 2017-03-14 08:12:14 -07:00
Antoine Reversat 43a1f761b2 Fix click annotation syntax and add missing keyword arguments to subprocess (new in 3.76) (#999)
* Fix click annotations

* Add encoding and errors keyword arguments (new in 3.6)
2017-03-14 08:02:12 -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
Hong Minhee a6e3e70d14 Add incorrect/missing types to Werkzeug wrappers (#969) 2017-03-10 15:54:20 -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
David Fisher 6e34fc9127 Remove semicolon in type (#976) 2017-03-07 14:33:55 -08:00
Samuel Colvin 0cb247e96f correct version_option arguments in click (#966) 2017-03-03 11:16:13 -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 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
Tim Abbott e3831d8d80 jinja2: Add InternationalizationExtension elements. (#942)
Fixes #927.
2017-02-20 11:09:44 -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
David Fisher 52dd4903d1 Update typed_ast for version 1.0 (#931) 2017-02-13 07:26:45 -08:00
Adam Marszałek ca36070d51 Improved pytz support for timezone function (#911) 2017-02-03 10:54:59 -08:00
Lucas Wiman 0d1015f00b Update type of six.string_types to Union[str, unicode] (#882) 2017-01-30 07:41:19 -08:00
Alexey f398628948 Adding pymysql stubs to third_party/2and3 (#861)
(Original by @ghagerer, extracted from #647 by @WouldYouKindly.)
2017-01-29 21:01:49 -08:00
Lukasz Langa c88d865520 Missing variable annotations were failing mypy tests 2017-01-24 15:21:55 -08:00
Alexey 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
Adam Marszałek 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 Lehtosalo 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
Alexey 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
Alexey 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
Roy Williams aa6a1c53c9 Add stubs for dateutil.tz (#839) 2017-01-17 15:54:15 -08:00
Russ Allbery 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
Ryan C. Thompson d18484095e atomicwrites: add pyi file (#705)
Authorized by atomicwrites author here:
https://github.com/untitaker/python-atomicwrites/pull/23#issuecomment-260422021
2017-01-09 15:13:48 -08:00
David Fisher 2cb8e184cc Add NoReturn (#811)
* Add NoReturn
2017-01-04 13:38:05 -08:00
Roy Williams 844b32cc64 Fixup types 2017-01-03 10:17:20 -08:00
Roy Williams 7fd08cf073 Add more type information to requests.PreparedRequest 2017-01-03 10:17:20 -08:00
Roy Williams c34f11d569 Add more specific types to protobuf 2017-01-01 11:31:03 -08:00
Alex Jurkiewicz f8717ccfc4 Add support for request.get's 'params' param (#770)
* Add support for request.get's 'params' param

Requests defines the following API:
`get(url, params=None, **kwargs)`

* Improve typing for requests.get(params)

Add support for string form, and tighten restrictions for the dict form
to allow only string keys/vals. Technically, anything is allowed since
the code (I guess) runs `str(key)` and `str(value)`, but it seems better
to keep the stub somewhat strict so it can help pick up potential
errors.
2016-12-28 11:24:03 -08:00
Mateusz Kurek 43f18bc830 Use specific types in dateutil.relativedelta stubs
Improve operator methods for dateutil.relativedelta stubs:
* `__add__` operator method could return other types than `relativedelta` (`datetime.date` or `datetime.datetime`)
* use specific types of operators args instead of Any
* mypy currently does not handle `Union` in op methods (see python/mypy#2129, python/mypy#1442, python/mypy#1264 for details), so I've overloaded it directly
2016-12-28 11:18:03 -08:00
David Euresti 8a8680371a Fix type for six.reraise to make it match sys.exc_info()
The docs for six say the simple case is `reraise(*sys.exc_info())`
2016-12-28 11:15:27 -08:00
Nicolas Duchastel de Montrouge 79c3a40a3a add missing constants (#791)
* add missing constants
* fix spaces for linter and remove duplicate entries
2016-12-24 20:44:57 -08:00
Guido van Rossum 231f00d7da Fix boto stubs.
Replace two `FIXME` comments with `type: ignore`.
See https://github.com/python/mypy/issues/1237.
2016-12-24 09:06:38 -08:00
Alex Jurkiewicz 8e9c53f1db Add basic stub for characteristic (#771)
See https://characteristic.readthedocs.io/en/stable/
2016-12-23 19:11:34 -08:00
Lukasz Langa 7853c26f79 Add missing Dict, List, Set, Tuple imports. 2016-12-22 16:12:04 -08:00
Lukasz Langa 937a3ca3fe Remove trailing whitespace 2016-12-22 15:59:29 -08:00
Lukasz Langa 4084296f3f Exclude boto from tests due to broken Liskov Substitution Principle
Starting with python/mypy#2521 mypy is performing stricter function signature
checks.

This makes the stubs diverge from the actual implementation but makes the stubs
internally consistent.  Since this is an actual typing issue in the base
implementation, we need to defer to the original authors to fix it.

Sadly, in this case the breakage is rather fundamental and unlikely to get
fixed by upstream. Consider:

```
  class AWSAuthConnection(object):
    def make_request(self, method, path, headers=None, data='', host=None,
      auth_path=None, sender=None, override_num_retries=None,
      params=None, retry_handler=None): ...

  class AWSQueryConnection(AWSAuthConnection):
    def make_request(self, action, params=None, path='/', verb='GET'): ...
```

Hence, until we have a workaround for the error produced by Mypy, we're
excluding those stubs from being tested against.
2016-12-22 15:54:20 -08:00