From ccdc609706949b9b7c54c0735b84c3dcf3f0ca5f Mon Sep 17 00:00:00 2001 From: Alexey Date: Tue, 24 Jan 2017 02:56:30 +0300 Subject: [PATCH] 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. --- .../{2 => 2and3}/sqlalchemy/__init__.pyi | 0 .../sqlalchemy/databases/__init__.pyi | 0 .../sqlalchemy/databases/mysql.pyi | 0 .../sqlalchemy/dialects/__init__.pyi | 0 .../sqlalchemy/dialects/mysql/__init__.pyi | 0 .../sqlalchemy/dialects/mysql/base.pyi | 0 .../sqlalchemy/engine/__init__.pyi | 0 .../{2 => 2and3}/sqlalchemy/engine/base.pyi | 0 .../sqlalchemy/engine/strategies.pyi | 0 .../{2 => 2and3}/sqlalchemy/engine/url.pyi | 0 third_party/{2 => 2and3}/sqlalchemy/exc.pyi | 0 .../{2 => 2and3}/sqlalchemy/inspection.pyi | 0 third_party/{2 => 2and3}/sqlalchemy/log.pyi | 0 .../{2 => 2and3}/sqlalchemy/orm/__init__.pyi | 6 ++-- .../{2 => 2and3}/sqlalchemy/orm/session.pyi | 2 +- third_party/2and3/sqlalchemy/orm/util.pyi | 12 +++++++ third_party/{2 => 2and3}/sqlalchemy/pool.pyi | 0 .../{2 => 2and3}/sqlalchemy/schema.pyi | 0 .../{2 => 2and3}/sqlalchemy/sql/__init__.pyi | 0 .../sqlalchemy/sql/annotation.pyi | 0 .../{2 => 2and3}/sqlalchemy/sql/base.pyi | 0 .../{2 => 2and3}/sqlalchemy/sql/ddl.pyi | 0 .../{2 => 2and3}/sqlalchemy/sql/dml.pyi | 0 .../{2 => 2and3}/sqlalchemy/sql/elements.pyi | 35 ++++++++++++++++++- .../sqlalchemy/sql/expression.pyi | 0 .../{2 => 2and3}/sqlalchemy/sql/functions.pyi | 0 .../{2 => 2and3}/sqlalchemy/sql/naming.pyi | 0 .../{2 => 2and3}/sqlalchemy/sql/operators.pyi | 0 .../{2 => 2and3}/sqlalchemy/sql/schema.pyi | 0 .../sqlalchemy/sql/selectable.pyi | 6 ++-- .../{2 => 2and3}/sqlalchemy/sql/sqltypes.pyi | 0 .../{2 => 2and3}/sqlalchemy/sql/type_api.pyi | 0 .../{2 => 2and3}/sqlalchemy/sql/visitors.pyi | 0 third_party/{2 => 2and3}/sqlalchemy/types.pyi | 0 .../{2 => 2and3}/sqlalchemy/util/__init__.pyi | 0 .../sqlalchemy/util/_collections.pyi | 0 .../{2 => 2and3}/sqlalchemy/util/compat.pyi | 4 +-- .../sqlalchemy/util/deprecations.pyi | 0 .../sqlalchemy/util/langhelpers.pyi | 0 39 files changed, 56 insertions(+), 9 deletions(-) rename third_party/{2 => 2and3}/sqlalchemy/__init__.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/databases/__init__.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/databases/mysql.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/dialects/__init__.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/dialects/mysql/__init__.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/dialects/mysql/base.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/engine/__init__.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/engine/base.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/engine/strategies.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/engine/url.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/exc.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/inspection.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/log.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/orm/__init__.pyi (97%) rename third_party/{2 => 2and3}/sqlalchemy/orm/session.pyi (98%) create mode 100644 third_party/2and3/sqlalchemy/orm/util.pyi rename third_party/{2 => 2and3}/sqlalchemy/pool.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/schema.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/__init__.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/annotation.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/base.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/ddl.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/dml.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/elements.pyi (62%) rename third_party/{2 => 2and3}/sqlalchemy/sql/expression.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/functions.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/naming.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/operators.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/schema.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/selectable.pyi (96%) rename third_party/{2 => 2and3}/sqlalchemy/sql/sqltypes.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/type_api.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/sql/visitors.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/types.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/util/__init__.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/util/_collections.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/util/compat.pyi (97%) rename third_party/{2 => 2and3}/sqlalchemy/util/deprecations.pyi (100%) rename third_party/{2 => 2and3}/sqlalchemy/util/langhelpers.pyi (100%) diff --git a/third_party/2/sqlalchemy/__init__.pyi b/third_party/2and3/sqlalchemy/__init__.pyi similarity index 100% rename from third_party/2/sqlalchemy/__init__.pyi rename to third_party/2and3/sqlalchemy/__init__.pyi diff --git a/third_party/2/sqlalchemy/databases/__init__.pyi b/third_party/2and3/sqlalchemy/databases/__init__.pyi similarity index 100% rename from third_party/2/sqlalchemy/databases/__init__.pyi rename to third_party/2and3/sqlalchemy/databases/__init__.pyi diff --git a/third_party/2/sqlalchemy/databases/mysql.pyi b/third_party/2and3/sqlalchemy/databases/mysql.pyi similarity index 100% rename from third_party/2/sqlalchemy/databases/mysql.pyi rename to third_party/2and3/sqlalchemy/databases/mysql.pyi diff --git a/third_party/2/sqlalchemy/dialects/__init__.pyi b/third_party/2and3/sqlalchemy/dialects/__init__.pyi similarity index 100% rename from third_party/2/sqlalchemy/dialects/__init__.pyi rename to third_party/2and3/sqlalchemy/dialects/__init__.pyi diff --git a/third_party/2/sqlalchemy/dialects/mysql/__init__.pyi b/third_party/2and3/sqlalchemy/dialects/mysql/__init__.pyi similarity index 100% rename from third_party/2/sqlalchemy/dialects/mysql/__init__.pyi rename to third_party/2and3/sqlalchemy/dialects/mysql/__init__.pyi diff --git a/third_party/2/sqlalchemy/dialects/mysql/base.pyi b/third_party/2and3/sqlalchemy/dialects/mysql/base.pyi similarity index 100% rename from third_party/2/sqlalchemy/dialects/mysql/base.pyi rename to third_party/2and3/sqlalchemy/dialects/mysql/base.pyi diff --git a/third_party/2/sqlalchemy/engine/__init__.pyi b/third_party/2and3/sqlalchemy/engine/__init__.pyi similarity index 100% rename from third_party/2/sqlalchemy/engine/__init__.pyi rename to third_party/2and3/sqlalchemy/engine/__init__.pyi diff --git a/third_party/2/sqlalchemy/engine/base.pyi b/third_party/2and3/sqlalchemy/engine/base.pyi similarity index 100% rename from third_party/2/sqlalchemy/engine/base.pyi rename to third_party/2and3/sqlalchemy/engine/base.pyi diff --git a/third_party/2/sqlalchemy/engine/strategies.pyi b/third_party/2and3/sqlalchemy/engine/strategies.pyi similarity index 100% rename from third_party/2/sqlalchemy/engine/strategies.pyi rename to third_party/2and3/sqlalchemy/engine/strategies.pyi diff --git a/third_party/2/sqlalchemy/engine/url.pyi b/third_party/2and3/sqlalchemy/engine/url.pyi similarity index 100% rename from third_party/2/sqlalchemy/engine/url.pyi rename to third_party/2and3/sqlalchemy/engine/url.pyi diff --git a/third_party/2/sqlalchemy/exc.pyi b/third_party/2and3/sqlalchemy/exc.pyi similarity index 100% rename from third_party/2/sqlalchemy/exc.pyi rename to third_party/2and3/sqlalchemy/exc.pyi diff --git a/third_party/2/sqlalchemy/inspection.pyi b/third_party/2and3/sqlalchemy/inspection.pyi similarity index 100% rename from third_party/2/sqlalchemy/inspection.pyi rename to third_party/2and3/sqlalchemy/inspection.pyi diff --git a/third_party/2/sqlalchemy/log.pyi b/third_party/2and3/sqlalchemy/log.pyi similarity index 100% rename from third_party/2/sqlalchemy/log.pyi rename to third_party/2and3/sqlalchemy/log.pyi diff --git a/third_party/2/sqlalchemy/orm/__init__.pyi b/third_party/2and3/sqlalchemy/orm/__init__.pyi similarity index 97% rename from third_party/2/sqlalchemy/orm/__init__.pyi rename to third_party/2and3/sqlalchemy/orm/__init__.pyi index 280dd024c..2abfdfc3e 100644 --- a/third_party/2/sqlalchemy/orm/__init__.pyi +++ b/third_party/2and3/sqlalchemy/orm/__init__.pyi @@ -1,4 +1,4 @@ -# Stubs for sqlalchemy.orm (Python 2) +# Stubs for sqlalchemy.orm (Python 2 and 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. @@ -6,7 +6,7 @@ from typing import Any # from . import mapper # from . import interfaces # from . import deprecated_interfaces -# from . import util +from . import util # from . import properties # from . import relationships # from . import descriptor_props @@ -27,7 +27,7 @@ from ..util import langhelpers # MapperExtension = deprecated_interfaces.MapperExtension # SessionExtension = deprecated_interfaces.SessionExtension # AttributeExtension = deprecated_interfaces.AttributeExtension -# aliased = util.aliased +aliased = util.aliased # join = util.join # object_mapper = util.object_mapper # outerjoin = util.outerjoin diff --git a/third_party/2/sqlalchemy/orm/session.pyi b/third_party/2and3/sqlalchemy/orm/session.pyi similarity index 98% rename from third_party/2/sqlalchemy/orm/session.pyi rename to third_party/2and3/sqlalchemy/orm/session.pyi index a53d619df..8e7d3964f 100644 --- a/third_party/2/sqlalchemy/orm/session.pyi +++ b/third_party/2and3/sqlalchemy/orm/session.pyi @@ -1,4 +1,4 @@ -# Stubs for sqlalchemy.orm.session (Python 2) +# Stubs for sqlalchemy.orm.session (Python 2 and 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. diff --git a/third_party/2and3/sqlalchemy/orm/util.pyi b/third_party/2and3/sqlalchemy/orm/util.pyi new file mode 100644 index 000000000..d3c000c3e --- /dev/null +++ b/third_party/2and3/sqlalchemy/orm/util.pyi @@ -0,0 +1,12 @@ +# Stubs for sqlalchemy.orm.session (Python 2 and 3) +from typing import Optional, Any, Text + +from ..sql.selectable import FromClause + +class AliasedClass(object): + def __init__(self, cls: Any, alias: Optional[FromClause] =None, name: Optional[Text] =None, flat: bool =False, adapt_on_names: bool =False, + with_polymorphic_mappers: Any =(), with_polymorphic_discriminator: Any =None, base_alias: Any =None, use_mapper_path: bool =False) -> None: ... + def __getattr__(self, key): ... + def __repr__(self): ... + +def aliased(element: Any, alias: Optional[FromClause] =None, name: Optional[Text] =None, flat: bool =False, adapt_on_names: bool =False) -> AliasedClass: ... diff --git a/third_party/2/sqlalchemy/pool.pyi b/third_party/2and3/sqlalchemy/pool.pyi similarity index 100% rename from third_party/2/sqlalchemy/pool.pyi rename to third_party/2and3/sqlalchemy/pool.pyi diff --git a/third_party/2/sqlalchemy/schema.pyi b/third_party/2and3/sqlalchemy/schema.pyi similarity index 100% rename from third_party/2/sqlalchemy/schema.pyi rename to third_party/2and3/sqlalchemy/schema.pyi diff --git a/third_party/2/sqlalchemy/sql/__init__.pyi b/third_party/2and3/sqlalchemy/sql/__init__.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/__init__.pyi rename to third_party/2and3/sqlalchemy/sql/__init__.pyi diff --git a/third_party/2/sqlalchemy/sql/annotation.pyi b/third_party/2and3/sqlalchemy/sql/annotation.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/annotation.pyi rename to third_party/2and3/sqlalchemy/sql/annotation.pyi diff --git a/third_party/2/sqlalchemy/sql/base.pyi b/third_party/2and3/sqlalchemy/sql/base.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/base.pyi rename to third_party/2and3/sqlalchemy/sql/base.pyi diff --git a/third_party/2/sqlalchemy/sql/ddl.pyi b/third_party/2and3/sqlalchemy/sql/ddl.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/ddl.pyi rename to third_party/2and3/sqlalchemy/sql/ddl.pyi diff --git a/third_party/2/sqlalchemy/sql/dml.pyi b/third_party/2and3/sqlalchemy/sql/dml.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/dml.pyi rename to third_party/2and3/sqlalchemy/sql/dml.pyi diff --git a/third_party/2/sqlalchemy/sql/elements.pyi b/third_party/2and3/sqlalchemy/sql/elements.pyi similarity index 62% rename from third_party/2/sqlalchemy/sql/elements.pyi rename to third_party/2and3/sqlalchemy/sql/elements.pyi index e2a8d38b2..d03d5d39f 100644 --- a/third_party/2/sqlalchemy/sql/elements.pyi +++ b/third_party/2and3/sqlalchemy/sql/elements.pyi @@ -1,3 +1,5 @@ +# Stubs for sqlalchemy.sql.elements (Python 2 and 3) +from typing import Text, Any from .visitors import Visitable from .annotation import Annotated @@ -7,7 +9,38 @@ from .. import util class ClauseElement(Visitable): ... -class ColumnElement(ColumnOperators, ClauseElement): ... +class ColumnElement(ColumnOperators, ClauseElement): + __visit_name__ = 'column' # type: Text + primary_key = False # type: Any + foreign_keys = [] # type: Any + _label = None + _key_label = key = None + _alt_names = () + def self_group(self, against=None): ... + def _negate(self): ... + @util.memoized_property + def type(self): ... + @util.memoized_property + def comparator(self): ... + def __getattr__(self, key): ... + def operate(self, op, *other, **kwargs): ... + def reverse_operate(self, op, other, **kwargs): ... + def _bind_param(self, operator, obj): ... + @property + def expression(self): ... + @property + def _select_iterable(self): ... + @util.memoized_property + def base_columns(self): ... + @util.memoized_property + def proxy_set(self): ... + def shares_lineage(self, othercolumn): ... + def _compare_name_for_result(self, other): ... + def _make_proxy(self, selectable, name=None, name_is_truncatable=False, **kw): ... + def compare(self, other, use_proxies=False, equivalents=None, **kw): ... + def label(self, name): ... + @util.memoized_property + def anon_label(self): ... class BindParameter(ColumnElement): ... class BinaryExpression(ColumnElement): ... diff --git a/third_party/2/sqlalchemy/sql/expression.pyi b/third_party/2and3/sqlalchemy/sql/expression.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/expression.pyi rename to third_party/2and3/sqlalchemy/sql/expression.pyi diff --git a/third_party/2/sqlalchemy/sql/functions.pyi b/third_party/2and3/sqlalchemy/sql/functions.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/functions.pyi rename to third_party/2and3/sqlalchemy/sql/functions.pyi diff --git a/third_party/2/sqlalchemy/sql/naming.pyi b/third_party/2and3/sqlalchemy/sql/naming.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/naming.pyi rename to third_party/2and3/sqlalchemy/sql/naming.pyi diff --git a/third_party/2/sqlalchemy/sql/operators.pyi b/third_party/2and3/sqlalchemy/sql/operators.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/operators.pyi rename to third_party/2and3/sqlalchemy/sql/operators.pyi diff --git a/third_party/2/sqlalchemy/sql/schema.pyi b/third_party/2and3/sqlalchemy/sql/schema.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/schema.pyi rename to third_party/2and3/sqlalchemy/sql/schema.pyi diff --git a/third_party/2/sqlalchemy/sql/selectable.pyi b/third_party/2and3/sqlalchemy/sql/selectable.pyi similarity index 96% rename from third_party/2/sqlalchemy/sql/selectable.pyi rename to third_party/2and3/sqlalchemy/sql/selectable.pyi index a3b192535..543349d64 100644 --- a/third_party/2/sqlalchemy/sql/selectable.pyi +++ b/third_party/2and3/sqlalchemy/sql/selectable.pyi @@ -1,3 +1,5 @@ +from typing import Any + from .base import Immutable, Executable, \ ColumnCollection, ColumnSet, Generative from .elements import ClauseElement, TextClause, ClauseList, \ @@ -35,9 +37,9 @@ class FromClause(Selectable): @property def columns(self): ... @property - def primary_key(self): ... + def primary_key(self) -> Any: ... @property - def foreign_keys(self): ... + def foreign_keys(self) -> Any: ... def _init_collections(self): ... @property def _cols_populated(self): ... diff --git a/third_party/2/sqlalchemy/sql/sqltypes.pyi b/third_party/2and3/sqlalchemy/sql/sqltypes.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/sqltypes.pyi rename to third_party/2and3/sqlalchemy/sql/sqltypes.pyi diff --git a/third_party/2/sqlalchemy/sql/type_api.pyi b/third_party/2and3/sqlalchemy/sql/type_api.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/type_api.pyi rename to third_party/2and3/sqlalchemy/sql/type_api.pyi diff --git a/third_party/2/sqlalchemy/sql/visitors.pyi b/third_party/2and3/sqlalchemy/sql/visitors.pyi similarity index 100% rename from third_party/2/sqlalchemy/sql/visitors.pyi rename to third_party/2and3/sqlalchemy/sql/visitors.pyi diff --git a/third_party/2/sqlalchemy/types.pyi b/third_party/2and3/sqlalchemy/types.pyi similarity index 100% rename from third_party/2/sqlalchemy/types.pyi rename to third_party/2and3/sqlalchemy/types.pyi diff --git a/third_party/2/sqlalchemy/util/__init__.pyi b/third_party/2and3/sqlalchemy/util/__init__.pyi similarity index 100% rename from third_party/2/sqlalchemy/util/__init__.pyi rename to third_party/2and3/sqlalchemy/util/__init__.pyi diff --git a/third_party/2/sqlalchemy/util/_collections.pyi b/third_party/2and3/sqlalchemy/util/_collections.pyi similarity index 100% rename from third_party/2/sqlalchemy/util/_collections.pyi rename to third_party/2and3/sqlalchemy/util/_collections.pyi diff --git a/third_party/2/sqlalchemy/util/compat.pyi b/third_party/2and3/sqlalchemy/util/compat.pyi similarity index 97% rename from third_party/2/sqlalchemy/util/compat.pyi rename to third_party/2and3/sqlalchemy/util/compat.pyi index 39ec058ea..191222ccf 100644 --- a/third_party/2/sqlalchemy/util/compat.pyi +++ b/third_party/2and3/sqlalchemy/util/compat.pyi @@ -1,6 +1,6 @@ # Stubs for sqlalchemy.util.compat (Python 2) -from typing import Any +from typing import Any, Text from collections import namedtuple import threading @@ -34,7 +34,7 @@ def inspect_getargspec(func): ... string_types = ... # type: Any binary_type = ... # type: Any -text_type = unicode +text_type = Text int_types = ... # type: Any def callable(fn): ... diff --git a/third_party/2/sqlalchemy/util/deprecations.pyi b/third_party/2and3/sqlalchemy/util/deprecations.pyi similarity index 100% rename from third_party/2/sqlalchemy/util/deprecations.pyi rename to third_party/2and3/sqlalchemy/util/deprecations.pyi diff --git a/third_party/2/sqlalchemy/util/langhelpers.pyi b/third_party/2and3/sqlalchemy/util/langhelpers.pyi similarity index 100% rename from third_party/2/sqlalchemy/util/langhelpers.pyi rename to third_party/2and3/sqlalchemy/util/langhelpers.pyi