From 1da3ae3055c24c161d0298f26d5a298bb7513a6c Mon Sep 17 00:00:00 2001 From: Trim21 Date: Thu, 25 Jun 2020 17:44:49 +0800 Subject: [PATCH 01/37] init commit --- third_party/2and3/peewee.pyi | 1734 ++++++++++++++++++++++++++++++++++ 1 file changed, 1734 insertions(+) create mode 100644 third_party/2and3/peewee.pyi diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi new file mode 100644 index 000000000000..8f4c0ef437b2 --- /dev/null +++ b/third_party/2and3/peewee.pyi @@ -0,0 +1,1734 @@ +import itertools +import logging +import threading +from collections import namedtuple +from typing import ( + Any, + Optional, + TypeVar, + Iterable, + Iterator, + Generator, + List, + Mapping, + Callable, + ContextManager, + Type, + Union, + Generic, + Dict, +) +import sqlite3 + +text_type = str +bytes_type = bytes +buffer_type = memoryview +basestring = str +long = int +izip_longest = itertools.zip_longest + +_SelfT = TypeVar("_SelfT") +T = TypeVar("T") +K = TypeVar("K") + +class attrdict(Dict[str, T], Generic[T]): + def __getattr__(self, attr: str) -> T: ... + def __setattr__(self, attr: str, value: T) -> None: ... + def __iadd__(self: _SelfT, rhs: Mapping[str, T]) -> _SelfT: ... + def __add__(self: _SelfT, rhs: Mapping[str, T]) -> _SelfT: ... + +OP: attrdict[str] +DJANGO_MAP: attrdict[Any] +JOIN: attrdict[str] + +def chunked(it: Iterator[T], n: int) -> Generator[List[T], None, None]: ... + +class _callable_context_manager(ContextManager[T]): + def __call__(self, fn: Callable[..., Any]): ... + +_CallBack = TypeVar("_CallBack", bound=Callable[[Any], None]) + +class Proxy: + def __init__(self) -> None: ... + obj: Any = ... + _callbacks: List[_CallBack] = ... + def initialize(self, obj: Any) -> None: ... + def attach_callback(self, callback: _CallBack) -> _CallBack: ... + def passthrough(method: Any): ... + __enter__: Callable[..., Any] = ... + __exit__: Callable[..., Any] = ... + def __getattr__(self, attr: Any) -> Any: ... + def __setattr__(self, attr: Any, value: Any) -> None: ... + +class DatabaseProxy(Proxy): + def connection_context(self) -> ConnectionContext: ... + def atomic(self, *args: Any, **kwargs: Any): ... + def manual_commit(self): ... + def transaction(self, *args: Any, **kwargs: Any): ... + def savepoint(self): ... + +class ModelDescriptor: ... + +class AliasManager: + def __init__(self) -> None: ... + @property + def mapping(self): ... + def add(self, source: Any): ... + def get(self, source: Any, any_depth: bool = ...): ... + def __getitem__(self, source: Any): ... + def __setitem__(self, source: Any, alias: Any) -> None: ... + def push(self) -> None: ... + def pop(self) -> None: ... + +class State: + def __new__(cls, scope: Any = ..., parentheses: bool = ..., **kwargs: Any): ... + def __call__(self, scope: Optional[Any] = ..., parentheses: Optional[Any] = ..., **kwargs: Any): ... + def __getattr__(self, attr_name: Any): ... + +class Context: + stack: Any = ... + alias_manager: Any = ... + state: Any = ... + def __init__(self, **settings: Any) -> None: ... + def as_new(self): ... + def column_sort_key(self, item: Any): ... + @property + def scope(self): ... + @property + def parentheses(self): ... + @property + def subquery(self): ... + def __call__(self, **overrides: Any): ... + scope_normal: Any = ... + scope_source: Any = ... + scope_values: Any = ... + scope_cte: Any = ... + scope_column: Any = ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + def push_alias(self) -> None: ... + def sql(self, obj: Any): ... + def literal(self, keyword: Any): ... + def value(self, value: Any, converter: Optional[Any] = ..., add_param: bool = ...): ... + def __sql__(self, ctx: Any): ... + def parse(self, node: Any): ... + def query(self): ... + +class Node: + def clone(self): ... + def __sql__(self, ctx: Any) -> None: ... + @staticmethod + def copy(method: Any): ... + def coerce(self, _coerce: bool = ...): ... + def is_alias(self): ... + def unwrap(self): ... + +class ColumnFactory: + node: Any = ... + def __init__(self, node: Any) -> None: ... + def __getattr__(self, attr: Any): ... + +class _DynamicColumn: + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + +class _ExplicitColumn: + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + +class Source(Node): + c: Any = ... + def __init__(self, alias: Optional[Any] = ...) -> None: ... + def alias(self, name: Any) -> None: ... + def select(self, *columns: Any): ... + def join(self, dest: Any, join_type: Any = ..., on: Optional[Any] = ...): ... + def left_outer_join(self, dest: Any, on: Optional[Any] = ...): ... + def cte(self, name: Any, recursive: bool = ..., columns: Optional[Any] = ..., materialized: Optional[Any] = ...): ... + def get_sort_key(self, ctx: Any): ... + def apply_alias(self, ctx: Any): ... + def apply_column(self, ctx: Any): ... + +class _HashableSource: + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def alias(self, name: Any) -> None: ... + def __hash__(self) -> Any: ... + def __eq__(self, other: Any) -> Any: ... + def __ne__(self, other: Any) -> Any: ... + __lt__: Any = ... + __le__: Any = ... + __gt__: Any = ... + __ge__: Any = ... + +class BaseTable(Source): + __and__: Any = ... + __add__: Any = ... + __sub__: Any = ... + __or__: Any = ... + __mul__: Any = ... + __rand__: Any = ... + __radd__: Any = ... + __rsub__: Any = ... + __ror__: Any = ... + __rmul__: Any = ... + +class _BoundTableContext(_callable_context_manager): + table: Any = ... + database: Any = ... + def __init__(self, table: Any, database: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + +class Table(_HashableSource, BaseTable): + __name__: Any = ... + c: Any = ... + primary_key: Any = ... + def __init__( + self, + name: Any, + columns: Optional[Any] = ..., + primary_key: Optional[Any] = ..., + schema: Optional[Any] = ..., + alias: Optional[Any] = ..., + _model: Optional[Any] = ..., + _database: Optional[Any] = ..., + ) -> None: ... + def clone(self): ... + def bind(self, database: Optional[Any] = ...): ... + def bind_ctx(self, database: Optional[Any] = ...): ... + def select(self, *columns: Any): ... + def insert(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any): ... + def replace(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any): ... + def update(self, update: Optional[Any] = ..., **kwargs: Any): ... + def delete(self): ... + def __sql__(self, ctx: Any): ... + +class Join(BaseTable): + lhs: Any = ... + rhs: Any = ... + join_type: Any = ... + def __init__(self, lhs: Any, rhs: Any, join_type: Any = ..., on: Optional[Any] = ..., alias: Optional[Any] = ...) -> None: ... + def on(self, predicate: Any): ... + def __sql__(self, ctx: Any): ... + +class ValuesList(_HashableSource, BaseTable): + def __init__(self, values: Any, columns: Optional[Any] = ..., alias: Optional[Any] = ...) -> None: ... + def columns(self, *names: Any) -> None: ... + def __sql__(self, ctx: Any): ... + +class CTE(_HashableSource, Source): + def __init__( + self, name: Any, query: Any, recursive: bool = ..., columns: Optional[Any] = ..., materialized: Optional[Any] = ... + ) -> None: ... + def select_from(self, *columns: Any): ... + def union_all(self, rhs: Any): ... + __add__: Any = ... + def union(self, rhs: Any): ... + __or__: Any = ... + def __sql__(self, ctx: Any): ... + +class ColumnBase(Node): + def alias(self, alias: Any): ... + def unalias(self): ... + def cast(self, as_type: Any): ... + def asc(self, collation: Optional[Any] = ..., nulls: Optional[Any] = ...): ... + __pos__: Any = ... + def desc(self, collation: Optional[Any] = ..., nulls: Optional[Any] = ...): ... + __neg__: Any = ... + def __invert__(self): ... + __and__: Any = ... + __or__: Any = ... + __add__: Any = ... + __sub__: Any = ... + __mul__: Any = ... + __div__: Any = ... + __truediv__: Any = ... + __xor__: Any = ... + __radd__: Any = ... + __rsub__: Any = ... + __rmul__: Any = ... + __rdiv__: Any = ... + __rtruediv__: Any = ... + __rand__: Any = ... + __ror__: Any = ... + __rxor__: Any = ... + def __eq__(self, rhs: Any) -> Any: ... + def __ne__(self, rhs: Any) -> Any: ... + __lt__: Any = ... + __le__: Any = ... + __gt__: Any = ... + __ge__: Any = ... + __lshift__: Any = ... + __rshift__: Any = ... + __mod__: Any = ... + __pow__: Any = ... + bin_and: Any = ... + bin_or: Any = ... + in_: Any = ... + not_in: Any = ... + regexp: Any = ... + def is_null(self, is_null: bool = ...): ... + def contains(self, rhs: Any): ... + def startswith(self, rhs: Any): ... + def endswith(self, rhs: Any): ... + def between(self, lo: Any, hi: Any): ... + def concat(self, rhs: Any): ... + def regexp(self, rhs: Any): ... + def iregexp(self, rhs: Any): ... + def __getitem__(self, item: Any): ... + def distinct(self): ... + def collate(self, collation: Any): ... + def get_sort_key(self, ctx: Any): ... + +class Column(ColumnBase): + source: Any = ... + name: Any = ... + def __init__(self, source: Any, name: Any) -> None: ... + def get_sort_key(self, ctx: Any): ... + def __hash__(self) -> Any: ... + def __sql__(self, ctx: Any): ... + +class WrappedNode(ColumnBase): + node: Any = ... + def __init__(self, node: Any) -> None: ... + def is_alias(self): ... + def unwrap(self): ... + +class EntityFactory: + node: Any = ... + def __init__(self, node: Any) -> None: ... + def __getattr__(self, attr: Any): ... + +class _DynamicEntity: + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + +class Alias(WrappedNode): + c: Any = ... + def __init__(self, node: Any, alias: Any) -> None: ... + def __hash__(self) -> Any: ... + def alias(self, alias: Optional[Any] = ...): ... + def unalias(self): ... + def is_alias(self): ... + def __sql__(self, ctx: Any): ... + +class Negated(WrappedNode): + def __invert__(self): ... + def __sql__(self, ctx: Any): ... + +class BitwiseMixin: + def __and__(self, other: Any): ... + def __or__(self, other: Any): ... + def __sub__(self, other: Any): ... + def __invert__(self): ... + +class BitwiseNegated(BitwiseMixin, WrappedNode): + def __invert__(self): ... + def __sql__(self, ctx: Any): ... + +class Value(ColumnBase): + value: Any = ... + converter: Any = ... + multi: Any = ... + values: Any = ... + def __init__(self, value: Any, converter: Optional[Any] = ..., unpack: bool = ...) -> None: ... + def __sql__(self, ctx: Any): ... + +def AsIs(value: Any): ... + +class Cast(WrappedNode): + def __init__(self, node: Any, cast: Any) -> None: ... + def __sql__(self, ctx: Any): ... + +class Ordering(WrappedNode): + direction: Any = ... + collation: Any = ... + nulls: Any = ... + def __init__(self, node: Any, direction: Any, collation: Optional[Any] = ..., nulls: Optional[Any] = ...) -> None: ... + def collate(self, collation: Optional[Any] = ...): ... + def __sql__(self, ctx: Any): ... + +class Expression(ColumnBase): + lhs: Any = ... + op: Any = ... + rhs: Any = ... + flat: Any = ... + def __init__(self, lhs: Any, op: Any, rhs: Any, flat: bool = ...) -> None: ... + def __sql__(self, ctx: Any): ... + +class StringExpression(Expression): + def __add__(self, rhs: Any): ... + def __radd__(self, lhs: Any): ... + +class Entity(ColumnBase): + def __init__(self, *path: Any) -> None: ... + def __getattr__(self, attr: Any): ... + def get_sort_key(self, ctx: Any): ... + def __hash__(self) -> Any: ... + def __sql__(self, ctx: Any): ... + +class SQL(ColumnBase): + sql: Any = ... + params: Any = ... + def __init__(self, sql: Any, params: Optional[Any] = ...) -> None: ... + def __sql__(self, ctx: Any): ... + +def Check(constraint: Any): ... + +class Function(ColumnBase): + name: Any = ... + arguments: Any = ... + def __init__(self, name: Any, arguments: Any, coerce: bool = ..., python_value: Optional[Any] = ...) -> None: ... + def __getattr__(self, attr: Any): ... + def filter(self, where: Optional[Any] = ...) -> None: ... + def order_by(self, *ordering: Any) -> None: ... + def python_value(self, func: Optional[Any] = ...) -> None: ... + def over( + self, + partition_by: Optional[Any] = ..., + order_by: Optional[Any] = ..., + start: Optional[Any] = ..., + end: Optional[Any] = ..., + frame_type: Optional[Any] = ..., + window: Optional[Any] = ..., + exclude: Optional[Any] = ..., + ): ... + def __sql__(self, ctx: Any): ... + +fn: Any + +class Window(Node): + CURRENT_ROW: Any = ... + GROUP: Any = ... + TIES: Any = ... + NO_OTHERS: Any = ... + GROUPS: str = ... + RANGE: str = ... + ROWS: str = ... + partition_by: Any = ... + order_by: Any = ... + start: Any = ... + end: Any = ... + frame_type: Any = ... + def __init__( + self, + partition_by: Optional[Any] = ..., + order_by: Optional[Any] = ..., + start: Optional[Any] = ..., + end: Optional[Any] = ..., + frame_type: Optional[Any] = ..., + extends: Optional[Any] = ..., + exclude: Optional[Any] = ..., + alias: Optional[Any] = ..., + _inline: bool = ..., + ) -> None: ... + def alias(self, alias: Optional[Any] = ...): ... + def as_range(self) -> None: ... + def as_rows(self) -> None: ... + def as_groups(self) -> None: ... + def extends(self, window: Optional[Any] = ...) -> None: ... + def exclude(self, frame_exclusion: Optional[Any] = ...) -> None: ... + @staticmethod + def following(value: Optional[Any] = ...): ... + @staticmethod + def preceding(value: Optional[Any] = ...): ... + def __sql__(self, ctx: Any): ... + +class WindowAlias(Node): + window: Any = ... + def __init__(self, window: Any) -> None: ... + def alias(self, window_alias: Any): ... + def __sql__(self, ctx: Any): ... + +class ForUpdate(Node): + def __init__(self, expr: Any, of: Optional[Any] = ..., nowait: Optional[Any] = ...) -> None: ... + def __sql__(self, ctx: Any): ... + +def Case(predicate: Any, expression_tuples: Any, default: Optional[Any] = ...): ... + +class NodeList(ColumnBase): + nodes: Any = ... + glue: Any = ... + parens: Any = ... + def __init__(self, nodes: Any, glue: str = ..., parens: bool = ...) -> None: ... + def __sql__(self, ctx: Any): ... + +class _Namespace(Node): + def __init__(self, name: Any) -> None: ... + def __getattr__(self, attr: Any): ... + __getitem__: Any = ... + +class NamespaceAttribute(ColumnBase): + def __init__(self, namespace: Any, attribute: Any) -> None: ... + def __sql__(self, ctx: Any): ... + +EXCLUDED: Any + +class DQ(ColumnBase): + query: Any = ... + def __init__(self, **query: Any) -> None: ... + def __invert__(self) -> None: ... + def clone(self): ... + +Tuple: Any + +class QualifiedNames(WrappedNode): + def __sql__(self, ctx: Any): ... + +class OnConflict(Node): + def __init__( + self, + action: Optional[Any] = ..., + update: Optional[Any] = ..., + preserve: Optional[Any] = ..., + where: Optional[Any] = ..., + conflict_target: Optional[Any] = ..., + conflict_where: Optional[Any] = ..., + conflict_constraint: Optional[Any] = ..., + ) -> None: ... + def get_conflict_statement(self, ctx: Any, query: Any): ... + def get_conflict_update(self, ctx: Any, query: Any): ... + def preserve(self, *columns: Any) -> None: ... + def update(self, _data: Optional[Any] = ..., **kwargs: Any) -> None: ... + def where(self, *expressions: Any) -> None: ... + def conflict_target(self, *constraints: Any) -> None: ... + def conflict_where(self, *expressions: Any) -> None: ... + def conflict_constraint(self, constraint: Any) -> None: ... + +class BaseQuery(Node): + default_row_type: Any = ... + def __init__(self, _database: Optional[Any] = ..., **kwargs: Any) -> None: ... + def bind(self, database: Optional[Any] = ...): ... + def clone(self): ... + def dicts(self, as_dict: bool = ...): ... + def tuples(self, as_tuple: bool = ...): ... + def namedtuples(self, as_namedtuple: bool = ...): ... + def objects(self, constructor: Optional[Any] = ...): ... + def __sql__(self, ctx: Any) -> None: ... + def sql(self): ... + def execute(self, database: Any): ... + def iterator(self, database: Optional[Any] = ...): ... + def __iter__(self) -> Any: ... + def __getitem__(self, value: Any): ... + def __len__(self): ... + +class RawQuery(BaseQuery): + def __init__(self, sql: Optional[Any] = ..., params: Optional[Any] = ..., **kwargs: Any) -> None: ... + def __sql__(self, ctx: Any): ... + +class Query(BaseQuery): + def __init__( + self, + where: Optional[Any] = ..., + order_by: Optional[Any] = ..., + limit: Optional[Any] = ..., + offset: Optional[Any] = ..., + **kwargs: Any, + ) -> None: ... + def with_cte(self, *cte_list: Any) -> None: ... + def where(self, *expressions: Any) -> None: ... + def orwhere(self, *expressions: Any) -> None: ... + def order_by(self, *values: Any) -> None: ... + def order_by_extend(self, *values: Any) -> None: ... + def limit(self, value: Optional[Any] = ...) -> None: ... + def offset(self, value: Optional[Any] = ...) -> None: ... + def paginate(self, page: Any, paginate_by: int = ...) -> None: ... + def __sql__(self, ctx: Any): ... + +class SelectQuery(Query): + union_all: Any = ... + __add__: Any = ... + union: Any = ... + __or__: Any = ... + intersect: Any = ... + __and__: Any = ... + except_: Any = ... + __sub__: Any = ... + __radd__: Any = ... + __ror__: Any = ... + __rand__: Any = ... + __rsub__: Any = ... + def select_from(self, *columns: Any): ... + +class SelectBase(_HashableSource, Source, SelectQuery): + def peek(self, database: Any, n: int = ...): ... + def first(self, database: Any, n: int = ...): ... + def scalar(self, database: Any, as_tuple: bool = ...): ... + def count(self, database: Any, clear_limit: bool = ...): ... + def exists(self, database: Any): ... + def get(self, database: Any): ... + +class CompoundSelectQuery(SelectBase): + lhs: Any = ... + op: Any = ... + rhs: Any = ... + def __init__(self, lhs: Any, op: Any, rhs: Any) -> None: ... + def exists(self, database: Any): ... + def __sql__(self, ctx: Any): ... + +class Select(SelectBase): + def __init__( + self, + from_list: Optional[Any] = ..., + columns: Optional[Any] = ..., + group_by: Optional[Any] = ..., + having: Optional[Any] = ..., + distinct: Optional[Any] = ..., + windows: Optional[Any] = ..., + for_update: Optional[Any] = ..., + for_update_of: Optional[Any] = ..., + nowait: Optional[Any] = ..., + lateral: Optional[Any] = ..., + **kwargs: Any, + ) -> None: ... + def clone(self): ... + def columns(self, *columns: Any, **kwargs: Any) -> None: ... + select: Any = ... + def select_extend(self, *columns: Any) -> None: ... + def from_(self, *sources: Any) -> None: ... + def join(self, dest: Any, join_type: Any = ..., on: Optional[Any] = ...) -> None: ... + def group_by(self, *columns: Any) -> None: ... + def group_by_extend(self, *values: Any): ... + def having(self, *expressions: Any) -> None: ... + def distinct(self, *columns: Any) -> None: ... + def window(self, *windows: Any) -> None: ... + def for_update(self, for_update: bool = ..., of: Optional[Any] = ..., nowait: Optional[Any] = ...) -> None: ... + def lateral(self, lateral: bool = ...) -> None: ... + def __sql_selection__(self, ctx: Any, is_subquery: bool = ...): ... + def __sql__(self, ctx: Any): ... + +class _WriteQuery(Query): + table: Any = ... + def __init__(self, table: Any, returning: Optional[Any] = ..., **kwargs: Any) -> None: ... + def returning(self, *returning: Any) -> None: ... + def apply_returning(self, ctx: Any): ... + def execute_returning(self, database: Any): ... + def handle_result(self, database: Any, cursor: Any): ... + def __sql__(self, ctx: Any): ... + +class Update(_WriteQuery): + def __init__(self, table: Any, update: Optional[Any] = ..., **kwargs: Any) -> None: ... + def from_(self, *sources: Any) -> None: ... + def __sql__(self, ctx: Any): ... + +class Insert(_WriteQuery): + SIMPLE: int = ... + QUERY: int = ... + MULTI: int = ... + class DefaultValuesException(Exception): ... + def __init__( + self, + table: Any, + insert: Optional[Any] = ..., + columns: Optional[Any] = ..., + on_conflict: Optional[Any] = ..., + **kwargs: Any, + ) -> None: ... + def where(self, *expressions: Any) -> None: ... + def on_conflict_ignore(self, ignore: bool = ...) -> None: ... + def on_conflict_replace(self, replace: bool = ...) -> None: ... + def on_conflict(self, *args: Any, **kwargs: Any) -> None: ... + def get_default_data(self): ... + def get_default_columns(self): ... + def __sql__(self, ctx: Any): ... + def handle_result(self, database: Any, cursor: Any): ... + +class Delete(_WriteQuery): + def __sql__(self, ctx: Any): ... + +class Index(Node): + def __init__( + self, + name: Any, + table: Any, + expressions: Any, + unique: bool = ..., + safe: bool = ..., + where: Optional[Any] = ..., + using: Optional[Any] = ..., + ) -> None: ... + def safe(self, _safe: bool = ...) -> None: ... + def where(self, *expressions: Any) -> None: ... + def using(self, _using: Optional[Any] = ...) -> None: ... + def __sql__(self, ctx: Any): ... + +class ModelIndex(Index): + def __init__( + self, + model: Any, + fields: Any, + unique: bool = ..., + safe: bool = ..., + where: Optional[Any] = ..., + using: Optional[Any] = ..., + name: Optional[Any] = ..., + ) -> None: ... + +class PeeweeException(Exception): + def __init__(self, *args: Any) -> None: ... + +class ImproperlyConfigured(PeeweeException): ... +class DatabaseError(PeeweeException): ... +class DataError(DatabaseError): ... +class IntegrityError(DatabaseError): ... +class InterfaceError(PeeweeException): ... +class InternalError(DatabaseError): ... +class NotSupportedError(DatabaseError): ... +class OperationalError(DatabaseError): ... +class ProgrammingError(DatabaseError): ... + +class ExceptionWrapper: + exceptions: Any = ... + def __init__(self, exceptions: Any) -> None: ... + def __enter__(self) -> None: ... + def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ... + +IndexMetadata = namedtuple("IndexMetadata", ["name", "sql", "columns", "unique", "table"]) + +ColumnMetadata = namedtuple("ColumnMetadata", ["name", "data_type", "null", "primary_key", "table", "default"]) + +ForeignKeyMetadata = namedtuple("ForeignKeyMetadata", ["column", "dest_table", "dest_column", "table"]) + +ViewMetadata = namedtuple("ViewMetadata", ["name", "sql"]) + +class _ConnectionState: + def __init__(self, **kwargs: Any) -> None: ... + closed: bool = ... + conn: Any = ... + ctx: Any = ... + transactions: Any = ... + def reset(self) -> None: ... + def set_connection(self, conn: Any) -> None: ... + +class _ConnectionLocal(_ConnectionState, threading.local): ... + +class _NoopLock: + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + +class ConnectionContext(_callable_context_manager): + db: Any = ... + def __init__(self, db: Any) -> None: ... + def __enter__(self) -> None: ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + +class Database(_callable_context_manager): + context_class: Any = ... + field_types: Any = ... + operations: Any = ... + param: str = ... + quote: str = ... + server_version: Any = ... + commit_select: bool = ... + compound_select_parentheses: Any = ... + for_update: bool = ... + index_schema_prefix: bool = ... + limit_max: Any = ... + nulls_ordering: bool = ... + returning_clause: bool = ... + safe_create_index: bool = ... + safe_drop_index: bool = ... + sequences: bool = ... + truncate_table: bool = ... + autoconnect: Any = ... + autorollback: Any = ... + thread_safe: Any = ... + connect_params: Any = ... + def __init__( + self, + database: Any, + thread_safe: bool = ..., + autorollback: bool = ..., + field_types: Optional[Any] = ..., + operations: Optional[Any] = ..., + autocommit: Optional[Any] = ..., + autoconnect: bool = ..., + **kwargs: Any, + ) -> None: ... + database: Any = ... + deferred: Any = ... + def init(self, database: Any, **kwargs: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + def connection_context(self): ... + def connect(self, reuse_if_open: bool = ...): ... + def close(self): ... + def is_closed(self): ... + def is_connection_usable(self): ... + def connection(self): ... + def cursor(self, commit: Optional[Any] = ...): ... + def execute_sql(self, sql: Any, params: Optional[Any] = ..., commit: Any = ...): ... + def execute(self, query: Any, commit: Any = ..., **context_options: Any): ... + def get_context_options(self): ... + def get_sql_context(self, **context_options: Any): ... + def conflict_statement(self, on_conflict: Any, query: Any) -> None: ... + def conflict_update(self, on_conflict: Any, query: Any) -> None: ... + def last_insert_id(self, cursor: Any, query_type: Optional[Any] = ...): ... + def rows_affected(self, cursor: Any): ... + def default_values_insert(self, ctx: Any): ... + def session_start(self): ... + def session_commit(self): ... + def session_rollback(self): ... + def in_transaction(self): ... + def push_transaction(self, transaction: Any) -> None: ... + def pop_transaction(self): ... + def transaction_depth(self): ... + def top_transaction(self): ... + def atomic(self, *args: Any, **kwargs: Any): ... + def manual_commit(self): ... + def transaction(self, *args: Any, **kwargs: Any): ... + def savepoint(self): ... + def begin(self) -> None: ... + def commit(self): ... + def rollback(self): ... + def batch_commit(self, it: Any, n: Any) -> None: ... + def table_exists(self, table_name: Any, schema: Optional[Any] = ...): ... + def get_tables(self, schema: Optional[Any] = ...) -> None: ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def get_columns(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def sequence_exists(self, seq: Any) -> None: ... + def create_tables(self, models: Any, **options: Any) -> None: ... + def drop_tables(self, models: Any, **kwargs: Any) -> None: ... + def extract_date(self, date_part: Any, date_field: Any) -> None: ... + def truncate_date(self, date_part: Any, date_field: Any) -> None: ... + def to_timestamp(self, date_field: Any) -> None: ... + def from_timestamp(self, date_field: Any) -> None: ... + def random(self): ... + def bind(self, models: Any, bind_refs: bool = ..., bind_backrefs: bool = ...) -> None: ... + def bind_ctx(self, models: Any, bind_refs: bool = ..., bind_backrefs: bool = ...): ... + def get_noop_select(self, ctx: Any): ... + +class SqliteDatabase(Database): + field_types: Any = ... + operations: Any = ... + index_schema_prefix: bool = ... + limit_max: int = ... + server_version: Any = ... + truncate_table: bool = ... + nulls_ordering: Any = ... + def __init__(self, database: Any, *args: Any, **kwargs: Any) -> None: ... + def init(self, database: Any, pragmas: Optional[Any] = ..., timeout: int = ..., **kwargs: Any) -> None: ... + def pragma(self, key: Any, value: Any = ..., permanent: bool = ..., schema: Optional[Any] = ...): ... + cache_size: Any = ... + foreign_keys: Any = ... + journal_mode: Any = ... + journal_size_limit: Any = ... + mmap_size: Any = ... + page_size: Any = ... + read_uncommitted: Any = ... + synchronous: Any = ... + wal_autocheckpoint: Any = ... + @property + def timeout(self): ... + @timeout.setter + def timeout(self, seconds: Any) -> None: ... + def register_aggregate(self, klass: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... + def aggregate(self, name: Optional[Any] = ..., num_params: int = ...): ... + def register_collation(self, fn: Any, name: Optional[Any] = ...): ... + def collation(self, name: Optional[Any] = ...): ... + def register_function(self, fn: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... + def func(self, name: Optional[Any] = ..., num_params: int = ...): ... + def register_window_function(self, klass: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... + def window_function(self, name: Optional[Any] = ..., num_params: int = ...): ... + def register_table_function(self, klass: Any, name: Optional[Any] = ...) -> None: ... + def table_function(self, name: Optional[Any] = ...): ... + def unregister_aggregate(self, name: Any) -> None: ... + def unregister_collation(self, name: Any) -> None: ... + def unregister_function(self, name: Any) -> None: ... + def unregister_window_function(self, name: Any) -> None: ... + def unregister_table_function(self, name: Any): ... + def load_extension(self, extension: Any) -> None: ... + def unload_extension(self, extension: Any) -> None: ... + def attach(self, filename: Any, name: Any): ... + def detach(self, name: Any): ... + def begin(self, lock_type: Optional[Any] = ...) -> None: ... + def get_tables(self, schema: Optional[Any] = ...): ... + def get_views(self, schema: Optional[Any] = ...): ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... + def get_columns(self, table: Any, schema: Optional[Any] = ...): ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_binary_type(self): ... + def conflict_statement(self, on_conflict: Any, query: Any): ... + def conflict_update(self, oc: Any, query: Any): ... + def extract_date(self, date_part: Any, date_field: Any): ... + def truncate_date(self, date_part: Any, date_field: Any): ... + def to_timestamp(self, date_field: Any): ... + def from_timestamp(self, date_field: Any): ... + +class PostgresqlDatabase(Database): + field_types: Any = ... + operations: Any = ... + param: str = ... + commit_select: bool = ... + compound_select_parentheses: Any = ... + for_update: bool = ... + nulls_ordering: bool = ... + returning_clause: bool = ... + safe_create_index: bool = ... + sequences: bool = ... + def init( + self, + database: Any, + register_unicode: bool = ..., + encoding: Optional[Any] = ..., + isolation_level: Optional[Any] = ..., + **kwargs: Any, + ) -> None: ... + def is_connection_usable(self): ... + def last_insert_id(self, cursor: Any, query_type: Optional[Any] = ...): ... + def get_tables(self, schema: Optional[Any] = ...): ... + def get_views(self, schema: Optional[Any] = ...): ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... + def get_columns(self, table: Any, schema: Optional[Any] = ...): ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... + def sequence_exists(self, sequence: Any): ... + def get_binary_type(self): ... + def conflict_statement(self, on_conflict: Any, query: Any) -> None: ... + def conflict_update(self, oc: Any, query: Any): ... + def extract_date(self, date_part: Any, date_field: Any): ... + def truncate_date(self, date_part: Any, date_field: Any): ... + def to_timestamp(self, date_field: Any): ... + def from_timestamp(self, date_field: Any): ... + def get_noop_select(self, ctx: Any): ... + def set_time_zone(self, timezone: Any) -> None: ... + +class MySQLDatabase(Database): + field_types: Any = ... + operations: Any = ... + param: str = ... + quote: str = ... + commit_select: bool = ... + compound_select_parentheses: Any = ... + for_update: bool = ... + limit_max: Any = ... + safe_create_index: bool = ... + safe_drop_index: bool = ... + sql_mode: str = ... + def init(self, database: Any, **kwargs: Any) -> None: ... + def default_values_insert(self, ctx: Any): ... + def get_tables(self, schema: Optional[Any] = ...): ... + def get_views(self, schema: Optional[Any] = ...): ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... + def get_columns(self, table: Any, schema: Optional[Any] = ...): ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_binary_type(self): ... + def conflict_statement(self, on_conflict: Any, query: Any): ... + def conflict_update(self, on_conflict: Any, query: Any): ... + def extract_date(self, date_part: Any, date_field: Any): ... + def truncate_date(self, date_part: Any, date_field: Any): ... + def to_timestamp(self, date_field: Any): ... + def from_timestamp(self, date_field: Any): ... + def random(self): ... + def get_noop_select(self, ctx: Any): ... + +class _manual(_callable_context_manager): + db: Any = ... + def __init__(self, db: Any) -> None: ... + def __enter__(self) -> None: ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + +class _atomic(_callable_context_manager): + db: Any = ... + def __init__(self, db: Any, *args: Any, **kwargs: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any): ... + +class _transaction(_callable_context_manager): + db: Any = ... + def __init__(self, db: Any, *args: Any, **kwargs: Any) -> None: ... + def commit(self, begin: bool = ...) -> None: ... + def rollback(self, begin: bool = ...) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + +class _savepoint(_callable_context_manager): + db: Any = ... + sid: Any = ... + quoted_sid: Any = ... + def __init__(self, db: Any, sid: Optional[Any] = ...) -> None: ... + def commit(self, begin: bool = ...) -> None: ... + def rollback(self) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + +class CursorWrapper: + cursor: Any = ... + count: int = ... + index: int = ... + initialized: bool = ... + populated: bool = ... + row_cache: Any = ... + def __init__(self, cursor: Any) -> None: ... + def __iter__(self) -> Any: ... + def __getitem__(self, item: Any): ... + def __len__(self): ... + def initialize(self) -> None: ... + def iterate(self, cache: bool = ...): ... + def process_row(self, row: Any): ... + def iterator(self) -> None: ... + def fill_cache(self, n: int = ...) -> None: ... + +class DictCursorWrapper(CursorWrapper): + initialize: Any = ... + process_row: Any = ... + +class NamedTupleCursorWrapper(CursorWrapper): + tuple_class: Any = ... + def initialize(self) -> None: ... + def process_row(self, row: Any): ... + +class ObjectCursorWrapper(DictCursorWrapper): + constructor: Any = ... + def __init__(self, cursor: Any, constructor: Any) -> None: ... + def process_row(self, row: Any): ... + +class ResultIterator: + cursor_wrapper: Any = ... + index: int = ... + def __init__(self, cursor_wrapper: Any) -> None: ... + def __iter__(self) -> Any: ... + def next(self): ... + __next__: Any = ... + +class FieldAccessor: + model: Any = ... + field: Any = ... + name: Any = ... + def __init__(self, model: Any, field: Any, name: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + +class ForeignKeyAccessor(FieldAccessor): + rel_model: Any = ... + def __init__(self, model: Any, field: Any, name: Any) -> None: ... + def get_rel_instance(self, instance: Any): ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, obj: Any) -> None: ... + +class NoQueryForeignKeyAccessor(ForeignKeyAccessor): + def get_rel_instance(self, instance: Any): ... + +class BackrefAccessor: + field: Any = ... + model: Any = ... + rel_model: Any = ... + def __init__(self, field: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + +class ObjectIdAccessor: + field: Any = ... + def __init__(self, field: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + +class Field(ColumnBase): + accessor_class: Any = ... + auto_increment: bool = ... + default_index_type: Any = ... + field_type: str = ... + unpack: bool = ... + null: Any = ... + index: Any = ... + unique: Any = ... + column_name: Any = ... + default: Any = ... + primary_key: Any = ... + constraints: Any = ... + sequence: Any = ... + collation: Any = ... + unindexed: Any = ... + choices: Any = ... + help_text: Any = ... + verbose_name: Any = ... + index_type: Any = ... + def __init__( + self, + null: bool = ..., + index: bool = ..., + unique: bool = ..., + column_name: Optional[Any] = ..., + default: Optional[Any] = ..., + primary_key: bool = ..., + constraints: Optional[Any] = ..., + sequence: Optional[Any] = ..., + collation: Optional[Any] = ..., + unindexed: bool = ..., + choices: Optional[Any] = ..., + help_text: Optional[Any] = ..., + verbose_name: Optional[Any] = ..., + index_type: Optional[Any] = ..., + db_column: Optional[Any] = ..., + _hidden: bool = ..., + ) -> None: ... + def __hash__(self) -> Any: ... + model: Any = ... + name: Any = ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + @property + def column(self): ... + def adapt(self, value: Any): ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + def to_value(self, value: Any): ... + def get_sort_key(self, ctx: Any): ... + def __sql__(self, ctx: Any): ... + def get_modifiers(self) -> None: ... + def ddl_datatype(self, ctx: Any): ... + def ddl(self, ctx: Any): ... + +class IntegerField(Field): + field_type: str = ... + def adapt(self, value: Any): ... + +class BigIntegerField(IntegerField): + field_type: str = ... + +class SmallIntegerField(IntegerField): + field_type: str = ... + +class AutoField(IntegerField): + auto_increment: bool = ... + field_type: str = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + +class BigAutoField(AutoField): + field_type: str = ... + +class IdentityField(AutoField): + field_type: str = ... + def __init__(self, generate_always: bool = ..., **kwargs: Any) -> None: ... + +class PrimaryKeyField(AutoField): + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + +class FloatField(Field): + field_type: str = ... + def adapt(self, value: Any): ... + +class DoubleField(FloatField): + field_type: str = ... + +class DecimalField(Field): + field_type: str = ... + max_digits: Any = ... + decimal_places: Any = ... + auto_round: Any = ... + rounding: Any = ... + def __init__( + self, + max_digits: int = ..., + decimal_places: int = ..., + auto_round: bool = ..., + rounding: Optional[Any] = ..., + *args: Any, + **kwargs: Any, + ) -> None: ... + def get_modifiers(self): ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + +class _StringField(Field): + def adapt(self, value: Any): ... + def __add__(self, other: Any): ... + def __radd__(self, other: Any): ... + +class CharField(_StringField): + field_type: str = ... + max_length: Any = ... + def __init__(self, max_length: int = ..., *args: Any, **kwargs: Any) -> None: ... + def get_modifiers(self): ... + +class FixedCharField(CharField): + field_type: str = ... + def python_value(self, value: Any): ... + +class TextField(_StringField): + field_type: str = ... + +class BlobField(Field): + field_type: str = ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...): ... + def db_value(self, value: Any): ... + +class BitField(BitwiseMixin, BigIntegerField): + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def flag(self, value: Optional[Any] = ...): ... + +class BigBitFieldData: + instance: Any = ... + name: Any = ... + def __init__(self, instance: Any, name: Any) -> None: ... + def set_bit(self, idx: Any) -> None: ... + def clear_bit(self, idx: Any) -> None: ... + def toggle_bit(self, idx: Any): ... + def is_set(self, idx: Any): ... + +class BigBitFieldAccessor(FieldAccessor): + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + +class BigBitField(BlobField): + accessor_class: Any = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def db_value(self, value: Any): ... + +class UUIDField(Field): + field_type: str = ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + +class BinaryUUIDField(BlobField): + field_type: str = ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + +class _BaseFormattedField(Field): + formats: Any = ... + def __init__(self, formats: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... + +class DateTimeField(_BaseFormattedField): + field_type: str = ... + formats: Any = ... + def adapt(self, value: Any): ... + def to_timestamp(self): ... + def truncate(self, part: Any): ... + year: Any = ... + month: Any = ... + day: Any = ... + hour: Any = ... + minute: Any = ... + second: Any = ... + +class DateField(_BaseFormattedField): + field_type: str = ... + formats: Any = ... + def adapt(self, value: Any): ... + def to_timestamp(self): ... + def truncate(self, part: Any): ... + year: Any = ... + month: Any = ... + day: Any = ... + +class TimeField(_BaseFormattedField): + field_type: str = ... + formats: Any = ... + def adapt(self, value: Any): ... + hour: Any = ... + minute: Any = ... + second: Any = ... + +class TimestampField(BigIntegerField): + valid_resolutions: Any = ... + resolution: Any = ... + ticks_to_microsecond: Any = ... + utc: Any = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def local_to_utc(self, dt: Any): ... + def utc_to_local(self, dt: Any): ... + def get_timestamp(self, value: Any): ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + def from_timestamp(self): ... + year: Any = ... + month: Any = ... + day: Any = ... + hour: Any = ... + minute: Any = ... + second: Any = ... + +class IPField(BigIntegerField): + def db_value(self, val: Any): ... + def python_value(self, val: Any): ... + +class BooleanField(Field): + field_type: str = ... + adapt: Any = ... + +class BareField(Field): + adapt: Any = ... + def __init__(self, adapt: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... + def ddl_datatype(self, ctx: Any) -> None: ... + +class ForeignKeyField(Field): + accessor_class: Any = ... + rel_model: Any = ... + rel_field: Any = ... + declared_backref: Any = ... + backref: Any = ... + on_delete: Any = ... + on_update: Any = ... + deferrable: Any = ... + deferred: Any = ... + object_id_name: Any = ... + lazy_load: Any = ... + def __init__( + self, + model: Any, + field: Optional[Any] = ..., + backref: Optional[Any] = ..., + on_delete: Optional[Any] = ..., + on_update: Optional[Any] = ..., + deferrable: Optional[Any] = ..., + _deferred: Optional[Any] = ..., + rel_model: Optional[Any] = ..., + to_field: Optional[Any] = ..., + object_id_name: Optional[Any] = ..., + lazy_load: bool = ..., + related_name: Optional[Any] = ..., + *args: Any, + **kwargs: Any, + ) -> None: ... + @property + def field_type(self): ... + def get_modifiers(self): ... + def adapt(self, value: Any): ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + column_name: Any = ... + safe_name: Any = ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + def foreign_key_constraint(self): ... + def __getattr__(self, attr: Any): ... + +class DeferredForeignKey(Field): + field_kwargs: Any = ... + rel_model_name: Any = ... + def __init__(self, rel_model_name: Any, **kwargs: Any) -> None: ... + __hash__: Any = ... + def __deepcopy__(self, memo: Optional[Any] = ...): ... + def set_model(self, rel_model: Any) -> None: ... + @staticmethod + def resolve(model_cls: Any) -> None: ... + +class DeferredThroughModel: + def __init__(self) -> None: ... + def set_field(self, model: Any, field: Any, name: Any) -> None: ... + def set_model(self, through_model: Any) -> None: ... + +class MetaField(Field): + column_name: Any = ... + default: Any = ... + model: Any = ... + name: Any = ... + primary_key: bool = ... + +class ManyToManyFieldAccessor(FieldAccessor): + model: Any = ... + rel_model: Any = ... + through_model: Any = ... + src_fk: Any = ... + dest_fk: Any = ... + def __init__(self, model: Any, field: Any, name: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ..., force_query: bool = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + +class ManyToManyField(MetaField): + accessor_class: Any = ... + rel_model: Any = ... + backref: Any = ... + def __init__( + self, + model: Any, + backref: Optional[Any] = ..., + through_model: Optional[Any] = ..., + on_delete: Optional[Any] = ..., + on_update: Optional[Any] = ..., + _is_backref: bool = ..., + ) -> None: ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + def get_models(self): ... + @property + def through_model(self): ... + @through_model.setter + def through_model(self, value: Any) -> None: ... + def get_through_model(self): ... + +class VirtualField(MetaField): + field_class: Any = ... + field_instance: Any = ... + def __init__(self, field_class: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + model: Any = ... + column_name: Any = ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + +class CompositeKey(MetaField): + sequence: Any = ... + field_names: Any = ... + def __init__(self, *field_names: Any) -> None: ... + @property + def safe_field_names(self): ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + def __eq__(self, other: Any) -> Any: ... + def __ne__(self, other: Any) -> Any: ... + def __hash__(self) -> Any: ... + def __sql__(self, ctx: Any): ... + model: Any = ... + column_name: Any = ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + +class _SortedFieldList: + def __init__(self) -> None: ... + def __getitem__(self, i: Any): ... + def __iter__(self) -> Any: ... + def __contains__(self, item: Any): ... + def index(self, field: Any): ... + def insert(self, item: Any) -> None: ... + def remove(self, item: Any) -> None: ... + +class SchemaManager: + model: Any = ... + context_options: Any = ... + def __init__(self, model: Any, database: Optional[Any] = ..., **context_options: Any) -> None: ... + @property + def database(self): ... + @database.setter + def database(self, value: Any) -> None: ... + def create_table(self, safe: bool = ..., **options: Any) -> None: ... + def create_table_as(self, table_name: Any, query: Any, safe: bool = ..., **meta: Any) -> None: ... + def drop_table(self, safe: bool = ..., **options: Any) -> None: ... + def truncate_table(self, restart_identity: bool = ..., cascade: bool = ...) -> None: ... + def create_indexes(self, safe: bool = ...) -> None: ... + def drop_indexes(self, safe: bool = ...) -> None: ... + def create_sequence(self, field: Any) -> None: ... + def drop_sequence(self, field: Any) -> None: ... + def create_foreign_key(self, field: Any) -> None: ... + def create_sequences(self) -> None: ... + def create_all(self, safe: bool = ..., **table_options: Any) -> None: ... + def drop_sequences(self) -> None: ... + def drop_all(self, safe: bool = ..., drop_sequences: bool = ..., **options: Any) -> None: ... + +class Metadata: + model: Any = ... + database: Any = ... + fields: Any = ... + columns: Any = ... + combined: Any = ... + sorted_fields: Any = ... + sorted_field_names: Any = ... + defaults: Any = ... + name: Any = ... + table_function: Any = ... + legacy_table_names: Any = ... + table_name: Any = ... + indexes: Any = ... + constraints: Any = ... + primary_key: Any = ... + composite_key: Any = ... + only_save_dirty: Any = ... + depends_on: Any = ... + table_settings: Any = ... + without_rowid: Any = ... + temporary: Any = ... + refs: Any = ... + backrefs: Any = ... + model_refs: Any = ... + model_backrefs: Any = ... + manytomany: Any = ... + options: Any = ... + def __init__( + self, + model: Any, + database: Optional[Any] = ..., + table_name: Optional[Any] = ..., + indexes: Optional[Any] = ..., + primary_key: Optional[Any] = ..., + constraints: Optional[Any] = ..., + schema: Optional[Any] = ..., + only_save_dirty: bool = ..., + depends_on: Optional[Any] = ..., + options: Optional[Any] = ..., + db_table: Optional[Any] = ..., + table_function: Optional[Any] = ..., + table_settings: Optional[Any] = ..., + without_rowid: bool = ..., + temporary: bool = ..., + legacy_table_names: bool = ..., + **kwargs: Any, + ) -> None: ... + def make_table_name(self): ... + def model_graph(self, refs: bool = ..., backrefs: bool = ..., depth_first: bool = ...): ... + def add_ref(self, field: Any) -> None: ... + def remove_ref(self, field: Any) -> None: ... + def add_manytomany(self, field: Any) -> None: ... + def remove_manytomany(self, field: Any) -> None: ... + @property + def table(self): ... + @table.setter + def table(self, value: Any) -> None: ... + def table(self) -> None: ... + @property + def schema(self): ... + @schema.setter + def schema(self, value: Any) -> None: ... + @property + def entity(self): ... + def get_rel_for_model(self, model: Any): ... + def add_field(self, field_name: Any, field: Any, set_attribute: bool = ...) -> None: ... + def remove_field(self, field_name: Any) -> None: ... + auto_increment: Any = ... + def set_primary_key(self, name: Any, field: Any) -> None: ... + def get_primary_keys(self): ... + def get_default_dict(self): ... + def fields_to_index(self): ... + def set_database(self, database: Any) -> None: ... + def set_table_name(self, table_name: Any) -> None: ... + +class SubclassAwareMetadata(Metadata): + models: Any = ... + def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... + def map_models(self, fn: Any) -> None: ... + +class DoesNotExist(Exception): ... + +class ModelBase(type): + inheritable: Any = ... + def __new__(cls, name: Any, bases: Any, attrs: Any): ... + def __iter__(self) -> Any: ... + def __getitem__(self, key: Any): ... + def __setitem__(self, key: Any, value: Any) -> None: ... + def __delitem__(self, key: Any) -> None: ... + def __contains__(self, key: Any): ... + def __len__(self): ... + def __bool__(self): ... + __nonzero__: Any = ... + def __sql__(self, ctx: Any): ... + +class _BoundModelsContext(_callable_context_manager): + models: Any = ... + database: Any = ... + bind_refs: Any = ... + bind_backrefs: Any = ... + def __init__(self, models: Any, database: Any, bind_refs: Any, bind_backrefs: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + +_Cls = TypeVar("_Cls") + +class Model: + __data__: Dict[str, Any] = ... + __rel__: Any = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + @classmethod + def validate_model(cls) -> None: ... + @classmethod + def alias(cls, alias: Optional[str] = ...) -> ModelAlias: ... + @classmethod + def select(cls, *fields: Any): ... + @classmethod + def update(cls, __data: Optional[Any] = ..., **update: Any): ... + @classmethod + def insert(cls, __data: Optional[Any] = ..., **insert: Any): ... + @classmethod + def insert_many(cls, rows: Any, fields: Optional[Any] = ...): ... + @classmethod + def insert_from(cls, query: Any, fields: Any): ... + @classmethod + def replace(cls, __data: Optional[Any] = ..., **insert: Any): ... + @classmethod + def replace_many(cls, rows: Any, fields: Optional[Any] = ...): ... + @classmethod + def raw(cls, sql: Any, *params: Any): ... + @classmethod + def delete(cls): ... + @classmethod + def create(cls: Type[_Cls], **query: Any) -> _Cls: ... + @classmethod + def bulk_create(cls, model_list: Any, batch_size: Optional[Any] = ...) -> None: ... + @classmethod + def bulk_update(cls, model_list: Any, fields: Any, batch_size: Optional[Any] = ...): ... + @classmethod + def noop(cls): ... + @classmethod + def get(cls: Type[_Cls], *query: Any, **filters: Any) -> _Cls: ... + @classmethod + def get_or_none(cls: Type[_Cls], *query: Any, **filters: Any) -> Optional[_Cls]: ... + @classmethod + def get_by_id(cls: Type[_Cls], pk: Any) -> _Cls: ... + @classmethod + def set_by_id(cls, key: Any, value: Any): ... + @classmethod + def delete_by_id(cls, pk: Any): ... + @classmethod + def get_or_create(cls, **kwargs: Any): ... + @classmethod + def filter(cls, *dq_nodes: Any, **filters: Any): ... + def get_id(self): ... + def save(self, force_insert: bool = ..., only: Optional[Any] = ...): ... + def is_dirty(self): ... + @property + def dirty_fields(self): ... + def dependencies(self, search_nullable: bool = ...) -> None: ... + def delete_instance(self, recursive: bool = ..., delete_nullable: bool = ...): ... + def __hash__(self) -> Any: ... + def __eq__(self, other: Any) -> Any: ... + def __ne__(self, other: Any) -> Any: ... + def __sql__(self, ctx: Any): ... + @classmethod + def bind(cls, database: Any, bind_refs: bool = ..., bind_backrefs: bool = ..., _exclude: Optional[Any] = ...): ... + @classmethod + def bind_ctx(cls, database: Any, bind_refs: bool = ..., bind_backrefs: bool = ...): ... + @classmethod + def table_exists(cls): ... + @classmethod + def create_table(cls, safe: bool = ..., **options: Any) -> None: ... + @classmethod + def drop_table(cls, safe: bool = ..., drop_sequences: bool = ..., **options: Any) -> None: ... + @classmethod + def truncate_table(cls, **options: Any) -> None: ... + @classmethod + def index(cls, *fields: Any, **kwargs: Any): ... + @classmethod + def add_index(cls, *fields: Any, **kwargs: Any) -> None: ... + +class ModelAlias(Node): + def __init__(self, model: Type[Model], alias: Optional[str] = ...) -> None: ... + def __getattr__(self, attr: Any) -> Any: ... + def get_field_aliases(self) -> List[str]: ... + def select(self, *selection: Union[Field, str, Model, ModelAlias, Table]) -> ModelSelect: ... + def __call__(self, **kwargs: Any): ... + def __sql__(self, ctx: Any): ... + +class FieldAlias(Field): + source: Any = ... + model: Any = ... + field: Any = ... + def __init__(self, source: Any, field: Any) -> None: ... + @classmethod + def create(cls, source: Any, field: Any): ... + def clone(self): ... + def adapt(self, value: Any): ... + def python_value(self, value: Any): ... + def db_value(self, value: Any): ... + def __getattr__(self, attr: Any): ... + def __sql__(self, ctx: Any): ... + +class _ModelQueryHelper: + default_row_type: Any = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def objects(self, constructor: Optional[Any] = ...) -> None: ... + +class ModelRaw(_ModelQueryHelper, RawQuery): + model: Any = ... + def __init__(self, model: Any, sql: Any, params: Any, **kwargs: Any) -> None: ... + def get(self): ... + +class BaseModelSelect(_ModelQueryHelper): + def union_all(self, rhs: Any): ... + __add__: Any = ... + def union(self, rhs: Any): ... + __or__: Any = ... + def intersect(self, rhs: Any): ... + __and__: Any = ... + def except_(self, rhs: Any): ... + __sub__: Any = ... + def __iter__(self) -> Any: ... + def prefetch(self, *subqueries: Any): ... + def get(self, database: Optional[Any] = ...): ... + def group_by(self, *columns: Any) -> None: ... + +class ModelCompoundSelectQuery(BaseModelSelect, CompoundSelectQuery): + model: Any = ... + def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... + +_Selection = Union[Field, str, Model, ModelAlias, Table] + +class ModelSelect(BaseModelSelect, Select): + model: Any = ... + def __init__( + self, + model: Union[Type[Model], model, Type[ModelAlias], ModelAlias], + fields_or_models: List[_Selection], + is_default: bool = ..., + ) -> None: ... + def clone(self) -> ModelSelect: ... + def select(self, *fields_or_models: List[_Selection]) -> ModelSelect: ... + def switch(self: _SelfT, ctx: Optional[Any] = ...) -> _SelfT: ... + def join( + self, dest: Any, join_type: str = ..., on: Optional[Any] = ..., src: Optional[Any] = ..., attr: Optional[Any] = ... + ) -> None: ... + def join_from(self, src: Any, dest: Any, join_type: Any = ..., on: Optional[Any] = ..., attr: Optional[Any] = ...): ... + def ensure_join(self, lm: Any, rm: Any, on: Optional[Any] = ..., **join_kwargs: Any): ... + def convert_dict_to_node(self, qdict: Any): ... + def filter(self, *args: Any, **kwargs: Any): ... + def create_table(self, name: Any, safe: bool = ..., **meta: Any): ... + def __sql_selection__(self, ctx: Any, is_subquery: bool = ...): ... + +class NoopModelSelect(ModelSelect): + def __sql__(self, ctx: Any): ... + +class _ModelWriteQueryHelper(_ModelQueryHelper): + model: Any = ... + def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... + def returning(self, *returning: Any): ... + +class ModelUpdate(_ModelWriteQueryHelper, Update): ... + +class ModelInsert(_ModelWriteQueryHelper, Insert): + default_row_type: Any = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def returning(self, *returning: Any): ... + def get_default_data(self): ... + def get_default_columns(self): ... + +class ModelDelete(_ModelWriteQueryHelper, Delete): ... + +class ManyToManyQuery(ModelSelect): + def __init__(self, instance: Any, accessor: Any, rel: Any, *args: Any, **kwargs: Any) -> None: ... + def add(self, value: Any, clear_existing: bool = ...) -> None: ... + def remove(self, value: Any): ... + def clear(self): ... + +class BaseModelCursorWrapper(DictCursorWrapper): + model: Any = ... + select: Any = ... + def __init__(self, cursor: Any, model: Any, columns: Any) -> None: ... + initialize: Any = ... + def process_row(self, row: Any) -> None: ... + +class ModelDictCursorWrapper(BaseModelCursorWrapper): + def process_row(self, row: Any): ... + +class ModelTupleCursorWrapper(ModelDictCursorWrapper): + constructor: Any = ... + def process_row(self, row: Any): ... + +class ModelNamedTupleCursorWrapper(ModelTupleCursorWrapper): + tuple_class: Any = ... + constructor: Any = ... + def initialize(self): ... + +class ModelObjectCursorWrapper(ModelDictCursorWrapper): + constructor: Any = ... + is_model: Any = ... + def __init__(self, cursor: Any, model: Any, select: Any, constructor: Any) -> None: ... + def process_row(self, row: Any): ... + +class ModelCursorWrapper(BaseModelCursorWrapper): + from_list: Any = ... + joins: Any = ... + def __init__(self, cursor: Any, model: Any, select: Any, from_list: Any, joins: Any) -> None: ... + key_to_constructor: Any = ... + src_is_dest: Any = ... + src_to_dest: Any = ... + column_keys: Any = ... + def initialize(self) -> None: ... + def process_row(self, row: Any): ... + +class PrefetchQuery: + def __new__( + cls, + query: Any, + fields: Optional[Any] = ..., + is_backref: Optional[Any] = ..., + rel_models: Optional[Any] = ..., + field_to_name: Optional[Any] = ..., + model: Optional[Any] = ..., + ): ... + def populate_instance(self, instance: Any, id_map: Any) -> None: ... + def store_instance(self, instance: Any, id_map: Any) -> None: ... + +def prefetch(sq: Any, *subqueries: Any): ... From c655b4215d38640958f9ed88df048690d7b0fa4c Mon Sep 17 00:00:00 2001 From: Trim21 Date: Thu, 25 Jun 2020 17:54:00 +0800 Subject: [PATCH 02/37] chunk --- third_party/2and3/peewee.pyi | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 8f4c0ef437b2..9b87a37593fe 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -38,16 +38,15 @@ class attrdict(Dict[str, T], Generic[T]): def __add__(self: _SelfT, rhs: Mapping[str, T]) -> _SelfT: ... OP: attrdict[str] -DJANGO_MAP: attrdict[Any] +DJANGO_MAP: attrdict[Callable[[Any, Any], Any]] JOIN: attrdict[str] def chunked(it: Iterator[T], n: int) -> Generator[List[T], None, None]: ... -class _callable_context_manager(ContextManager[T]): - def __call__(self, fn: Callable[..., Any]): ... - _CallBack = TypeVar("_CallBack", bound=Callable[[Any], None]) +## todo + class Proxy: def __init__(self) -> None: ... obj: Any = ... From e65ea2c0b888cc09a981975f1c8f9d7787de6e0b Mon Sep 17 00:00:00 2001 From: Trim21 Date: Fri, 26 Jun 2020 10:26:59 +0800 Subject: [PATCH 03/37] ColumnBase --- third_party/2and3/peewee.pyi | 1391 ++++++++++++++++++++++++++++------ 1 file changed, 1158 insertions(+), 233 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 9b87a37593fe..78e7b06b2d97 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1,5 +1,6 @@ import itertools import logging +import sys import threading from collections import namedtuple from typing import ( @@ -31,131 +32,215 @@ _SelfT = TypeVar("_SelfT") T = TypeVar("T") K = TypeVar("K") + class attrdict(Dict[str, T], Generic[T]): def __getattr__(self, attr: str) -> T: ... + def __setattr__(self, attr: str, value: T) -> None: ... + def __iadd__(self: _SelfT, rhs: Mapping[str, T]) -> _SelfT: ... + def __add__(self: _SelfT, rhs: Mapping[str, T]) -> _SelfT: ... + OP: attrdict[str] DJANGO_MAP: attrdict[Callable[[Any, Any], Any]] JOIN: attrdict[str] + def chunked(it: Iterator[T], n: int) -> Generator[List[T], None, None]: ... + _CallBack = TypeVar("_CallBack", bound=Callable[[Any], None]) -## todo + +class _callable_context_manager(ContextManager): + def __call__(self, fn: Callable[..., Any]) -> Callable[..., Any]: + ... + class Proxy: def __init__(self) -> None: ... + obj: Any = ... _callbacks: List[_CallBack] = ... + def initialize(self, obj: Any) -> None: ... + def attach_callback(self, callback: _CallBack) -> _CallBack: ... + def passthrough(method: Any): ... + __enter__: Callable[..., Any] = ... __exit__: Callable[..., Any] = ... + def __getattr__(self, attr: Any) -> Any: ... + def __setattr__(self, attr: Any, value: Any) -> None: ... + class DatabaseProxy(Proxy): def connection_context(self) -> ConnectionContext: ... + def atomic(self, *args: Any, **kwargs: Any): ... + def manual_commit(self): ... + def transaction(self, *args: Any, **kwargs: Any): ... + def savepoint(self): ... + class ModelDescriptor: ... + class AliasManager: def __init__(self) -> None: ... + @property def mapping(self): ... + def add(self, source: Any): ... + def get(self, source: Any, any_depth: bool = ...): ... + def __getitem__(self, source: Any): ... + def __setitem__(self, source: Any, alias: Any) -> None: ... + def push(self) -> None: ... + def pop(self) -> None: ... + class State: def __new__(cls, scope: Any = ..., parentheses: bool = ..., **kwargs: Any): ... + def __call__(self, scope: Optional[Any] = ..., parentheses: Optional[Any] = ..., **kwargs: Any): ... + def __getattr__(self, attr_name: Any): ... + class Context: stack: Any = ... alias_manager: Any = ... state: Any = ... + def __init__(self, **settings: Any) -> None: ... + def as_new(self): ... + def column_sort_key(self, item: Any): ... + @property def scope(self): ... + @property def parentheses(self): ... + @property def subquery(self): ... + def __call__(self, **overrides: Any): ... + scope_normal: Any = ... scope_source: Any = ... scope_values: Any = ... scope_cte: Any = ... scope_column: Any = ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + def push_alias(self) -> None: ... + def sql(self, obj: Any): ... + def literal(self, keyword: Any): ... + def value(self, value: Any, converter: Optional[Any] = ..., add_param: bool = ...): ... + def __sql__(self, ctx: Any): ... + def parse(self, node: Any): ... + def query(self): ... + class Node: def clone(self): ... + def __sql__(self, ctx: Any) -> None: ... + @staticmethod def copy(method: Any): ... + def coerce(self, _coerce: bool = ...): ... + def is_alias(self): ... + def unwrap(self): ... + +_NodeLike = TypeVar("_NodeLike", bound=Node) + + class ColumnFactory: node: Any = ... + def __init__(self, node: Any) -> None: ... + def __getattr__(self, attr: Any): ... + class _DynamicColumn: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + class _ExplicitColumn: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + class Source(Node): c: Any = ... + def __init__(self, alias: Optional[Any] = ...) -> None: ... + def alias(self, name: Any) -> None: ... + def select(self, *columns: Any): ... + def join(self, dest: Any, join_type: Any = ..., on: Optional[Any] = ...): ... + def left_outer_join(self, dest: Any, on: Optional[Any] = ...): ... + def cte(self, name: Any, recursive: bool = ..., columns: Optional[Any] = ..., materialized: Optional[Any] = ...): ... + def get_sort_key(self, ctx: Any): ... + def apply_alias(self, ctx: Any): ... + def apply_column(self, ctx: Any): ... + class _HashableSource: def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def alias(self, name: Any) -> None: ... + def __hash__(self) -> Any: ... + def __eq__(self, other: Any) -> Any: ... + def __ne__(self, other: Any) -> Any: ... + __lt__: Any = ... __le__: Any = ... __gt__: Any = ... __ge__: Any = ... + class BaseTable(Source): __and__: Any = ... __add__: Any = ... @@ -168,230 +253,383 @@ class BaseTable(Source): __ror__: Any = ... __rmul__: Any = ... + class _BoundTableContext(_callable_context_manager): table: Any = ... database: Any = ... + def __init__(self, table: Any, database: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class Table(_HashableSource, BaseTable): __name__: Any = ... c: Any = ... primary_key: Any = ... + def __init__( - self, - name: Any, - columns: Optional[Any] = ..., - primary_key: Optional[Any] = ..., - schema: Optional[Any] = ..., - alias: Optional[Any] = ..., - _model: Optional[Any] = ..., - _database: Optional[Any] = ..., + self, + name: Any, + columns: Optional[Any] = ..., + primary_key: Optional[Any] = ..., + schema: Optional[Any] = ..., + alias: Optional[Any] = ..., + _model: Optional[Any] = ..., + _database: Optional[Any] = ..., ) -> None: ... + def clone(self): ... + def bind(self, database: Optional[Any] = ...): ... + def bind_ctx(self, database: Optional[Any] = ...): ... + def select(self, *columns: Any): ... + def insert(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any): ... + def replace(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any): ... + def update(self, update: Optional[Any] = ..., **kwargs: Any): ... + def delete(self): ... + def __sql__(self, ctx: Any): ... + class Join(BaseTable): lhs: Any = ... rhs: Any = ... join_type: Any = ... + def __init__(self, lhs: Any, rhs: Any, join_type: Any = ..., on: Optional[Any] = ..., alias: Optional[Any] = ...) -> None: ... + def on(self, predicate: Any): ... + def __sql__(self, ctx: Any): ... + class ValuesList(_HashableSource, BaseTable): def __init__(self, values: Any, columns: Optional[Any] = ..., alias: Optional[Any] = ...) -> None: ... + def columns(self, *names: Any) -> None: ... + def __sql__(self, ctx: Any): ... + class CTE(_HashableSource, Source): def __init__( - self, name: Any, query: Any, recursive: bool = ..., columns: Optional[Any] = ..., materialized: Optional[Any] = ... + self, name: Any, query: Any, recursive: bool = ..., columns: Optional[Any] = ..., materialized: Optional[Any] = ... ) -> None: ... + def select_from(self, *columns: Any): ... + def union_all(self, rhs: Any): ... + __add__: Any = ... + def union(self, rhs: Any): ... + __or__: Any = ... + def __sql__(self, ctx: Any): ... + class ColumnBase(Node): - def alias(self, alias: Any): ... - def unalias(self): ... - def cast(self, as_type: Any): ... - def asc(self, collation: Optional[Any] = ..., nulls: Optional[Any] = ...): ... - __pos__: Any = ... - def desc(self, collation: Optional[Any] = ..., nulls: Optional[Any] = ...): ... - __neg__: Any = ... - def __invert__(self): ... - __and__: Any = ... - __or__: Any = ... - __add__: Any = ... - __sub__: Any = ... - __mul__: Any = ... - __div__: Any = ... - __truediv__: Any = ... - __xor__: Any = ... - __radd__: Any = ... - __rsub__: Any = ... - __rmul__: Any = ... - __rdiv__: Any = ... - __rtruediv__: Any = ... - __rand__: Any = ... - __ror__: Any = ... - __rxor__: Any = ... - def __eq__(self, rhs: Any) -> Any: ... - def __ne__(self, rhs: Any) -> Any: ... - __lt__: Any = ... - __le__: Any = ... - __gt__: Any = ... - __ge__: Any = ... - __lshift__: Any = ... - __rshift__: Any = ... - __mod__: Any = ... - __pow__: Any = ... - bin_and: Any = ... - bin_or: Any = ... - in_: Any = ... - not_in: Any = ... - regexp: Any = ... - def is_null(self, is_null: bool = ...): ... - def contains(self, rhs: Any): ... - def startswith(self, rhs: Any): ... - def endswith(self, rhs: Any): ... - def between(self, lo: Any, hi: Any): ... - def concat(self, rhs: Any): ... - def regexp(self, rhs: Any): ... - def iregexp(self, rhs: Any): ... - def __getitem__(self, item: Any): ... - def distinct(self): ... - def collate(self, collation: Any): ... - def get_sort_key(self, ctx: Any): ... + def alias(self: _SelfT, alias: bool) -> Union[_SelfT, Alias]: ... + + def unalias(self: _SelfT) -> _SelfT: ... + + def cast(self, as_type: str) -> Cast: ... + + def asc(self, collation: Optional[Any] = ..., nulls: Optional[_sort_nulls] = ...) -> Ordering: ... + + def __pos__(self) -> Ordering: ... + + def desc(self, collation: Optional[Any] = ..., nulls: Optional[_sort_nulls] = ...) -> Ordering: ... + + def __neg__(self) -> Ordering: ... + + def __invert__(self) -> Negated: ... + + def __and__(self, rhs: Any) -> Expression: ... + + def __or__(self, rhs: Any) -> Expression: ... + + def __add__(self, rhs: Any) -> Expression: ... + + def __sub__(self, rhs: Any) -> Expression: ... + + def __mul__(self, rhs: Any) -> Expression: ... + + def __div__(self, rhs: Any) -> Expression: ... + + def __truediv__(self, rhs: Any) -> Expression: ... + + def __xor__(self, rhs: Any) -> Expression: ... + + def __radd__(self, rhs: Any) -> Expression: ... + + def __rsub__(self, rhs: Any) -> Expression: ... + + def __rmul__(self, rhs: Any) -> Expression: ... + + def __rdiv__(self, rhs: Any) -> Expression: ... + + def __rtruediv__(self, rhs: Any) -> Expression: ... + + def __rand__(self, rhs: Any) -> Expression: ... + + def __ror__(self, rhs: Any) -> Expression: ... + + def __rxor__(self, rhs: Any) -> Expression: ... + + def __eq__(self, rhs: Any) -> Expression: ... # type: ignore[override] + + def __ne__(self, rhs: Any) -> Expression: ... # type: ignore[override] + + def __lt__(self, rhs: Any) -> Expression: ... + + def __le__(self, rhs: Any) -> Expression: ... + + def __gt__(self, rhs: Any) -> Expression: ... + + def __ge__(self, rhs: Any) -> Expression: ... + + def __lshift__(self, rhs: Any) -> Expression: ... + + def __rshift__(self, rhs: Any) -> Expression: ... + + def __mod__(self, rhs: Any) -> Expression: ... + + def __pow__(self, rhs: Any) -> Expression: ... + + def bin_and(self, rhs: Any) -> Expression: ... + + def bin_or(self, rhs: Any) -> Expression: ... + + def in_(self, rhs: Any) -> Expression: ... + + def not_in(self, rhs: Any) -> Expression: ... + + def regexp(self, rhs: Any) -> Expression: ... + + def is_null(self, is_null: bool = ...) -> Expression: ... + + def contains(self, rhs: Any) -> Expression: ... + + def startswith(self, rhs: Any) -> Expression: ... + + def endswith(self, rhs: Any) -> Expression: ... + + def between(self, lo: Any, hi: Any) -> Expression: ... + + def concat(self, rhs: Any) -> StringExpression: ... + + def regexp(self, rhs: Any) -> Expression: ... + + def iregexp(self, rhs: Any) -> Expression: ... + + def __getitem__(self, item: Any) -> Expression: ... + + def distinct(self) -> NodeList: ... + + def collate(self, collation: Any) -> NodeList: ... + + def get_sort_key(self, ctx: Any) -> Tuple[str]: ... + class Column(ColumnBase): source: Any = ... name: Any = ... + def __init__(self, source: Any, name: Any) -> None: ... + def get_sort_key(self, ctx: Any): ... + def __hash__(self) -> Any: ... + def __sql__(self, ctx: Any): ... -class WrappedNode(ColumnBase): - node: Any = ... - def __init__(self, node: Any) -> None: ... - def is_alias(self): ... - def unwrap(self): ... + +class WrappedNode(ColumnBase, Generic[_NodeLike]): + node: _NodeLike = ... + + def __init__(self, node: _NodeLike) -> None: ... + + def is_alias(self) -> bool: ... + + def unwrap(self) -> _NodeLike: ... + class EntityFactory: node: Any = ... + def __init__(self, node: Any) -> None: ... + def __getattr__(self, attr: Any): ... + class _DynamicEntity: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + class Alias(WrappedNode): c: Any = ... + def __init__(self, node: Any, alias: Any) -> None: ... + def __hash__(self) -> Any: ... + def alias(self, alias: Optional[Any] = ...): ... + def unalias(self): ... + def is_alias(self): ... + def __sql__(self, ctx: Any): ... + class Negated(WrappedNode): - def __invert__(self): ... - def __sql__(self, ctx: Any): ... + def __invert__(self) -> _NodeLike: ... + + def __sql__(self, ctx: Context) -> Context: ... + class BitwiseMixin: def __and__(self, other: Any): ... + def __or__(self, other: Any): ... + def __sub__(self, other: Any): ... + def __invert__(self): ... + class BitwiseNegated(BitwiseMixin, WrappedNode): def __invert__(self): ... + def __sql__(self, ctx: Any): ... + class Value(ColumnBase): value: Any = ... converter: Any = ... multi: Any = ... values: Any = ... + def __init__(self, value: Any, converter: Optional[Any] = ..., unpack: bool = ...) -> None: ... + def __sql__(self, ctx: Any): ... + def AsIs(value: Any): ... + class Cast(WrappedNode): - def __init__(self, node: Any, cast: Any) -> None: ... - def __sql__(self, ctx: Any): ... + def __init__(self, node: ColumnBase, cast: str) -> None: ... + + def __sql__(self, ctx: Context) -> Context: ... + + +_order = str +_sort_nulls = str +if sys.version_info >= (3, 8): + from typing import Literal + + _order = Literal["ASC", "DESC"] + _sort_nulls = Literal["FIRST", "LAST"] + class Ordering(WrappedNode): - direction: Any = ... - collation: Any = ... - nulls: Any = ... - def __init__(self, node: Any, direction: Any, collation: Optional[Any] = ..., nulls: Optional[Any] = ...) -> None: ... - def collate(self, collation: Optional[Any] = ...): ... - def __sql__(self, ctx: Any): ... + direction: _order = ... + collation: str = ... + nulls: Optional[_sort_nulls] = ... + + def __init__( + self, node: ColumnBase, direction: _order, collation: Optional[str] = ..., nulls: Optional[_sort_nulls] = ... + ) -> None: ... + + def collate(self, collation: Optional[str] = ...) -> Ordering: ... + + def __sql__(self, ctx: Context) -> Context: ... + class Expression(ColumnBase): lhs: Any = ... op: Any = ... rhs: Any = ... flat: Any = ... + def __init__(self, lhs: Any, op: Any, rhs: Any, flat: bool = ...) -> None: ... + def __sql__(self, ctx: Any): ... + class StringExpression(Expression): def __add__(self, rhs: Any): ... + def __radd__(self, lhs: Any): ... + class Entity(ColumnBase): def __init__(self, *path: Any) -> None: ... + def __getattr__(self, attr: Any): ... + def get_sort_key(self, ctx: Any): ... + def __hash__(self) -> Any: ... + def __sql__(self, ctx: Any): ... + class SQL(ColumnBase): sql: Any = ... params: Any = ... + def __init__(self, sql: Any, params: Optional[Any] = ...) -> None: ... + def __sql__(self, ctx: Any): ... + def Check(constraint: Any): ... + class Function(ColumnBase): name: Any = ... arguments: Any = ... + def __init__(self, name: Any, arguments: Any, coerce: bool = ..., python_value: Optional[Any] = ...) -> None: ... + def __getattr__(self, attr: Any): ... + def filter(self, where: Optional[Any] = ...) -> None: ... + def order_by(self, *ordering: Any) -> None: ... + def python_value(self, func: Optional[Any] = ...) -> None: ... + def over( - self, - partition_by: Optional[Any] = ..., - order_by: Optional[Any] = ..., - start: Optional[Any] = ..., - end: Optional[Any] = ..., - frame_type: Optional[Any] = ..., - window: Optional[Any] = ..., - exclude: Optional[Any] = ..., + self, + partition_by: Optional[Any] = ..., + order_by: Optional[Any] = ..., + start: Optional[Any] = ..., + end: Optional[Any] = ..., + frame_type: Optional[Any] = ..., + window: Optional[Any] = ..., + exclude: Optional[Any] = ..., ): ... + def __sql__(self, ctx: Any): ... + fn: Any + class Window(Node): CURRENT_ROW: Any = ... GROUP: Any = ... @@ -405,131 +643,200 @@ class Window(Node): start: Any = ... end: Any = ... frame_type: Any = ... + def __init__( - self, - partition_by: Optional[Any] = ..., - order_by: Optional[Any] = ..., - start: Optional[Any] = ..., - end: Optional[Any] = ..., - frame_type: Optional[Any] = ..., - extends: Optional[Any] = ..., - exclude: Optional[Any] = ..., - alias: Optional[Any] = ..., - _inline: bool = ..., + self, + partition_by: Optional[Any] = ..., + order_by: Optional[Any] = ..., + start: Optional[Any] = ..., + end: Optional[Any] = ..., + frame_type: Optional[Any] = ..., + extends: Optional[Any] = ..., + exclude: Optional[Any] = ..., + alias: Optional[Any] = ..., + _inline: bool = ..., ) -> None: ... + def alias(self, alias: Optional[Any] = ...): ... + def as_range(self) -> None: ... + def as_rows(self) -> None: ... + def as_groups(self) -> None: ... + def extends(self, window: Optional[Any] = ...) -> None: ... + def exclude(self, frame_exclusion: Optional[Any] = ...) -> None: ... + @staticmethod def following(value: Optional[Any] = ...): ... + @staticmethod def preceding(value: Optional[Any] = ...): ... + def __sql__(self, ctx: Any): ... + class WindowAlias(Node): window: Any = ... + def __init__(self, window: Any) -> None: ... + def alias(self, window_alias: Any): ... + def __sql__(self, ctx: Any): ... + class ForUpdate(Node): def __init__(self, expr: Any, of: Optional[Any] = ..., nowait: Optional[Any] = ...) -> None: ... + def __sql__(self, ctx: Any): ... + def Case(predicate: Any, expression_tuples: Any, default: Optional[Any] = ...): ... + class NodeList(ColumnBase): nodes: Any = ... glue: Any = ... parens: Any = ... + def __init__(self, nodes: Any, glue: str = ..., parens: bool = ...) -> None: ... + def __sql__(self, ctx: Any): ... + class _Namespace(Node): def __init__(self, name: Any) -> None: ... + def __getattr__(self, attr: Any): ... + __getitem__: Any = ... + class NamespaceAttribute(ColumnBase): def __init__(self, namespace: Any, attribute: Any) -> None: ... + def __sql__(self, ctx: Any): ... + EXCLUDED: Any + class DQ(ColumnBase): query: Any = ... + def __init__(self, **query: Any) -> None: ... + def __invert__(self) -> None: ... + def clone(self): ... + Tuple: Any + class QualifiedNames(WrappedNode): def __sql__(self, ctx: Any): ... + class OnConflict(Node): def __init__( - self, - action: Optional[Any] = ..., - update: Optional[Any] = ..., - preserve: Optional[Any] = ..., - where: Optional[Any] = ..., - conflict_target: Optional[Any] = ..., - conflict_where: Optional[Any] = ..., - conflict_constraint: Optional[Any] = ..., + self, + action: Optional[Any] = ..., + update: Optional[Any] = ..., + preserve: Optional[Any] = ..., + where: Optional[Any] = ..., + conflict_target: Optional[Any] = ..., + conflict_where: Optional[Any] = ..., + conflict_constraint: Optional[Any] = ..., ) -> None: ... + def get_conflict_statement(self, ctx: Any, query: Any): ... + def get_conflict_update(self, ctx: Any, query: Any): ... + def preserve(self, *columns: Any) -> None: ... + def update(self, _data: Optional[Any] = ..., **kwargs: Any) -> None: ... + def where(self, *expressions: Any) -> None: ... + def conflict_target(self, *constraints: Any) -> None: ... + def conflict_where(self, *expressions: Any) -> None: ... + def conflict_constraint(self, constraint: Any) -> None: ... + class BaseQuery(Node): default_row_type: Any = ... + def __init__(self, _database: Optional[Any] = ..., **kwargs: Any) -> None: ... + def bind(self, database: Optional[Any] = ...): ... + def clone(self): ... + def dicts(self, as_dict: bool = ...): ... + def tuples(self, as_tuple: bool = ...): ... + def namedtuples(self, as_namedtuple: bool = ...): ... + def objects(self, constructor: Optional[Any] = ...): ... + def __sql__(self, ctx: Any) -> None: ... + def sql(self): ... + def execute(self, database: Any): ... + def iterator(self, database: Optional[Any] = ...): ... + def __iter__(self) -> Any: ... + def __getitem__(self, value: Any): ... + def __len__(self): ... + class RawQuery(BaseQuery): def __init__(self, sql: Optional[Any] = ..., params: Optional[Any] = ..., **kwargs: Any) -> None: ... + def __sql__(self, ctx: Any): ... + class Query(BaseQuery): def __init__( - self, - where: Optional[Any] = ..., - order_by: Optional[Any] = ..., - limit: Optional[Any] = ..., - offset: Optional[Any] = ..., - **kwargs: Any, + self, + where: Optional[Any] = ..., + order_by: Optional[Any] = ..., + limit: Optional[Any] = ..., + offset: Optional[Any] = ..., + **kwargs: Any, ) -> None: ... + def with_cte(self, *cte_list: Any) -> None: ... + def where(self, *expressions: Any) -> None: ... + def orwhere(self, *expressions: Any) -> None: ... + def order_by(self, *values: Any) -> None: ... + def order_by_extend(self, *values: Any) -> None: ... + def limit(self, value: Optional[Any] = ...) -> None: ... + def offset(self, value: Optional[Any] = ...) -> None: ... + def paginate(self, page: Any, paginate_by: int = ...) -> None: ... + def __sql__(self, ctx: Any): ... + class SelectQuery(Query): union_all: Any = ... __add__: Any = ... @@ -543,141 +850,219 @@ class SelectQuery(Query): __ror__: Any = ... __rand__: Any = ... __rsub__: Any = ... + def select_from(self, *columns: Any): ... + class SelectBase(_HashableSource, Source, SelectQuery): def peek(self, database: Any, n: int = ...): ... + def first(self, database: Any, n: int = ...): ... + def scalar(self, database: Any, as_tuple: bool = ...): ... + def count(self, database: Any, clear_limit: bool = ...): ... + def exists(self, database: Any): ... + def get(self, database: Any): ... + class CompoundSelectQuery(SelectBase): lhs: Any = ... op: Any = ... rhs: Any = ... + def __init__(self, lhs: Any, op: Any, rhs: Any) -> None: ... + def exists(self, database: Any): ... + def __sql__(self, ctx: Any): ... + class Select(SelectBase): def __init__( - self, - from_list: Optional[Any] = ..., - columns: Optional[Any] = ..., - group_by: Optional[Any] = ..., - having: Optional[Any] = ..., - distinct: Optional[Any] = ..., - windows: Optional[Any] = ..., - for_update: Optional[Any] = ..., - for_update_of: Optional[Any] = ..., - nowait: Optional[Any] = ..., - lateral: Optional[Any] = ..., - **kwargs: Any, + self, + from_list: Optional[Any] = ..., + columns: Optional[Any] = ..., + group_by: Optional[Any] = ..., + having: Optional[Any] = ..., + distinct: Optional[Any] = ..., + windows: Optional[Any] = ..., + for_update: Optional[Any] = ..., + for_update_of: Optional[Any] = ..., + nowait: Optional[Any] = ..., + lateral: Optional[Any] = ..., + **kwargs: Any, ) -> None: ... + def clone(self): ... + def columns(self, *columns: Any, **kwargs: Any) -> None: ... + select: Any = ... + def select_extend(self, *columns: Any) -> None: ... + def from_(self, *sources: Any) -> None: ... + def join(self, dest: Any, join_type: Any = ..., on: Optional[Any] = ...) -> None: ... + def group_by(self, *columns: Any) -> None: ... + def group_by_extend(self, *values: Any): ... + def having(self, *expressions: Any) -> None: ... + def distinct(self, *columns: Any) -> None: ... + def window(self, *windows: Any) -> None: ... + def for_update(self, for_update: bool = ..., of: Optional[Any] = ..., nowait: Optional[Any] = ...) -> None: ... + def lateral(self, lateral: bool = ...) -> None: ... + def __sql_selection__(self, ctx: Any, is_subquery: bool = ...): ... + def __sql__(self, ctx: Any): ... + class _WriteQuery(Query): table: Any = ... + def __init__(self, table: Any, returning: Optional[Any] = ..., **kwargs: Any) -> None: ... + def returning(self, *returning: Any) -> None: ... + def apply_returning(self, ctx: Any): ... + def execute_returning(self, database: Any): ... + def handle_result(self, database: Any, cursor: Any): ... + def __sql__(self, ctx: Any): ... + class Update(_WriteQuery): def __init__(self, table: Any, update: Optional[Any] = ..., **kwargs: Any) -> None: ... + def from_(self, *sources: Any) -> None: ... + def __sql__(self, ctx: Any): ... + class Insert(_WriteQuery): SIMPLE: int = ... QUERY: int = ... MULTI: int = ... + class DefaultValuesException(Exception): ... + def __init__( - self, - table: Any, - insert: Optional[Any] = ..., - columns: Optional[Any] = ..., - on_conflict: Optional[Any] = ..., - **kwargs: Any, + self, + table: Any, + insert: Optional[Any] = ..., + columns: Optional[Any] = ..., + on_conflict: Optional[Any] = ..., + **kwargs: Any, ) -> None: ... + def where(self, *expressions: Any) -> None: ... + def on_conflict_ignore(self, ignore: bool = ...) -> None: ... + def on_conflict_replace(self, replace: bool = ...) -> None: ... + def on_conflict(self, *args: Any, **kwargs: Any) -> None: ... + def get_default_data(self): ... + def get_default_columns(self): ... + def __sql__(self, ctx: Any): ... + def handle_result(self, database: Any, cursor: Any): ... + class Delete(_WriteQuery): def __sql__(self, ctx: Any): ... + class Index(Node): def __init__( - self, - name: Any, - table: Any, - expressions: Any, - unique: bool = ..., - safe: bool = ..., - where: Optional[Any] = ..., - using: Optional[Any] = ..., + self, + name: Any, + table: Any, + expressions: Any, + unique: bool = ..., + safe: bool = ..., + where: Optional[Any] = ..., + using: Optional[Any] = ..., ) -> None: ... + def safe(self, _safe: bool = ...) -> None: ... + def where(self, *expressions: Any) -> None: ... + def using(self, _using: Optional[Any] = ...) -> None: ... + def __sql__(self, ctx: Any): ... + class ModelIndex(Index): def __init__( - self, - model: Any, - fields: Any, - unique: bool = ..., - safe: bool = ..., - where: Optional[Any] = ..., - using: Optional[Any] = ..., - name: Optional[Any] = ..., + self, + model: Any, + fields: Any, + unique: bool = ..., + safe: bool = ..., + where: Optional[Any] = ..., + using: Optional[Any] = ..., + name: Optional[Any] = ..., ) -> None: ... + class PeeweeException(Exception): def __init__(self, *args: Any) -> None: ... + class ImproperlyConfigured(PeeweeException): ... + + class DatabaseError(PeeweeException): ... + + class DataError(DatabaseError): ... + + class IntegrityError(DatabaseError): ... + + class InterfaceError(PeeweeException): ... + + class InternalError(DatabaseError): ... + + class NotSupportedError(DatabaseError): ... + + class OperationalError(DatabaseError): ... + + class ProgrammingError(DatabaseError): ... + class ExceptionWrapper: exceptions: Any = ... + def __init__(self, exceptions: Any) -> None: ... + def __enter__(self) -> None: ... + def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ... + IndexMetadata = namedtuple("IndexMetadata", ["name", "sql", "columns", "unique", "table"]) ColumnMetadata = namedtuple("ColumnMetadata", ["name", "data_type", "null", "primary_key", "table", "default"]) @@ -686,27 +1071,39 @@ ForeignKeyMetadata = namedtuple("ForeignKeyMetadata", ["column", "dest_table", " ViewMetadata = namedtuple("ViewMetadata", ["name", "sql"]) + class _ConnectionState: def __init__(self, **kwargs: Any) -> None: ... + closed: bool = ... conn: Any = ... ctx: Any = ... transactions: Any = ... + def reset(self) -> None: ... + def set_connection(self, conn: Any) -> None: ... + class _ConnectionLocal(_ConnectionState, threading.local): ... + class _NoopLock: def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class ConnectionContext(_callable_context_manager): db: Any = ... + def __init__(self, db: Any) -> None: ... + def __enter__(self) -> None: ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class Database(_callable_context_manager): context_class: Any = ... field_types: Any = ... @@ -729,72 +1126,127 @@ class Database(_callable_context_manager): autorollback: Any = ... thread_safe: Any = ... connect_params: Any = ... + def __init__( - self, - database: Any, - thread_safe: bool = ..., - autorollback: bool = ..., - field_types: Optional[Any] = ..., - operations: Optional[Any] = ..., - autocommit: Optional[Any] = ..., - autoconnect: bool = ..., - **kwargs: Any, + self, + database: Any, + thread_safe: bool = ..., + autorollback: bool = ..., + field_types: Optional[Any] = ..., + operations: Optional[Any] = ..., + autocommit: Optional[Any] = ..., + autoconnect: bool = ..., + **kwargs: Any, ) -> None: ... + database: Any = ... deferred: Any = ... + def init(self, database: Any, **kwargs: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + def connection_context(self): ... + def connect(self, reuse_if_open: bool = ...): ... + def close(self): ... + def is_closed(self): ... + def is_connection_usable(self): ... + def connection(self): ... + def cursor(self, commit: Optional[Any] = ...): ... + def execute_sql(self, sql: Any, params: Optional[Any] = ..., commit: Any = ...): ... + def execute(self, query: Any, commit: Any = ..., **context_options: Any): ... + def get_context_options(self): ... + def get_sql_context(self, **context_options: Any): ... + def conflict_statement(self, on_conflict: Any, query: Any) -> None: ... + def conflict_update(self, on_conflict: Any, query: Any) -> None: ... + def last_insert_id(self, cursor: Any, query_type: Optional[Any] = ...): ... + def rows_affected(self, cursor: Any): ... + def default_values_insert(self, ctx: Any): ... + def session_start(self): ... + def session_commit(self): ... + def session_rollback(self): ... + def in_transaction(self): ... + def push_transaction(self, transaction: Any) -> None: ... + def pop_transaction(self): ... + def transaction_depth(self): ... + def top_transaction(self): ... + def atomic(self, *args: Any, **kwargs: Any): ... + def manual_commit(self): ... + def transaction(self, *args: Any, **kwargs: Any): ... + def savepoint(self): ... + def begin(self) -> None: ... + def commit(self): ... + def rollback(self): ... + def batch_commit(self, it: Any, n: Any) -> None: ... + def table_exists(self, table_name: Any, schema: Optional[Any] = ...): ... + def get_tables(self, schema: Optional[Any] = ...) -> None: ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def get_columns(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def sequence_exists(self, seq: Any) -> None: ... + def create_tables(self, models: Any, **options: Any) -> None: ... + def drop_tables(self, models: Any, **kwargs: Any) -> None: ... + def extract_date(self, date_part: Any, date_field: Any) -> None: ... + def truncate_date(self, date_part: Any, date_field: Any) -> None: ... + def to_timestamp(self, date_field: Any) -> None: ... + def from_timestamp(self, date_field: Any) -> None: ... + def random(self): ... + def bind(self, models: Any, bind_refs: bool = ..., bind_backrefs: bool = ...) -> None: ... + def bind_ctx(self, models: Any, bind_refs: bool = ..., bind_backrefs: bool = ...): ... + def get_noop_select(self, ctx: Any): ... + class SqliteDatabase(Database): field_types: Any = ... operations: Any = ... @@ -803,9 +1255,13 @@ class SqliteDatabase(Database): server_version: Any = ... truncate_table: bool = ... nulls_ordering: Any = ... + def __init__(self, database: Any, *args: Any, **kwargs: Any) -> None: ... + def init(self, database: Any, pragmas: Optional[Any] = ..., timeout: int = ..., **kwargs: Any) -> None: ... + def pragma(self, key: Any, value: Any = ..., permanent: bool = ..., schema: Optional[Any] = ...): ... + cache_size: Any = ... foreign_keys: Any = ... journal_mode: Any = ... @@ -815,44 +1271,80 @@ class SqliteDatabase(Database): read_uncommitted: Any = ... synchronous: Any = ... wal_autocheckpoint: Any = ... + @property def timeout(self): ... + @timeout.setter def timeout(self, seconds: Any) -> None: ... + def register_aggregate(self, klass: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... + def aggregate(self, name: Optional[Any] = ..., num_params: int = ...): ... + def register_collation(self, fn: Any, name: Optional[Any] = ...): ... + def collation(self, name: Optional[Any] = ...): ... + def register_function(self, fn: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... + def func(self, name: Optional[Any] = ..., num_params: int = ...): ... + def register_window_function(self, klass: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... + def window_function(self, name: Optional[Any] = ..., num_params: int = ...): ... + def register_table_function(self, klass: Any, name: Optional[Any] = ...) -> None: ... + def table_function(self, name: Optional[Any] = ...): ... + def unregister_aggregate(self, name: Any) -> None: ... + def unregister_collation(self, name: Any) -> None: ... + def unregister_function(self, name: Any) -> None: ... + def unregister_window_function(self, name: Any) -> None: ... + def unregister_table_function(self, name: Any): ... + def load_extension(self, extension: Any) -> None: ... + def unload_extension(self, extension: Any) -> None: ... + def attach(self, filename: Any, name: Any): ... + def detach(self, name: Any): ... + def begin(self, lock_type: Optional[Any] = ...) -> None: ... + def get_tables(self, schema: Optional[Any] = ...): ... + def get_views(self, schema: Optional[Any] = ...): ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... + def get_columns(self, table: Any, schema: Optional[Any] = ...): ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_binary_type(self): ... + def conflict_statement(self, on_conflict: Any, query: Any): ... + def conflict_update(self, oc: Any, query: Any): ... + def extract_date(self, date_part: Any, date_field: Any): ... + def truncate_date(self, date_part: Any, date_field: Any): ... + def to_timestamp(self, date_field: Any): ... + def from_timestamp(self, date_field: Any): ... + class PostgresqlDatabase(Database): field_types: Any = ... operations: Any = ... @@ -864,33 +1356,53 @@ class PostgresqlDatabase(Database): returning_clause: bool = ... safe_create_index: bool = ... sequences: bool = ... + def init( - self, - database: Any, - register_unicode: bool = ..., - encoding: Optional[Any] = ..., - isolation_level: Optional[Any] = ..., - **kwargs: Any, + self, + database: Any, + register_unicode: bool = ..., + encoding: Optional[Any] = ..., + isolation_level: Optional[Any] = ..., + **kwargs: Any, ) -> None: ... + def is_connection_usable(self): ... + def last_insert_id(self, cursor: Any, query_type: Optional[Any] = ...): ... + def get_tables(self, schema: Optional[Any] = ...): ... + def get_views(self, schema: Optional[Any] = ...): ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... + def get_columns(self, table: Any, schema: Optional[Any] = ...): ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... + def sequence_exists(self, sequence: Any): ... + def get_binary_type(self): ... + def conflict_statement(self, on_conflict: Any, query: Any) -> None: ... + def conflict_update(self, oc: Any, query: Any): ... + def extract_date(self, date_part: Any, date_field: Any): ... + def truncate_date(self, date_part: Any, date_field: Any): ... + def to_timestamp(self, date_field: Any): ... + def from_timestamp(self, date_field: Any): ... + def get_noop_select(self, ctx: Any): ... + def set_time_zone(self, timezone: Any) -> None: ... + class MySQLDatabase(Database): field_types: Any = ... operations: Any = ... @@ -903,54 +1415,92 @@ class MySQLDatabase(Database): safe_create_index: bool = ... safe_drop_index: bool = ... sql_mode: str = ... + def init(self, database: Any, **kwargs: Any) -> None: ... + def default_values_insert(self, ctx: Any): ... + def get_tables(self, schema: Optional[Any] = ...): ... + def get_views(self, schema: Optional[Any] = ...): ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... + def get_columns(self, table: Any, schema: Optional[Any] = ...): ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_binary_type(self): ... + def conflict_statement(self, on_conflict: Any, query: Any): ... + def conflict_update(self, on_conflict: Any, query: Any): ... + def extract_date(self, date_part: Any, date_field: Any): ... + def truncate_date(self, date_part: Any, date_field: Any): ... + def to_timestamp(self, date_field: Any): ... + def from_timestamp(self, date_field: Any): ... + def random(self): ... + def get_noop_select(self, ctx: Any): ... + class _manual(_callable_context_manager): db: Any = ... + def __init__(self, db: Any) -> None: ... + def __enter__(self) -> None: ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class _atomic(_callable_context_manager): db: Any = ... + def __init__(self, db: Any, *args: Any, **kwargs: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any): ... + class _transaction(_callable_context_manager): db: Any = ... + def __init__(self, db: Any, *args: Any, **kwargs: Any) -> None: ... + def commit(self, begin: bool = ...) -> None: ... + def rollback(self, begin: bool = ...) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class _savepoint(_callable_context_manager): db: Any = ... sid: Any = ... quoted_sid: Any = ... + def __init__(self, db: Any, sid: Optional[Any] = ...) -> None: ... + def commit(self, begin: bool = ...) -> None: ... + def rollback(self) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class CursorWrapper: cursor: Any = ... count: int = ... @@ -958,69 +1508,108 @@ class CursorWrapper: initialized: bool = ... populated: bool = ... row_cache: Any = ... + def __init__(self, cursor: Any) -> None: ... + def __iter__(self) -> Any: ... + def __getitem__(self, item: Any): ... + def __len__(self): ... + def initialize(self) -> None: ... + def iterate(self, cache: bool = ...): ... + def process_row(self, row: Any): ... + def iterator(self) -> None: ... + def fill_cache(self, n: int = ...) -> None: ... + class DictCursorWrapper(CursorWrapper): initialize: Any = ... process_row: Any = ... + class NamedTupleCursorWrapper(CursorWrapper): tuple_class: Any = ... + def initialize(self) -> None: ... + def process_row(self, row: Any): ... + class ObjectCursorWrapper(DictCursorWrapper): constructor: Any = ... + def __init__(self, cursor: Any, constructor: Any) -> None: ... + def process_row(self, row: Any): ... + class ResultIterator: cursor_wrapper: Any = ... index: int = ... + def __init__(self, cursor_wrapper: Any) -> None: ... + def __iter__(self) -> Any: ... + def next(self): ... + __next__: Any = ... + class FieldAccessor: model: Any = ... field: Any = ... name: Any = ... + def __init__(self, model: Any, field: Any, name: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + class ForeignKeyAccessor(FieldAccessor): rel_model: Any = ... + def __init__(self, model: Any, field: Any, name: Any) -> None: ... + def get_rel_instance(self, instance: Any): ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, obj: Any) -> None: ... + class NoQueryForeignKeyAccessor(ForeignKeyAccessor): def get_rel_instance(self, instance: Any): ... + class BackrefAccessor: field: Any = ... model: Any = ... rel_model: Any = ... + def __init__(self, field: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + class ObjectIdAccessor: field: Any = ... + def __init__(self, field: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + class Field(ColumnBase): accessor_class: Any = ... auto_increment: bool = ... @@ -1041,157 +1630,227 @@ class Field(ColumnBase): help_text: Any = ... verbose_name: Any = ... index_type: Any = ... + def __init__( - self, - null: bool = ..., - index: bool = ..., - unique: bool = ..., - column_name: Optional[Any] = ..., - default: Optional[Any] = ..., - primary_key: bool = ..., - constraints: Optional[Any] = ..., - sequence: Optional[Any] = ..., - collation: Optional[Any] = ..., - unindexed: bool = ..., - choices: Optional[Any] = ..., - help_text: Optional[Any] = ..., - verbose_name: Optional[Any] = ..., - index_type: Optional[Any] = ..., - db_column: Optional[Any] = ..., - _hidden: bool = ..., + self, + null: bool = ..., + index: bool = ..., + unique: bool = ..., + column_name: Optional[Any] = ..., + default: Optional[Any] = ..., + primary_key: bool = ..., + constraints: Optional[Any] = ..., + sequence: Optional[Any] = ..., + collation: Optional[Any] = ..., + unindexed: bool = ..., + choices: Optional[Any] = ..., + help_text: Optional[Any] = ..., + verbose_name: Optional[Any] = ..., + index_type: Optional[Any] = ..., + db_column: Optional[Any] = ..., + _hidden: bool = ..., ) -> None: ... + def __hash__(self) -> Any: ... + model: Any = ... name: Any = ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + @property def column(self): ... + def adapt(self, value: Any): ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + def to_value(self, value: Any): ... + def get_sort_key(self, ctx: Any): ... + def __sql__(self, ctx: Any): ... + def get_modifiers(self) -> None: ... + def ddl_datatype(self, ctx: Any): ... + def ddl(self, ctx: Any): ... + class IntegerField(Field): field_type: str = ... + def adapt(self, value: Any): ... + class BigIntegerField(IntegerField): field_type: str = ... + class SmallIntegerField(IntegerField): field_type: str = ... + class AutoField(IntegerField): auto_increment: bool = ... field_type: str = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + class BigAutoField(AutoField): field_type: str = ... + class IdentityField(AutoField): field_type: str = ... + def __init__(self, generate_always: bool = ..., **kwargs: Any) -> None: ... + class PrimaryKeyField(AutoField): def __init__(self, *args: Any, **kwargs: Any) -> None: ... + class FloatField(Field): field_type: str = ... + def adapt(self, value: Any): ... + class DoubleField(FloatField): field_type: str = ... + class DecimalField(Field): field_type: str = ... max_digits: Any = ... decimal_places: Any = ... auto_round: Any = ... rounding: Any = ... + def __init__( - self, - max_digits: int = ..., - decimal_places: int = ..., - auto_round: bool = ..., - rounding: Optional[Any] = ..., - *args: Any, - **kwargs: Any, + self, + max_digits: int = ..., + decimal_places: int = ..., + auto_round: bool = ..., + rounding: Optional[Any] = ..., + *args: Any, + **kwargs: Any, ) -> None: ... + def get_modifiers(self): ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + class _StringField(Field): def adapt(self, value: Any): ... + def __add__(self, other: Any): ... + def __radd__(self, other: Any): ... + class CharField(_StringField): field_type: str = ... max_length: Any = ... + def __init__(self, max_length: int = ..., *args: Any, **kwargs: Any) -> None: ... + def get_modifiers(self): ... + class FixedCharField(CharField): field_type: str = ... + def python_value(self, value: Any): ... + class TextField(_StringField): field_type: str = ... + class BlobField(Field): field_type: str = ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...): ... + def db_value(self, value: Any): ... + class BitField(BitwiseMixin, BigIntegerField): def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def flag(self, value: Optional[Any] = ...): ... + class BigBitFieldData: instance: Any = ... name: Any = ... + def __init__(self, instance: Any, name: Any) -> None: ... + def set_bit(self, idx: Any) -> None: ... + def clear_bit(self, idx: Any) -> None: ... + def toggle_bit(self, idx: Any): ... + def is_set(self, idx: Any): ... + class BigBitFieldAccessor(FieldAccessor): def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + class BigBitField(BlobField): accessor_class: Any = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def db_value(self, value: Any): ... + class UUIDField(Field): field_type: str = ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + class BinaryUUIDField(BlobField): field_type: str = ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + class _BaseFormattedField(Field): formats: Any = ... + def __init__(self, formats: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... + class DateTimeField(_BaseFormattedField): field_type: str = ... formats: Any = ... + def adapt(self, value: Any): ... + def to_timestamp(self): ... + def truncate(self, part: Any): ... + year: Any = ... month: Any = ... day: Any = ... @@ -1199,36 +1858,53 @@ class DateTimeField(_BaseFormattedField): minute: Any = ... second: Any = ... + class DateField(_BaseFormattedField): field_type: str = ... formats: Any = ... + def adapt(self, value: Any): ... + def to_timestamp(self): ... + def truncate(self, part: Any): ... + year: Any = ... month: Any = ... day: Any = ... + class TimeField(_BaseFormattedField): field_type: str = ... formats: Any = ... + def adapt(self, value: Any): ... + hour: Any = ... minute: Any = ... second: Any = ... + class TimestampField(BigIntegerField): valid_resolutions: Any = ... resolution: Any = ... ticks_to_microsecond: Any = ... utc: Any = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def local_to_utc(self, dt: Any): ... + def utc_to_local(self, dt: Any): ... + def get_timestamp(self, value: Any): ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + def from_timestamp(self): ... + year: Any = ... month: Any = ... day: Any = ... @@ -1236,19 +1912,26 @@ class TimestampField(BigIntegerField): minute: Any = ... second: Any = ... + class IPField(BigIntegerField): def db_value(self, val: Any): ... + def python_value(self, val: Any): ... + class BooleanField(Field): field_type: str = ... adapt: Any = ... + class BareField(Field): adapt: Any = ... + def __init__(self, adapt: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... + def ddl_datatype(self, ctx: Any) -> None: ... + class ForeignKeyField(Field): accessor_class: Any = ... rel_model: Any = ... @@ -1261,50 +1944,70 @@ class ForeignKeyField(Field): deferred: Any = ... object_id_name: Any = ... lazy_load: Any = ... + def __init__( - self, - model: Any, - field: Optional[Any] = ..., - backref: Optional[Any] = ..., - on_delete: Optional[Any] = ..., - on_update: Optional[Any] = ..., - deferrable: Optional[Any] = ..., - _deferred: Optional[Any] = ..., - rel_model: Optional[Any] = ..., - to_field: Optional[Any] = ..., - object_id_name: Optional[Any] = ..., - lazy_load: bool = ..., - related_name: Optional[Any] = ..., - *args: Any, - **kwargs: Any, + self, + model: Any, + field: Optional[Any] = ..., + backref: Optional[Any] = ..., + on_delete: Optional[Any] = ..., + on_update: Optional[Any] = ..., + deferrable: Optional[Any] = ..., + _deferred: Optional[Any] = ..., + rel_model: Optional[Any] = ..., + to_field: Optional[Any] = ..., + object_id_name: Optional[Any] = ..., + lazy_load: bool = ..., + related_name: Optional[Any] = ..., + *args: Any, + **kwargs: Any, ) -> None: ... + @property def field_type(self): ... + def get_modifiers(self): ... + def adapt(self, value: Any): ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + column_name: Any = ... safe_name: Any = ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + def foreign_key_constraint(self): ... + def __getattr__(self, attr: Any): ... + class DeferredForeignKey(Field): field_kwargs: Any = ... rel_model_name: Any = ... + def __init__(self, rel_model_name: Any, **kwargs: Any) -> None: ... + __hash__: Any = ... + def __deepcopy__(self, memo: Optional[Any] = ...): ... + def set_model(self, rel_model: Any) -> None: ... + @staticmethod def resolve(model_cls: Any) -> None: ... + class DeferredThroughModel: def __init__(self) -> None: ... + def set_field(self, model: Any, field: Any, name: Any) -> None: ... + def set_model(self, through_model: Any) -> None: ... + class MetaField(Field): column_name: Any = ... default: Any = ... @@ -1312,94 +2015,147 @@ class MetaField(Field): name: Any = ... primary_key: bool = ... + class ManyToManyFieldAccessor(FieldAccessor): model: Any = ... rel_model: Any = ... through_model: Any = ... src_fk: Any = ... dest_fk: Any = ... + def __init__(self, model: Any, field: Any, name: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ..., force_query: bool = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + class ManyToManyField(MetaField): accessor_class: Any = ... rel_model: Any = ... backref: Any = ... + def __init__( - self, - model: Any, - backref: Optional[Any] = ..., - through_model: Optional[Any] = ..., - on_delete: Optional[Any] = ..., - on_update: Optional[Any] = ..., - _is_backref: bool = ..., + self, + model: Any, + backref: Optional[Any] = ..., + through_model: Optional[Any] = ..., + on_delete: Optional[Any] = ..., + on_update: Optional[Any] = ..., + _is_backref: bool = ..., ) -> None: ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + def get_models(self): ... + @property def through_model(self): ... + @through_model.setter def through_model(self, value: Any) -> None: ... + def get_through_model(self): ... + class VirtualField(MetaField): field_class: Any = ... field_instance: Any = ... + def __init__(self, field_class: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + model: Any = ... column_name: Any = ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + class CompositeKey(MetaField): sequence: Any = ... field_names: Any = ... + def __init__(self, *field_names: Any) -> None: ... + @property def safe_field_names(self): ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + def __eq__(self, other: Any) -> Any: ... + def __ne__(self, other: Any) -> Any: ... + def __hash__(self) -> Any: ... + def __sql__(self, ctx: Any): ... + model: Any = ... column_name: Any = ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + class _SortedFieldList: def __init__(self) -> None: ... + def __getitem__(self, i: Any): ... + def __iter__(self) -> Any: ... + def __contains__(self, item: Any): ... + def index(self, field: Any): ... + def insert(self, item: Any) -> None: ... + def remove(self, item: Any) -> None: ... + class SchemaManager: model: Any = ... context_options: Any = ... + def __init__(self, model: Any, database: Optional[Any] = ..., **context_options: Any) -> None: ... + @property def database(self): ... + @database.setter def database(self, value: Any) -> None: ... + def create_table(self, safe: bool = ..., **options: Any) -> None: ... + def create_table_as(self, table_name: Any, query: Any, safe: bool = ..., **meta: Any) -> None: ... + def drop_table(self, safe: bool = ..., **options: Any) -> None: ... + def truncate_table(self, restart_identity: bool = ..., cascade: bool = ...) -> None: ... + def create_indexes(self, safe: bool = ...) -> None: ... + def drop_indexes(self, safe: bool = ...) -> None: ... + def create_sequence(self, field: Any) -> None: ... + def drop_sequence(self, field: Any) -> None: ... + def create_foreign_key(self, field: Any) -> None: ... + def create_sequences(self) -> None: ... + def create_all(self, safe: bool = ..., **table_options: Any) -> None: ... + def drop_sequences(self) -> None: ... + def drop_all(self, safe: bool = ..., drop_sequences: bool = ..., **options: Any) -> None: ... + class Metadata: model: Any = ... database: Any = ... @@ -1428,306 +2184,475 @@ class Metadata: model_backrefs: Any = ... manytomany: Any = ... options: Any = ... + def __init__( - self, - model: Any, - database: Optional[Any] = ..., - table_name: Optional[Any] = ..., - indexes: Optional[Any] = ..., - primary_key: Optional[Any] = ..., - constraints: Optional[Any] = ..., - schema: Optional[Any] = ..., - only_save_dirty: bool = ..., - depends_on: Optional[Any] = ..., - options: Optional[Any] = ..., - db_table: Optional[Any] = ..., - table_function: Optional[Any] = ..., - table_settings: Optional[Any] = ..., - without_rowid: bool = ..., - temporary: bool = ..., - legacy_table_names: bool = ..., - **kwargs: Any, + self, + model: Any, + database: Optional[Any] = ..., + table_name: Optional[Any] = ..., + indexes: Optional[Any] = ..., + primary_key: Optional[Any] = ..., + constraints: Optional[Any] = ..., + schema: Optional[Any] = ..., + only_save_dirty: bool = ..., + depends_on: Optional[Any] = ..., + options: Optional[Any] = ..., + db_table: Optional[Any] = ..., + table_function: Optional[Any] = ..., + table_settings: Optional[Any] = ..., + without_rowid: bool = ..., + temporary: bool = ..., + legacy_table_names: bool = ..., + **kwargs: Any, ) -> None: ... + def make_table_name(self): ... + def model_graph(self, refs: bool = ..., backrefs: bool = ..., depth_first: bool = ...): ... + def add_ref(self, field: Any) -> None: ... + def remove_ref(self, field: Any) -> None: ... + def add_manytomany(self, field: Any) -> None: ... + def remove_manytomany(self, field: Any) -> None: ... + @property def table(self): ... + @table.setter def table(self, value: Any) -> None: ... + def table(self) -> None: ... + @property def schema(self): ... + @schema.setter def schema(self, value: Any) -> None: ... + @property def entity(self): ... + def get_rel_for_model(self, model: Any): ... + def add_field(self, field_name: Any, field: Any, set_attribute: bool = ...) -> None: ... + def remove_field(self, field_name: Any) -> None: ... + auto_increment: Any = ... + def set_primary_key(self, name: Any, field: Any) -> None: ... + def get_primary_keys(self): ... + def get_default_dict(self): ... + def fields_to_index(self): ... + def set_database(self, database: Any) -> None: ... + def set_table_name(self, table_name: Any) -> None: ... + class SubclassAwareMetadata(Metadata): models: Any = ... + def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... + def map_models(self, fn: Any) -> None: ... + class DoesNotExist(Exception): ... + class ModelBase(type): inheritable: Any = ... + def __new__(cls, name: Any, bases: Any, attrs: Any): ... + def __iter__(self) -> Any: ... + def __getitem__(self, key: Any): ... + def __setitem__(self, key: Any, value: Any) -> None: ... + def __delitem__(self, key: Any) -> None: ... + def __contains__(self, key: Any): ... + def __len__(self): ... + def __bool__(self): ... + __nonzero__: Any = ... + def __sql__(self, ctx: Any): ... + class _BoundModelsContext(_callable_context_manager): models: Any = ... database: Any = ... bind_refs: Any = ... bind_backrefs: Any = ... + def __init__(self, models: Any, database: Any, bind_refs: Any, bind_backrefs: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + _Cls = TypeVar("_Cls") + class Model: __data__: Dict[str, Any] = ... __rel__: Any = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + @classmethod def validate_model(cls) -> None: ... + @classmethod def alias(cls, alias: Optional[str] = ...) -> ModelAlias: ... + @classmethod def select(cls, *fields: Any): ... + @classmethod def update(cls, __data: Optional[Any] = ..., **update: Any): ... + @classmethod def insert(cls, __data: Optional[Any] = ..., **insert: Any): ... + @classmethod def insert_many(cls, rows: Any, fields: Optional[Any] = ...): ... + @classmethod def insert_from(cls, query: Any, fields: Any): ... + @classmethod def replace(cls, __data: Optional[Any] = ..., **insert: Any): ... + @classmethod def replace_many(cls, rows: Any, fields: Optional[Any] = ...): ... + @classmethod def raw(cls, sql: Any, *params: Any): ... + @classmethod def delete(cls): ... + @classmethod def create(cls: Type[_Cls], **query: Any) -> _Cls: ... + @classmethod def bulk_create(cls, model_list: Any, batch_size: Optional[Any] = ...) -> None: ... + @classmethod def bulk_update(cls, model_list: Any, fields: Any, batch_size: Optional[Any] = ...): ... + @classmethod def noop(cls): ... + @classmethod def get(cls: Type[_Cls], *query: Any, **filters: Any) -> _Cls: ... + @classmethod def get_or_none(cls: Type[_Cls], *query: Any, **filters: Any) -> Optional[_Cls]: ... + @classmethod def get_by_id(cls: Type[_Cls], pk: Any) -> _Cls: ... + @classmethod def set_by_id(cls, key: Any, value: Any): ... + @classmethod def delete_by_id(cls, pk: Any): ... + @classmethod def get_or_create(cls, **kwargs: Any): ... + @classmethod def filter(cls, *dq_nodes: Any, **filters: Any): ... + def get_id(self): ... + def save(self, force_insert: bool = ..., only: Optional[Any] = ...): ... + def is_dirty(self): ... + @property def dirty_fields(self): ... + def dependencies(self, search_nullable: bool = ...) -> None: ... + def delete_instance(self, recursive: bool = ..., delete_nullable: bool = ...): ... + def __hash__(self) -> Any: ... + def __eq__(self, other: Any) -> Any: ... + def __ne__(self, other: Any) -> Any: ... + def __sql__(self, ctx: Any): ... + @classmethod def bind(cls, database: Any, bind_refs: bool = ..., bind_backrefs: bool = ..., _exclude: Optional[Any] = ...): ... + @classmethod def bind_ctx(cls, database: Any, bind_refs: bool = ..., bind_backrefs: bool = ...): ... + @classmethod def table_exists(cls): ... + @classmethod def create_table(cls, safe: bool = ..., **options: Any) -> None: ... + @classmethod def drop_table(cls, safe: bool = ..., drop_sequences: bool = ..., **options: Any) -> None: ... + @classmethod def truncate_table(cls, **options: Any) -> None: ... + @classmethod def index(cls, *fields: Any, **kwargs: Any): ... + @classmethod def add_index(cls, *fields: Any, **kwargs: Any) -> None: ... + class ModelAlias(Node): def __init__(self, model: Type[Model], alias: Optional[str] = ...) -> None: ... + def __getattr__(self, attr: Any) -> Any: ... + def get_field_aliases(self) -> List[str]: ... + def select(self, *selection: Union[Field, str, Model, ModelAlias, Table]) -> ModelSelect: ... + def __call__(self, **kwargs: Any): ... + def __sql__(self, ctx: Any): ... + class FieldAlias(Field): source: Any = ... model: Any = ... field: Any = ... + def __init__(self, source: Any, field: Any) -> None: ... + @classmethod def create(cls, source: Any, field: Any): ... + def clone(self): ... + def adapt(self, value: Any): ... + def python_value(self, value: Any): ... + def db_value(self, value: Any): ... + def __getattr__(self, attr: Any): ... + def __sql__(self, ctx: Any): ... + class _ModelQueryHelper: default_row_type: Any = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def objects(self, constructor: Optional[Any] = ...) -> None: ... + class ModelRaw(_ModelQueryHelper, RawQuery): model: Any = ... + def __init__(self, model: Any, sql: Any, params: Any, **kwargs: Any) -> None: ... + def get(self): ... + class BaseModelSelect(_ModelQueryHelper): def union_all(self, rhs: Any): ... + __add__: Any = ... + def union(self, rhs: Any): ... + __or__: Any = ... + def intersect(self, rhs: Any): ... + __and__: Any = ... + def except_(self, rhs: Any): ... + __sub__: Any = ... + def __iter__(self) -> Any: ... + def prefetch(self, *subqueries: Any): ... + def get(self, database: Optional[Any] = ...): ... + def group_by(self, *columns: Any) -> None: ... + class ModelCompoundSelectQuery(BaseModelSelect, CompoundSelectQuery): model: Any = ... + def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... + _Selection = Union[Field, str, Model, ModelAlias, Table] + class ModelSelect(BaseModelSelect, Select): model: Any = ... + def __init__( - self, - model: Union[Type[Model], model, Type[ModelAlias], ModelAlias], - fields_or_models: List[_Selection], - is_default: bool = ..., + self, + model: Union[Type[Model], model, Type[ModelAlias], ModelAlias], + fields_or_models: List[_Selection], + is_default: bool = ..., ) -> None: ... + def clone(self) -> ModelSelect: ... + def select(self, *fields_or_models: List[_Selection]) -> ModelSelect: ... + def switch(self: _SelfT, ctx: Optional[Any] = ...) -> _SelfT: ... + def join( - self, dest: Any, join_type: str = ..., on: Optional[Any] = ..., src: Optional[Any] = ..., attr: Optional[Any] = ... + self, dest: Any, join_type: str = ..., on: Optional[Any] = ..., src: Optional[Any] = ..., attr: Optional[Any] = ... ) -> None: ... + def join_from(self, src: Any, dest: Any, join_type: Any = ..., on: Optional[Any] = ..., attr: Optional[Any] = ...): ... + def ensure_join(self, lm: Any, rm: Any, on: Optional[Any] = ..., **join_kwargs: Any): ... + def convert_dict_to_node(self, qdict: Any): ... + def filter(self, *args: Any, **kwargs: Any): ... + def create_table(self, name: Any, safe: bool = ..., **meta: Any): ... + def __sql_selection__(self, ctx: Any, is_subquery: bool = ...): ... + class NoopModelSelect(ModelSelect): def __sql__(self, ctx: Any): ... + class _ModelWriteQueryHelper(_ModelQueryHelper): model: Any = ... + def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... + def returning(self, *returning: Any): ... + class ModelUpdate(_ModelWriteQueryHelper, Update): ... + class ModelInsert(_ModelWriteQueryHelper, Insert): default_row_type: Any = ... + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def returning(self, *returning: Any): ... + def get_default_data(self): ... + def get_default_columns(self): ... + class ModelDelete(_ModelWriteQueryHelper, Delete): ... + class ManyToManyQuery(ModelSelect): def __init__(self, instance: Any, accessor: Any, rel: Any, *args: Any, **kwargs: Any) -> None: ... + def add(self, value: Any, clear_existing: bool = ...) -> None: ... + def remove(self, value: Any): ... + def clear(self): ... + class BaseModelCursorWrapper(DictCursorWrapper): model: Any = ... select: Any = ... + def __init__(self, cursor: Any, model: Any, columns: Any) -> None: ... + initialize: Any = ... + def process_row(self, row: Any) -> None: ... + class ModelDictCursorWrapper(BaseModelCursorWrapper): def process_row(self, row: Any): ... + class ModelTupleCursorWrapper(ModelDictCursorWrapper): constructor: Any = ... + def process_row(self, row: Any): ... + class ModelNamedTupleCursorWrapper(ModelTupleCursorWrapper): tuple_class: Any = ... constructor: Any = ... + def initialize(self): ... + class ModelObjectCursorWrapper(ModelDictCursorWrapper): constructor: Any = ... is_model: Any = ... + def __init__(self, cursor: Any, model: Any, select: Any, constructor: Any) -> None: ... + def process_row(self, row: Any): ... + class ModelCursorWrapper(BaseModelCursorWrapper): from_list: Any = ... joins: Any = ... + def __init__(self, cursor: Any, model: Any, select: Any, from_list: Any, joins: Any) -> None: ... + key_to_constructor: Any = ... src_is_dest: Any = ... src_to_dest: Any = ... column_keys: Any = ... + def initialize(self) -> None: ... + def process_row(self, row: Any): ... + class PrefetchQuery: def __new__( - cls, - query: Any, - fields: Optional[Any] = ..., - is_backref: Optional[Any] = ..., - rel_models: Optional[Any] = ..., - field_to_name: Optional[Any] = ..., - model: Optional[Any] = ..., + cls, + query: Any, + fields: Optional[Any] = ..., + is_backref: Optional[Any] = ..., + rel_models: Optional[Any] = ..., + field_to_name: Optional[Any] = ..., + model: Optional[Any] = ..., ): ... + def populate_instance(self, instance: Any, id_map: Any) -> None: ... + def store_instance(self, instance: Any, id_map: Any) -> None: ... + def prefetch(sq: Any, *subqueries: Any): ... From fd57e7deb4038bb223b0173724bf9cea6d8e53f3 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Fri, 26 Jun 2020 10:32:12 +0800 Subject: [PATCH 04/37] Column --- third_party/2and3/peewee.pyi | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 78e7b06b2d97..7aa7f2dff261 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -442,17 +442,17 @@ class ColumnBase(Node): def get_sort_key(self, ctx: Any) -> Tuple[str]: ... -class Column(ColumnBase): - source: Any = ... - name: Any = ... +class Column(ColumnBase, Generic[_NodeLike]): + source: _NodeLike = ... + name: str = ... - def __init__(self, source: Any, name: Any) -> None: ... + def __init__(self, source: _NodeLike, name: str) -> None: ... - def get_sort_key(self, ctx: Any): ... + def get_sort_key(self, ctx: Context) -> Tuple[str, ...]: ... - def __hash__(self) -> Any: ... + def __hash__(self) -> int: ... - def __sql__(self, ctx: Any): ... + def __sql__(self, ctx: Context) -> Context: ... class WrappedNode(ColumnBase, Generic[_NodeLike]): From 7bc5f255347b513d68af8311fc7935b8ded34414 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Fri, 26 Jun 2020 10:44:58 +0800 Subject: [PATCH 05/37] Tuple --- third_party/2and3/peewee.pyi | 1264 +++++----------------------------- 1 file changed, 185 insertions(+), 1079 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 7aa7f2dff261..4a6635bcae15 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -32,215 +32,135 @@ _SelfT = TypeVar("_SelfT") T = TypeVar("T") K = TypeVar("K") - class attrdict(Dict[str, T], Generic[T]): def __getattr__(self, attr: str) -> T: ... - def __setattr__(self, attr: str, value: T) -> None: ... - def __iadd__(self: _SelfT, rhs: Mapping[str, T]) -> _SelfT: ... - def __add__(self: _SelfT, rhs: Mapping[str, T]) -> _SelfT: ... - OP: attrdict[str] DJANGO_MAP: attrdict[Callable[[Any, Any], Any]] JOIN: attrdict[str] - def chunked(it: Iterator[T], n: int) -> Generator[List[T], None, None]: ... - _CallBack = TypeVar("_CallBack", bound=Callable[[Any], None]) - class _callable_context_manager(ContextManager): - def __call__(self, fn: Callable[..., Any]) -> Callable[..., Any]: - ... - + def __call__(self, fn: Callable[..., Any]) -> Callable[..., Any]: ... class Proxy: def __init__(self) -> None: ... - obj: Any = ... _callbacks: List[_CallBack] = ... - def initialize(self, obj: Any) -> None: ... - def attach_callback(self, callback: _CallBack) -> _CallBack: ... - def passthrough(method: Any): ... - __enter__: Callable[..., Any] = ... __exit__: Callable[..., Any] = ... - def __getattr__(self, attr: Any) -> Any: ... - def __setattr__(self, attr: Any, value: Any) -> None: ... - class DatabaseProxy(Proxy): def connection_context(self) -> ConnectionContext: ... - def atomic(self, *args: Any, **kwargs: Any): ... - def manual_commit(self): ... - def transaction(self, *args: Any, **kwargs: Any): ... - def savepoint(self): ... - class ModelDescriptor: ... - class AliasManager: def __init__(self) -> None: ... - @property def mapping(self): ... - def add(self, source: Any): ... - def get(self, source: Any, any_depth: bool = ...): ... - def __getitem__(self, source: Any): ... - def __setitem__(self, source: Any, alias: Any) -> None: ... - def push(self) -> None: ... - def pop(self) -> None: ... - class State: def __new__(cls, scope: Any = ..., parentheses: bool = ..., **kwargs: Any): ... - def __call__(self, scope: Optional[Any] = ..., parentheses: Optional[Any] = ..., **kwargs: Any): ... - def __getattr__(self, attr_name: Any): ... - class Context: stack: Any = ... alias_manager: Any = ... state: Any = ... - def __init__(self, **settings: Any) -> None: ... - def as_new(self): ... - def column_sort_key(self, item: Any): ... - @property def scope(self): ... - @property def parentheses(self): ... - @property def subquery(self): ... - def __call__(self, **overrides: Any): ... - scope_normal: Any = ... scope_source: Any = ... scope_values: Any = ... scope_cte: Any = ... scope_column: Any = ... - def __enter__(self): ... - def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... - def push_alias(self) -> None: ... - def sql(self, obj: Any): ... - def literal(self, keyword: Any): ... - def value(self, value: Any, converter: Optional[Any] = ..., add_param: bool = ...): ... - def __sql__(self, ctx: Any): ... - def parse(self, node: Any): ... - def query(self): ... - class Node: def clone(self): ... - def __sql__(self, ctx: Any) -> None: ... - @staticmethod def copy(method: Any): ... - def coerce(self, _coerce: bool = ...): ... - def is_alias(self): ... - def unwrap(self): ... - _NodeLike = TypeVar("_NodeLike", bound=Node) - class ColumnFactory: node: Any = ... - def __init__(self, node: Any) -> None: ... - def __getattr__(self, attr: Any): ... - class _DynamicColumn: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... - class _ExplicitColumn: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... - class Source(Node): c: Any = ... - def __init__(self, alias: Optional[Any] = ...) -> None: ... - def alias(self, name: Any) -> None: ... - def select(self, *columns: Any): ... - def join(self, dest: Any, join_type: Any = ..., on: Optional[Any] = ...): ... - def left_outer_join(self, dest: Any, on: Optional[Any] = ...): ... - - def cte(self, name: Any, recursive: bool = ..., columns: Optional[Any] = ..., materialized: Optional[Any] = ...): ... - + def cte(self, name: Any, recursive: bool = ..., columns: Optional[Any] = ..., + materialized: Optional[Any] = ...): ... def get_sort_key(self, ctx: Any): ... - def apply_alias(self, ctx: Any): ... - def apply_column(self, ctx: Any): ... - class _HashableSource: def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def alias(self, name: Any) -> None: ... - def __hash__(self) -> Any: ... - def __eq__(self, other: Any) -> Any: ... - def __ne__(self, other: Any) -> Any: ... - __lt__: Any = ... __le__: Any = ... __gt__: Any = ... __ge__: Any = ... - class BaseTable(Source): __and__: Any = ... __add__: Any = ... @@ -253,288 +173,175 @@ class BaseTable(Source): __ror__: Any = ... __rmul__: Any = ... - class _BoundTableContext(_callable_context_manager): table: Any = ... database: Any = ... - def __init__(self, table: Any, database: Any) -> None: ... - def __enter__(self): ... - def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... - class Table(_HashableSource, BaseTable): __name__: Any = ... c: Any = ... primary_key: Any = ... - def __init__( - self, - name: Any, - columns: Optional[Any] = ..., - primary_key: Optional[Any] = ..., - schema: Optional[Any] = ..., - alias: Optional[Any] = ..., - _model: Optional[Any] = ..., - _database: Optional[Any] = ..., + self, + name: Any, + columns: Optional[Any] = ..., + primary_key: Optional[Any] = ..., + schema: Optional[Any] = ..., + alias: Optional[Any] = ..., + _model: Optional[Any] = ..., + _database: Optional[Any] = ..., ) -> None: ... - def clone(self): ... - def bind(self, database: Optional[Any] = ...): ... - def bind_ctx(self, database: Optional[Any] = ...): ... - def select(self, *columns: Any): ... - def insert(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any): ... - def replace(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any): ... - def update(self, update: Optional[Any] = ..., **kwargs: Any): ... - def delete(self): ... - def __sql__(self, ctx: Any): ... - class Join(BaseTable): lhs: Any = ... rhs: Any = ... join_type: Any = ... - - def __init__(self, lhs: Any, rhs: Any, join_type: Any = ..., on: Optional[Any] = ..., alias: Optional[Any] = ...) -> None: ... - + def __init__(self, lhs: Any, rhs: Any, join_type: Any = ..., on: Optional[Any] = ..., + alias: Optional[Any] = ...) -> None: ... def on(self, predicate: Any): ... - def __sql__(self, ctx: Any): ... - class ValuesList(_HashableSource, BaseTable): def __init__(self, values: Any, columns: Optional[Any] = ..., alias: Optional[Any] = ...) -> None: ... - def columns(self, *names: Any) -> None: ... - def __sql__(self, ctx: Any): ... - class CTE(_HashableSource, Source): def __init__( - self, name: Any, query: Any, recursive: bool = ..., columns: Optional[Any] = ..., materialized: Optional[Any] = ... + self, name: Any, query: Any, recursive: bool = ..., columns: Optional[Any] = ..., + materialized: Optional[Any] = ... ) -> None: ... - def select_from(self, *columns: Any): ... - def union_all(self, rhs: Any): ... - __add__: Any = ... - def union(self, rhs: Any): ... - __or__: Any = ... - def __sql__(self, ctx: Any): ... - class ColumnBase(Node): def alias(self: _SelfT, alias: bool) -> Union[_SelfT, Alias]: ... - def unalias(self: _SelfT) -> _SelfT: ... - def cast(self, as_type: str) -> Cast: ... - def asc(self, collation: Optional[Any] = ..., nulls: Optional[_sort_nulls] = ...) -> Ordering: ... - def __pos__(self) -> Ordering: ... - def desc(self, collation: Optional[Any] = ..., nulls: Optional[_sort_nulls] = ...) -> Ordering: ... - def __neg__(self) -> Ordering: ... - def __invert__(self) -> Negated: ... - def __and__(self, rhs: Any) -> Expression: ... - def __or__(self, rhs: Any) -> Expression: ... - def __add__(self, rhs: Any) -> Expression: ... - def __sub__(self, rhs: Any) -> Expression: ... - def __mul__(self, rhs: Any) -> Expression: ... - def __div__(self, rhs: Any) -> Expression: ... - def __truediv__(self, rhs: Any) -> Expression: ... - def __xor__(self, rhs: Any) -> Expression: ... - def __radd__(self, rhs: Any) -> Expression: ... - def __rsub__(self, rhs: Any) -> Expression: ... - def __rmul__(self, rhs: Any) -> Expression: ... - def __rdiv__(self, rhs: Any) -> Expression: ... - def __rtruediv__(self, rhs: Any) -> Expression: ... - def __rand__(self, rhs: Any) -> Expression: ... - def __ror__(self, rhs: Any) -> Expression: ... - def __rxor__(self, rhs: Any) -> Expression: ... - def __eq__(self, rhs: Any) -> Expression: ... # type: ignore[override] - def __ne__(self, rhs: Any) -> Expression: ... # type: ignore[override] - def __lt__(self, rhs: Any) -> Expression: ... - def __le__(self, rhs: Any) -> Expression: ... - def __gt__(self, rhs: Any) -> Expression: ... - def __ge__(self, rhs: Any) -> Expression: ... - def __lshift__(self, rhs: Any) -> Expression: ... - def __rshift__(self, rhs: Any) -> Expression: ... - def __mod__(self, rhs: Any) -> Expression: ... - def __pow__(self, rhs: Any) -> Expression: ... - - def bin_and(self, rhs: Any) -> Expression: ... - + def bin_and(self, rhs: Any) -> Expression: ... def bin_or(self, rhs: Any) -> Expression: ... - def in_(self, rhs: Any) -> Expression: ... - def not_in(self, rhs: Any) -> Expression: ... - def regexp(self, rhs: Any) -> Expression: ... - def is_null(self, is_null: bool = ...) -> Expression: ... - def contains(self, rhs: Any) -> Expression: ... - def startswith(self, rhs: Any) -> Expression: ... - def endswith(self, rhs: Any) -> Expression: ... - def between(self, lo: Any, hi: Any) -> Expression: ... - def concat(self, rhs: Any) -> StringExpression: ... - def regexp(self, rhs: Any) -> Expression: ... - def iregexp(self, rhs: Any) -> Expression: ... - def __getitem__(self, item: Any) -> Expression: ... - def distinct(self) -> NodeList: ... - def collate(self, collation: Any) -> NodeList: ... - def get_sort_key(self, ctx: Any) -> Tuple[str]: ... - class Column(ColumnBase, Generic[_NodeLike]): source: _NodeLike = ... name: str = ... - def __init__(self, source: _NodeLike, name: str) -> None: ... - def get_sort_key(self, ctx: Context) -> Tuple[str, ...]: ... - def __hash__(self) -> int: ... - def __sql__(self, ctx: Context) -> Context: ... - class WrappedNode(ColumnBase, Generic[_NodeLike]): node: _NodeLike = ... - def __init__(self, node: _NodeLike) -> None: ... - def is_alias(self) -> bool: ... - def unwrap(self) -> _NodeLike: ... - class EntityFactory: node: Any = ... - def __init__(self, node: Any) -> None: ... - def __getattr__(self, attr: Any): ... - class _DynamicEntity: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... - class Alias(WrappedNode): c: Any = ... - def __init__(self, node: Any, alias: Any) -> None: ... - def __hash__(self) -> Any: ... - def alias(self, alias: Optional[Any] = ...): ... - def unalias(self): ... - def is_alias(self): ... - def __sql__(self, ctx: Any): ... - class Negated(WrappedNode): def __invert__(self) -> _NodeLike: ... - def __sql__(self, ctx: Context) -> Context: ... - class BitwiseMixin: def __and__(self, other: Any): ... - def __or__(self, other: Any): ... - def __sub__(self, other: Any): ... - def __invert__(self): ... - class BitwiseNegated(BitwiseMixin, WrappedNode): def __invert__(self): ... - def __sql__(self, ctx: Any): ... - class Value(ColumnBase): value: Any = ... converter: Any = ... multi: Any = ... values: Any = ... - def __init__(self, value: Any, converter: Optional[Any] = ..., unpack: bool = ...) -> None: ... - def __sql__(self, ctx: Any): ... - def AsIs(value: Any): ... - class Cast(WrappedNode): def __init__(self, node: ColumnBase, cast: str) -> None: ... - def __sql__(self, ctx: Context) -> Context: ... - _order = str _sort_nulls = str if sys.version_info >= (3, 8): @@ -543,92 +350,65 @@ if sys.version_info >= (3, 8): _order = Literal["ASC", "DESC"] _sort_nulls = Literal["FIRST", "LAST"] - class Ordering(WrappedNode): direction: _order = ... collation: str = ... nulls: Optional[_sort_nulls] = ... - def __init__( - self, node: ColumnBase, direction: _order, collation: Optional[str] = ..., nulls: Optional[_sort_nulls] = ... + self, node: ColumnBase, direction: _order, collation: Optional[str] = ..., nulls: Optional[_sort_nulls] = ... ) -> None: ... - def collate(self, collation: Optional[str] = ...) -> Ordering: ... - def __sql__(self, ctx: Context) -> Context: ... - class Expression(ColumnBase): lhs: Any = ... op: Any = ... rhs: Any = ... flat: Any = ... - def __init__(self, lhs: Any, op: Any, rhs: Any, flat: bool = ...) -> None: ... - def __sql__(self, ctx: Any): ... - class StringExpression(Expression): def __add__(self, rhs: Any): ... - def __radd__(self, lhs: Any): ... - class Entity(ColumnBase): def __init__(self, *path: Any) -> None: ... - def __getattr__(self, attr: Any): ... - def get_sort_key(self, ctx: Any): ... - def __hash__(self) -> Any: ... - def __sql__(self, ctx: Any): ... - class SQL(ColumnBase): sql: Any = ... params: Any = ... - def __init__(self, sql: Any, params: Optional[Any] = ...) -> None: ... - def __sql__(self, ctx: Any): ... - def Check(constraint: Any): ... - class Function(ColumnBase): - name: Any = ... + name: Optional[str] = ... arguments: Any = ... - - def __init__(self, name: Any, arguments: Any, coerce: bool = ..., python_value: Optional[Any] = ...) -> None: ... - - def __getattr__(self, attr: Any): ... - + def __init__(self, name: Optional[str], arguments: Any, coerce: bool = ..., + python_value: Optional[Any] = ...) -> None: ... + def __getattr__(self, attr: str) -> Function: ... def filter(self, where: Optional[Any] = ...) -> None: ... - def order_by(self, *ordering: Any) -> None: ... - def python_value(self, func: Optional[Any] = ...) -> None: ... - def over( - self, - partition_by: Optional[Any] = ..., - order_by: Optional[Any] = ..., - start: Optional[Any] = ..., - end: Optional[Any] = ..., - frame_type: Optional[Any] = ..., - window: Optional[Any] = ..., - exclude: Optional[Any] = ..., + self, + partition_by: Optional[Any] = ..., + order_by: Optional[Any] = ..., + start: Optional[Any] = ..., + end: Optional[Any] = ..., + frame_type: Optional[Any] = ..., + window: Optional[Any] = ..., + exclude: Optional[Any] = ..., ): ... - def __sql__(self, ctx: Any): ... - -fn: Any - +fn: Function class Window(Node): CURRENT_ROW: Any = ... @@ -643,200 +423,129 @@ class Window(Node): start: Any = ... end: Any = ... frame_type: Any = ... - def __init__( - self, - partition_by: Optional[Any] = ..., - order_by: Optional[Any] = ..., - start: Optional[Any] = ..., - end: Optional[Any] = ..., - frame_type: Optional[Any] = ..., - extends: Optional[Any] = ..., - exclude: Optional[Any] = ..., - alias: Optional[Any] = ..., - _inline: bool = ..., + self, + partition_by: Optional[Any] = ..., + order_by: Optional[Any] = ..., + start: Optional[Any] = ..., + end: Optional[Any] = ..., + frame_type: Optional[Any] = ..., + extends: Optional[Any] = ..., + exclude: Optional[Any] = ..., + alias: Optional[Any] = ..., + _inline: bool = ..., ) -> None: ... - def alias(self, alias: Optional[Any] = ...): ... - def as_range(self) -> None: ... - def as_rows(self) -> None: ... - def as_groups(self) -> None: ... - def extends(self, window: Optional[Any] = ...) -> None: ... - def exclude(self, frame_exclusion: Optional[Any] = ...) -> None: ... - @staticmethod def following(value: Optional[Any] = ...): ... - @staticmethod def preceding(value: Optional[Any] = ...): ... - def __sql__(self, ctx: Any): ... - class WindowAlias(Node): window: Any = ... - def __init__(self, window: Any) -> None: ... - def alias(self, window_alias: Any): ... - def __sql__(self, ctx: Any): ... - class ForUpdate(Node): def __init__(self, expr: Any, of: Optional[Any] = ..., nowait: Optional[Any] = ...) -> None: ... - def __sql__(self, ctx: Any): ... - def Case(predicate: Any, expression_tuples: Any, default: Optional[Any] = ...): ... - class NodeList(ColumnBase): nodes: Any = ... glue: Any = ... parens: Any = ... - def __init__(self, nodes: Any, glue: str = ..., parens: bool = ...) -> None: ... - def __sql__(self, ctx: Any): ... - class _Namespace(Node): def __init__(self, name: Any) -> None: ... - def __getattr__(self, attr: Any): ... - __getitem__: Any = ... - class NamespaceAttribute(ColumnBase): def __init__(self, namespace: Any, attribute: Any) -> None: ... - def __sql__(self, ctx: Any): ... - EXCLUDED: Any - class DQ(ColumnBase): query: Any = ... - def __init__(self, **query: Any) -> None: ... - def __invert__(self) -> None: ... - def clone(self): ... - -Tuple: Any - - class QualifiedNames(WrappedNode): def __sql__(self, ctx: Any): ... - class OnConflict(Node): def __init__( - self, - action: Optional[Any] = ..., - update: Optional[Any] = ..., - preserve: Optional[Any] = ..., - where: Optional[Any] = ..., - conflict_target: Optional[Any] = ..., - conflict_where: Optional[Any] = ..., - conflict_constraint: Optional[Any] = ..., + self, + action: Optional[Any] = ..., + update: Optional[Any] = ..., + preserve: Optional[Any] = ..., + where: Optional[Any] = ..., + conflict_target: Optional[Any] = ..., + conflict_where: Optional[Any] = ..., + conflict_constraint: Optional[Any] = ..., ) -> None: ... - def get_conflict_statement(self, ctx: Any, query: Any): ... - def get_conflict_update(self, ctx: Any, query: Any): ... - def preserve(self, *columns: Any) -> None: ... - def update(self, _data: Optional[Any] = ..., **kwargs: Any) -> None: ... - def where(self, *expressions: Any) -> None: ... - def conflict_target(self, *constraints: Any) -> None: ... - def conflict_where(self, *expressions: Any) -> None: ... - def conflict_constraint(self, constraint: Any) -> None: ... - class BaseQuery(Node): default_row_type: Any = ... - def __init__(self, _database: Optional[Any] = ..., **kwargs: Any) -> None: ... - def bind(self, database: Optional[Any] = ...): ... - def clone(self): ... - def dicts(self, as_dict: bool = ...): ... - def tuples(self, as_tuple: bool = ...): ... - def namedtuples(self, as_namedtuple: bool = ...): ... - def objects(self, constructor: Optional[Any] = ...): ... - def __sql__(self, ctx: Any) -> None: ... - def sql(self): ... - def execute(self, database: Any): ... - def iterator(self, database: Optional[Any] = ...): ... - def __iter__(self) -> Any: ... - def __getitem__(self, value: Any): ... - def __len__(self): ... - class RawQuery(BaseQuery): def __init__(self, sql: Optional[Any] = ..., params: Optional[Any] = ..., **kwargs: Any) -> None: ... - def __sql__(self, ctx: Any): ... - class Query(BaseQuery): def __init__( - self, - where: Optional[Any] = ..., - order_by: Optional[Any] = ..., - limit: Optional[Any] = ..., - offset: Optional[Any] = ..., - **kwargs: Any, + self, + where: Optional[Any] = ..., + order_by: Optional[Any] = ..., + limit: Optional[Any] = ..., + offset: Optional[Any] = ..., + **kwargs: Any, ) -> None: ... - def with_cte(self, *cte_list: Any) -> None: ... - def where(self, *expressions: Any) -> None: ... - def orwhere(self, *expressions: Any) -> None: ... - def order_by(self, *values: Any) -> None: ... - def order_by_extend(self, *values: Any) -> None: ... - def limit(self, value: Optional[Any] = ...) -> None: ... - def offset(self, value: Optional[Any] = ...) -> None: ... - def paginate(self, page: Any, paginate_by: int = ...) -> None: ... - def __sql__(self, ctx: Any): ... - class SelectQuery(Query): union_all: Any = ... __add__: Any = ... @@ -850,107 +559,69 @@ class SelectQuery(Query): __ror__: Any = ... __rand__: Any = ... __rsub__: Any = ... - def select_from(self, *columns: Any): ... - class SelectBase(_HashableSource, Source, SelectQuery): def peek(self, database: Any, n: int = ...): ... - def first(self, database: Any, n: int = ...): ... - def scalar(self, database: Any, as_tuple: bool = ...): ... - def count(self, database: Any, clear_limit: bool = ...): ... - def exists(self, database: Any): ... - def get(self, database: Any): ... - class CompoundSelectQuery(SelectBase): lhs: Any = ... op: Any = ... rhs: Any = ... - def __init__(self, lhs: Any, op: Any, rhs: Any) -> None: ... - def exists(self, database: Any): ... - def __sql__(self, ctx: Any): ... - class Select(SelectBase): def __init__( - self, - from_list: Optional[Any] = ..., - columns: Optional[Any] = ..., - group_by: Optional[Any] = ..., - having: Optional[Any] = ..., - distinct: Optional[Any] = ..., - windows: Optional[Any] = ..., - for_update: Optional[Any] = ..., - for_update_of: Optional[Any] = ..., - nowait: Optional[Any] = ..., - lateral: Optional[Any] = ..., - **kwargs: Any, + self, + from_list: Optional[Any] = ..., + columns: Optional[Any] = ..., + group_by: Optional[Any] = ..., + having: Optional[Any] = ..., + distinct: Optional[Any] = ..., + windows: Optional[Any] = ..., + for_update: Optional[Any] = ..., + for_update_of: Optional[Any] = ..., + nowait: Optional[Any] = ..., + lateral: Optional[Any] = ..., + **kwargs: Any, ) -> None: ... - def clone(self): ... - def columns(self, *columns: Any, **kwargs: Any) -> None: ... - select: Any = ... - def select_extend(self, *columns: Any) -> None: ... - def from_(self, *sources: Any) -> None: ... - def join(self, dest: Any, join_type: Any = ..., on: Optional[Any] = ...) -> None: ... - def group_by(self, *columns: Any) -> None: ... - def group_by_extend(self, *values: Any): ... - def having(self, *expressions: Any) -> None: ... - def distinct(self, *columns: Any) -> None: ... - def window(self, *windows: Any) -> None: ... - def for_update(self, for_update: bool = ..., of: Optional[Any] = ..., nowait: Optional[Any] = ...) -> None: ... - def lateral(self, lateral: bool = ...) -> None: ... - def __sql_selection__(self, ctx: Any, is_subquery: bool = ...): ... - def __sql__(self, ctx: Any): ... - class _WriteQuery(Query): table: Any = ... - def __init__(self, table: Any, returning: Optional[Any] = ..., **kwargs: Any) -> None: ... - def returning(self, *returning: Any) -> None: ... - def apply_returning(self, ctx: Any): ... - def execute_returning(self, database: Any): ... - def handle_result(self, database: Any, cursor: Any): ... - def __sql__(self, ctx: Any): ... - class Update(_WriteQuery): def __init__(self, table: Any, update: Optional[Any] = ..., **kwargs: Any) -> None: ... - def from_(self, *sources: Any) -> None: ... - def __sql__(self, ctx: Any): ... - class Insert(_WriteQuery): SIMPLE: int = ... QUERY: int = ... @@ -959,110 +630,81 @@ class Insert(_WriteQuery): class DefaultValuesException(Exception): ... def __init__( - self, - table: Any, - insert: Optional[Any] = ..., - columns: Optional[Any] = ..., - on_conflict: Optional[Any] = ..., - **kwargs: Any, + self, + table: Any, + insert: Optional[Any] = ..., + columns: Optional[Any] = ..., + on_conflict: Optional[Any] = ..., + **kwargs: Any, ) -> None: ... - def where(self, *expressions: Any) -> None: ... - def on_conflict_ignore(self, ignore: bool = ...) -> None: ... - def on_conflict_replace(self, replace: bool = ...) -> None: ... - def on_conflict(self, *args: Any, **kwargs: Any) -> None: ... - def get_default_data(self): ... - def get_default_columns(self): ... - def __sql__(self, ctx: Any): ... - def handle_result(self, database: Any, cursor: Any): ... - class Delete(_WriteQuery): def __sql__(self, ctx: Any): ... - class Index(Node): def __init__( - self, - name: Any, - table: Any, - expressions: Any, - unique: bool = ..., - safe: bool = ..., - where: Optional[Any] = ..., - using: Optional[Any] = ..., + self, + name: Any, + table: Any, + expressions: Any, + unique: bool = ..., + safe: bool = ..., + where: Optional[Any] = ..., + using: Optional[Any] = ..., ) -> None: ... - def safe(self, _safe: bool = ...) -> None: ... - def where(self, *expressions: Any) -> None: ... - def using(self, _using: Optional[Any] = ...) -> None: ... - def __sql__(self, ctx: Any): ... - class ModelIndex(Index): def __init__( - self, - model: Any, - fields: Any, - unique: bool = ..., - safe: bool = ..., - where: Optional[Any] = ..., - using: Optional[Any] = ..., - name: Optional[Any] = ..., + self, + model: Any, + fields: Any, + unique: bool = ..., + safe: bool = ..., + where: Optional[Any] = ..., + using: Optional[Any] = ..., + name: Optional[Any] = ..., ) -> None: ... - class PeeweeException(Exception): + orig: Exception def __init__(self, *args: Any) -> None: ... - class ImproperlyConfigured(PeeweeException): ... - class DatabaseError(PeeweeException): ... - class DataError(DatabaseError): ... - class IntegrityError(DatabaseError): ... - class InterfaceError(PeeweeException): ... - class InternalError(DatabaseError): ... - class NotSupportedError(DatabaseError): ... - class OperationalError(DatabaseError): ... - class ProgrammingError(DatabaseError): ... - class ExceptionWrapper: exceptions: Any = ... - def __init__(self, exceptions: Any) -> None: ... - def __enter__(self) -> None: ... - def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ... - IndexMetadata = namedtuple("IndexMetadata", ["name", "sql", "columns", "unique", "table"]) ColumnMetadata = namedtuple("ColumnMetadata", ["name", "data_type", "null", "primary_key", "table", "default"]) @@ -1071,39 +713,27 @@ ForeignKeyMetadata = namedtuple("ForeignKeyMetadata", ["column", "dest_table", " ViewMetadata = namedtuple("ViewMetadata", ["name", "sql"]) - class _ConnectionState: def __init__(self, **kwargs: Any) -> None: ... - closed: bool = ... conn: Any = ... ctx: Any = ... transactions: Any = ... - def reset(self) -> None: ... - def set_connection(self, conn: Any) -> None: ... - class _ConnectionLocal(_ConnectionState, threading.local): ... - class _NoopLock: def __enter__(self): ... - def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... - class ConnectionContext(_callable_context_manager): db: Any = ... - def __init__(self, db: Any) -> None: ... - def __enter__(self) -> None: ... - def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... - class Database(_callable_context_manager): context_class: Any = ... field_types: Any = ... @@ -1126,127 +756,72 @@ class Database(_callable_context_manager): autorollback: Any = ... thread_safe: Any = ... connect_params: Any = ... - def __init__( - self, - database: Any, - thread_safe: bool = ..., - autorollback: bool = ..., - field_types: Optional[Any] = ..., - operations: Optional[Any] = ..., - autocommit: Optional[Any] = ..., - autoconnect: bool = ..., - **kwargs: Any, + self, + database: Any, + thread_safe: bool = ..., + autorollback: bool = ..., + field_types: Optional[Any] = ..., + operations: Optional[Any] = ..., + autocommit: Optional[Any] = ..., + autoconnect: bool = ..., + **kwargs: Any, ) -> None: ... - database: Any = ... deferred: Any = ... - def init(self, database: Any, **kwargs: Any) -> None: ... - def __enter__(self): ... - def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... - def connection_context(self): ... - def connect(self, reuse_if_open: bool = ...): ... - def close(self): ... - def is_closed(self): ... - def is_connection_usable(self): ... - def connection(self): ... - def cursor(self, commit: Optional[Any] = ...): ... - def execute_sql(self, sql: Any, params: Optional[Any] = ..., commit: Any = ...): ... - def execute(self, query: Any, commit: Any = ..., **context_options: Any): ... - def get_context_options(self): ... - def get_sql_context(self, **context_options: Any): ... - def conflict_statement(self, on_conflict: Any, query: Any) -> None: ... - def conflict_update(self, on_conflict: Any, query: Any) -> None: ... - def last_insert_id(self, cursor: Any, query_type: Optional[Any] = ...): ... - def rows_affected(self, cursor: Any): ... - def default_values_insert(self, ctx: Any): ... - def session_start(self): ... - def session_commit(self): ... - def session_rollback(self): ... - def in_transaction(self): ... - def push_transaction(self, transaction: Any) -> None: ... - def pop_transaction(self): ... - def transaction_depth(self): ... - def top_transaction(self): ... - def atomic(self, *args: Any, **kwargs: Any): ... - def manual_commit(self): ... - def transaction(self, *args: Any, **kwargs: Any): ... - def savepoint(self): ... - def begin(self) -> None: ... - def commit(self): ... - def rollback(self): ... - def batch_commit(self, it: Any, n: Any) -> None: ... - def table_exists(self, table_name: Any, schema: Optional[Any] = ...): ... - def get_tables(self, schema: Optional[Any] = ...) -> None: ... - def get_indexes(self, table: Any, schema: Optional[Any] = ...) -> None: ... - def get_columns(self, table: Any, schema: Optional[Any] = ...) -> None: ... - def get_primary_keys(self, table: Any, schema: Optional[Any] = ...) -> None: ... - def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...) -> None: ... - def sequence_exists(self, seq: Any) -> None: ... - def create_tables(self, models: Any, **options: Any) -> None: ... - def drop_tables(self, models: Any, **kwargs: Any) -> None: ... - def extract_date(self, date_part: Any, date_field: Any) -> None: ... - def truncate_date(self, date_part: Any, date_field: Any) -> None: ... - def to_timestamp(self, date_field: Any) -> None: ... - def from_timestamp(self, date_field: Any) -> None: ... - def random(self): ... - def bind(self, models: Any, bind_refs: bool = ..., bind_backrefs: bool = ...) -> None: ... - def bind_ctx(self, models: Any, bind_refs: bool = ..., bind_backrefs: bool = ...): ... - def get_noop_select(self, ctx: Any): ... - class SqliteDatabase(Database): field_types: Any = ... operations: Any = ... @@ -1255,13 +830,9 @@ class SqliteDatabase(Database): server_version: Any = ... truncate_table: bool = ... nulls_ordering: Any = ... - def __init__(self, database: Any, *args: Any, **kwargs: Any) -> None: ... - def init(self, database: Any, pragmas: Optional[Any] = ..., timeout: int = ..., **kwargs: Any) -> None: ... - def pragma(self, key: Any, value: Any = ..., permanent: bool = ..., schema: Optional[Any] = ...): ... - cache_size: Any = ... foreign_keys: Any = ... journal_mode: Any = ... @@ -1271,80 +842,44 @@ class SqliteDatabase(Database): read_uncommitted: Any = ... synchronous: Any = ... wal_autocheckpoint: Any = ... - @property def timeout(self): ... - @timeout.setter def timeout(self, seconds: Any) -> None: ... - def register_aggregate(self, klass: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... - def aggregate(self, name: Optional[Any] = ..., num_params: int = ...): ... - def register_collation(self, fn: Any, name: Optional[Any] = ...): ... - def collation(self, name: Optional[Any] = ...): ... - def register_function(self, fn: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... - def func(self, name: Optional[Any] = ..., num_params: int = ...): ... - def register_window_function(self, klass: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... - def window_function(self, name: Optional[Any] = ..., num_params: int = ...): ... - def register_table_function(self, klass: Any, name: Optional[Any] = ...) -> None: ... - def table_function(self, name: Optional[Any] = ...): ... - def unregister_aggregate(self, name: Any) -> None: ... - def unregister_collation(self, name: Any) -> None: ... - def unregister_function(self, name: Any) -> None: ... - def unregister_window_function(self, name: Any) -> None: ... - def unregister_table_function(self, name: Any): ... - def load_extension(self, extension: Any) -> None: ... - def unload_extension(self, extension: Any) -> None: ... - def attach(self, filename: Any, name: Any): ... - def detach(self, name: Any): ... - def begin(self, lock_type: Optional[Any] = ...) -> None: ... - def get_tables(self, schema: Optional[Any] = ...): ... - def get_views(self, schema: Optional[Any] = ...): ... - def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... - def get_columns(self, table: Any, schema: Optional[Any] = ...): ... - def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... - def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... - def get_binary_type(self): ... - def conflict_statement(self, on_conflict: Any, query: Any): ... - def conflict_update(self, oc: Any, query: Any): ... - def extract_date(self, date_part: Any, date_field: Any): ... - def truncate_date(self, date_part: Any, date_field: Any): ... - def to_timestamp(self, date_field: Any): ... - def from_timestamp(self, date_field: Any): ... - class PostgresqlDatabase(Database): field_types: Any = ... operations: Any = ... @@ -1356,53 +891,33 @@ class PostgresqlDatabase(Database): returning_clause: bool = ... safe_create_index: bool = ... sequences: bool = ... - def init( - self, - database: Any, - register_unicode: bool = ..., - encoding: Optional[Any] = ..., - isolation_level: Optional[Any] = ..., - **kwargs: Any, + self, + database: Any, + register_unicode: bool = ..., + encoding: Optional[Any] = ..., + isolation_level: Optional[Any] = ..., + **kwargs: Any, ) -> None: ... - def is_connection_usable(self): ... - def last_insert_id(self, cursor: Any, query_type: Optional[Any] = ...): ... - def get_tables(self, schema: Optional[Any] = ...): ... - def get_views(self, schema: Optional[Any] = ...): ... - def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... - def get_columns(self, table: Any, schema: Optional[Any] = ...): ... - def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... - def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... - def sequence_exists(self, sequence: Any): ... - def get_binary_type(self): ... - def conflict_statement(self, on_conflict: Any, query: Any) -> None: ... - def conflict_update(self, oc: Any, query: Any): ... - def extract_date(self, date_part: Any, date_field: Any): ... - def truncate_date(self, date_part: Any, date_field: Any): ... - def to_timestamp(self, date_field: Any): ... - def from_timestamp(self, date_field: Any): ... - def get_noop_select(self, ctx: Any): ... - def set_time_zone(self, timezone: Any) -> None: ... - class MySQLDatabase(Database): field_types: Any = ... operations: Any = ... @@ -1415,92 +930,54 @@ class MySQLDatabase(Database): safe_create_index: bool = ... safe_drop_index: bool = ... sql_mode: str = ... - def init(self, database: Any, **kwargs: Any) -> None: ... - def default_values_insert(self, ctx: Any): ... - def get_tables(self, schema: Optional[Any] = ...): ... - def get_views(self, schema: Optional[Any] = ...): ... - def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... - def get_columns(self, table: Any, schema: Optional[Any] = ...): ... - def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... - def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... - def get_binary_type(self): ... - def conflict_statement(self, on_conflict: Any, query: Any): ... - def conflict_update(self, on_conflict: Any, query: Any): ... - def extract_date(self, date_part: Any, date_field: Any): ... - def truncate_date(self, date_part: Any, date_field: Any): ... - def to_timestamp(self, date_field: Any): ... - def from_timestamp(self, date_field: Any): ... - def random(self): ... - def get_noop_select(self, ctx: Any): ... - class _manual(_callable_context_manager): db: Any = ... - def __init__(self, db: Any) -> None: ... - def __enter__(self) -> None: ... - def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... - class _atomic(_callable_context_manager): db: Any = ... - def __init__(self, db: Any, *args: Any, **kwargs: Any) -> None: ... - def __enter__(self): ... - def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any): ... - class _transaction(_callable_context_manager): db: Any = ... - def __init__(self, db: Any, *args: Any, **kwargs: Any) -> None: ... - def commit(self, begin: bool = ...) -> None: ... - def rollback(self, begin: bool = ...) -> None: ... - def __enter__(self): ... - def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... - class _savepoint(_callable_context_manager): db: Any = ... sid: Any = ... quoted_sid: Any = ... - def __init__(self, db: Any, sid: Optional[Any] = ...) -> None: ... - def commit(self, begin: bool = ...) -> None: ... - def rollback(self) -> None: ... - def __enter__(self): ... - def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... - class CursorWrapper: cursor: Any = ... count: int = ... @@ -1508,108 +985,69 @@ class CursorWrapper: initialized: bool = ... populated: bool = ... row_cache: Any = ... - def __init__(self, cursor: Any) -> None: ... - def __iter__(self) -> Any: ... - def __getitem__(self, item: Any): ... - def __len__(self): ... - def initialize(self) -> None: ... - def iterate(self, cache: bool = ...): ... - def process_row(self, row: Any): ... - def iterator(self) -> None: ... - def fill_cache(self, n: int = ...) -> None: ... - class DictCursorWrapper(CursorWrapper): initialize: Any = ... process_row: Any = ... - class NamedTupleCursorWrapper(CursorWrapper): tuple_class: Any = ... - def initialize(self) -> None: ... - def process_row(self, row: Any): ... - class ObjectCursorWrapper(DictCursorWrapper): constructor: Any = ... - def __init__(self, cursor: Any, constructor: Any) -> None: ... - def process_row(self, row: Any): ... - class ResultIterator: cursor_wrapper: Any = ... index: int = ... - def __init__(self, cursor_wrapper: Any) -> None: ... - def __iter__(self) -> Any: ... - def next(self): ... - __next__: Any = ... - class FieldAccessor: model: Any = ... field: Any = ... name: Any = ... - def __init__(self, model: Any, field: Any, name: Any) -> None: ... - def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... - def __set__(self, instance: Any, value: Any) -> None: ... - class ForeignKeyAccessor(FieldAccessor): rel_model: Any = ... - def __init__(self, model: Any, field: Any, name: Any) -> None: ... - def get_rel_instance(self, instance: Any): ... - def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... - def __set__(self, instance: Any, obj: Any) -> None: ... - class NoQueryForeignKeyAccessor(ForeignKeyAccessor): def get_rel_instance(self, instance: Any): ... - class BackrefAccessor: field: Any = ... model: Any = ... rel_model: Any = ... - def __init__(self, field: Any) -> None: ... - def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... - class ObjectIdAccessor: field: Any = ... - def __init__(self, field: Any) -> None: ... - def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... - def __set__(self, instance: Any, value: Any) -> None: ... - class Field(ColumnBase): accessor_class: Any = ... auto_increment: bool = ... @@ -1630,227 +1068,157 @@ class Field(ColumnBase): help_text: Any = ... verbose_name: Any = ... index_type: Any = ... - def __init__( - self, - null: bool = ..., - index: bool = ..., - unique: bool = ..., - column_name: Optional[Any] = ..., - default: Optional[Any] = ..., - primary_key: bool = ..., - constraints: Optional[Any] = ..., - sequence: Optional[Any] = ..., - collation: Optional[Any] = ..., - unindexed: bool = ..., - choices: Optional[Any] = ..., - help_text: Optional[Any] = ..., - verbose_name: Optional[Any] = ..., - index_type: Optional[Any] = ..., - db_column: Optional[Any] = ..., - _hidden: bool = ..., + self, + null: bool = ..., + index: bool = ..., + unique: bool = ..., + column_name: Optional[Any] = ..., + default: Optional[Any] = ..., + primary_key: bool = ..., + constraints: Optional[Any] = ..., + sequence: Optional[Any] = ..., + collation: Optional[Any] = ..., + unindexed: bool = ..., + choices: Optional[Any] = ..., + help_text: Optional[Any] = ..., + verbose_name: Optional[Any] = ..., + index_type: Optional[Any] = ..., + db_column: Optional[Any] = ..., + _hidden: bool = ..., ) -> None: ... - def __hash__(self) -> Any: ... - model: Any = ... name: Any = ... - def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... - @property def column(self): ... - def adapt(self, value: Any): ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... - def to_value(self, value: Any): ... - def get_sort_key(self, ctx: Any): ... - def __sql__(self, ctx: Any): ... - def get_modifiers(self) -> None: ... - def ddl_datatype(self, ctx: Any): ... - def ddl(self, ctx: Any): ... - class IntegerField(Field): field_type: str = ... - def adapt(self, value: Any): ... - class BigIntegerField(IntegerField): field_type: str = ... - class SmallIntegerField(IntegerField): field_type: str = ... - class AutoField(IntegerField): auto_increment: bool = ... field_type: str = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - class BigAutoField(AutoField): field_type: str = ... - class IdentityField(AutoField): field_type: str = ... - def __init__(self, generate_always: bool = ..., **kwargs: Any) -> None: ... - class PrimaryKeyField(AutoField): def __init__(self, *args: Any, **kwargs: Any) -> None: ... - class FloatField(Field): field_type: str = ... - def adapt(self, value: Any): ... - class DoubleField(FloatField): field_type: str = ... - class DecimalField(Field): field_type: str = ... max_digits: Any = ... decimal_places: Any = ... auto_round: Any = ... rounding: Any = ... - def __init__( - self, - max_digits: int = ..., - decimal_places: int = ..., - auto_round: bool = ..., - rounding: Optional[Any] = ..., - *args: Any, - **kwargs: Any, + self, + max_digits: int = ..., + decimal_places: int = ..., + auto_round: bool = ..., + rounding: Optional[Any] = ..., + *args: Any, + **kwargs: Any, ) -> None: ... - def get_modifiers(self): ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... - class _StringField(Field): def adapt(self, value: Any): ... - def __add__(self, other: Any): ... - def __radd__(self, other: Any): ... - class CharField(_StringField): field_type: str = ... max_length: Any = ... - def __init__(self, max_length: int = ..., *args: Any, **kwargs: Any) -> None: ... - def get_modifiers(self): ... - class FixedCharField(CharField): field_type: str = ... - def python_value(self, value: Any): ... - class TextField(_StringField): field_type: str = ... - class BlobField(Field): field_type: str = ... - def bind(self, model: Any, name: Any, set_attribute: bool = ...): ... - def db_value(self, value: Any): ... - class BitField(BitwiseMixin, BigIntegerField): def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def flag(self, value: Optional[Any] = ...): ... - class BigBitFieldData: instance: Any = ... name: Any = ... - def __init__(self, instance: Any, name: Any) -> None: ... - def set_bit(self, idx: Any) -> None: ... - def clear_bit(self, idx: Any) -> None: ... - def toggle_bit(self, idx: Any): ... - def is_set(self, idx: Any): ... - class BigBitFieldAccessor(FieldAccessor): def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... - def __set__(self, instance: Any, value: Any) -> None: ... - class BigBitField(BlobField): accessor_class: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def db_value(self, value: Any): ... - class UUIDField(Field): field_type: str = ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... - class BinaryUUIDField(BlobField): field_type: str = ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... - class _BaseFormattedField(Field): formats: Any = ... - def __init__(self, formats: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... - class DateTimeField(_BaseFormattedField): field_type: str = ... formats: Any = ... - def adapt(self, value: Any): ... - def to_timestamp(self): ... - def truncate(self, part: Any): ... - year: Any = ... month: Any = ... day: Any = ... @@ -1858,53 +1226,36 @@ class DateTimeField(_BaseFormattedField): minute: Any = ... second: Any = ... - class DateField(_BaseFormattedField): field_type: str = ... formats: Any = ... - def adapt(self, value: Any): ... - def to_timestamp(self): ... - def truncate(self, part: Any): ... - year: Any = ... month: Any = ... day: Any = ... - class TimeField(_BaseFormattedField): field_type: str = ... formats: Any = ... - def adapt(self, value: Any): ... - hour: Any = ... minute: Any = ... second: Any = ... - class TimestampField(BigIntegerField): valid_resolutions: Any = ... resolution: Any = ... ticks_to_microsecond: Any = ... utc: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def local_to_utc(self, dt: Any): ... - def utc_to_local(self, dt: Any): ... - def get_timestamp(self, value: Any): ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... - def from_timestamp(self): ... - year: Any = ... month: Any = ... day: Any = ... @@ -1912,26 +1263,19 @@ class TimestampField(BigIntegerField): minute: Any = ... second: Any = ... - class IPField(BigIntegerField): def db_value(self, val: Any): ... - def python_value(self, val: Any): ... - class BooleanField(Field): field_type: str = ... adapt: Any = ... - class BareField(Field): adapt: Any = ... - def __init__(self, adapt: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... - def ddl_datatype(self, ctx: Any) -> None: ... - class ForeignKeyField(Field): accessor_class: Any = ... rel_model: Any = ... @@ -1944,70 +1288,50 @@ class ForeignKeyField(Field): deferred: Any = ... object_id_name: Any = ... lazy_load: Any = ... - def __init__( - self, - model: Any, - field: Optional[Any] = ..., - backref: Optional[Any] = ..., - on_delete: Optional[Any] = ..., - on_update: Optional[Any] = ..., - deferrable: Optional[Any] = ..., - _deferred: Optional[Any] = ..., - rel_model: Optional[Any] = ..., - to_field: Optional[Any] = ..., - object_id_name: Optional[Any] = ..., - lazy_load: bool = ..., - related_name: Optional[Any] = ..., - *args: Any, - **kwargs: Any, + self, + model: Any, + field: Optional[Any] = ..., + backref: Optional[Any] = ..., + on_delete: Optional[Any] = ..., + on_update: Optional[Any] = ..., + deferrable: Optional[Any] = ..., + _deferred: Optional[Any] = ..., + rel_model: Optional[Any] = ..., + to_field: Optional[Any] = ..., + object_id_name: Optional[Any] = ..., + lazy_load: bool = ..., + related_name: Optional[Any] = ..., + *args: Any, + **kwargs: Any, ) -> None: ... - @property def field_type(self): ... - def get_modifiers(self): ... - def adapt(self, value: Any): ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... - column_name: Any = ... safe_name: Any = ... - def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... - def foreign_key_constraint(self): ... - def __getattr__(self, attr: Any): ... - class DeferredForeignKey(Field): field_kwargs: Any = ... rel_model_name: Any = ... - def __init__(self, rel_model_name: Any, **kwargs: Any) -> None: ... - __hash__: Any = ... - def __deepcopy__(self, memo: Optional[Any] = ...): ... - def set_model(self, rel_model: Any) -> None: ... - @staticmethod def resolve(model_cls: Any) -> None: ... - class DeferredThroughModel: def __init__(self) -> None: ... - def set_field(self, model: Any, field: Any, name: Any) -> None: ... - def set_model(self, through_model: Any) -> None: ... - class MetaField(Field): column_name: Any = ... default: Any = ... @@ -2015,147 +1339,94 @@ class MetaField(Field): name: Any = ... primary_key: bool = ... - class ManyToManyFieldAccessor(FieldAccessor): model: Any = ... rel_model: Any = ... through_model: Any = ... src_fk: Any = ... dest_fk: Any = ... - def __init__(self, model: Any, field: Any, name: Any) -> None: ... - def __get__(self, instance: Any, instance_type: Optional[Any] = ..., force_query: bool = ...): ... - def __set__(self, instance: Any, value: Any) -> None: ... - class ManyToManyField(MetaField): accessor_class: Any = ... rel_model: Any = ... backref: Any = ... - def __init__( - self, - model: Any, - backref: Optional[Any] = ..., - through_model: Optional[Any] = ..., - on_delete: Optional[Any] = ..., - on_update: Optional[Any] = ..., - _is_backref: bool = ..., + self, + model: Any, + backref: Optional[Any] = ..., + through_model: Optional[Any] = ..., + on_delete: Optional[Any] = ..., + on_update: Optional[Any] = ..., + _is_backref: bool = ..., ) -> None: ... - def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... - def get_models(self): ... - @property def through_model(self): ... - @through_model.setter def through_model(self, value: Any) -> None: ... - def get_through_model(self): ... - class VirtualField(MetaField): field_class: Any = ... field_instance: Any = ... - def __init__(self, field_class: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... - model: Any = ... column_name: Any = ... - def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... - class CompositeKey(MetaField): sequence: Any = ... field_names: Any = ... - def __init__(self, *field_names: Any) -> None: ... - @property def safe_field_names(self): ... - def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... - def __set__(self, instance: Any, value: Any) -> None: ... - def __eq__(self, other: Any) -> Any: ... - def __ne__(self, other: Any) -> Any: ... - def __hash__(self) -> Any: ... - def __sql__(self, ctx: Any): ... - model: Any = ... column_name: Any = ... - def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... - class _SortedFieldList: def __init__(self) -> None: ... - def __getitem__(self, i: Any): ... - def __iter__(self) -> Any: ... - def __contains__(self, item: Any): ... - def index(self, field: Any): ... - def insert(self, item: Any) -> None: ... - def remove(self, item: Any) -> None: ... - class SchemaManager: model: Any = ... context_options: Any = ... - def __init__(self, model: Any, database: Optional[Any] = ..., **context_options: Any) -> None: ... - @property def database(self): ... - @database.setter def database(self, value: Any) -> None: ... - def create_table(self, safe: bool = ..., **options: Any) -> None: ... - def create_table_as(self, table_name: Any, query: Any, safe: bool = ..., **meta: Any) -> None: ... - def drop_table(self, safe: bool = ..., **options: Any) -> None: ... - def truncate_table(self, restart_identity: bool = ..., cascade: bool = ...) -> None: ... - def create_indexes(self, safe: bool = ...) -> None: ... - def drop_indexes(self, safe: bool = ...) -> None: ... - def create_sequence(self, field: Any) -> None: ... - def drop_sequence(self, field: Any) -> None: ... - def create_foreign_key(self, field: Any) -> None: ... - def create_sequences(self) -> None: ... - def create_all(self, safe: bool = ..., **table_options: Any) -> None: ... - def drop_sequences(self) -> None: ... - def drop_all(self, safe: bool = ..., drop_sequences: bool = ..., **options: Any) -> None: ... - class Metadata: model: Any = ... database: Any = ... @@ -2184,475 +1455,310 @@ class Metadata: model_backrefs: Any = ... manytomany: Any = ... options: Any = ... - def __init__( - self, - model: Any, - database: Optional[Any] = ..., - table_name: Optional[Any] = ..., - indexes: Optional[Any] = ..., - primary_key: Optional[Any] = ..., - constraints: Optional[Any] = ..., - schema: Optional[Any] = ..., - only_save_dirty: bool = ..., - depends_on: Optional[Any] = ..., - options: Optional[Any] = ..., - db_table: Optional[Any] = ..., - table_function: Optional[Any] = ..., - table_settings: Optional[Any] = ..., - without_rowid: bool = ..., - temporary: bool = ..., - legacy_table_names: bool = ..., - **kwargs: Any, + self, + model: Any, + database: Optional[Any] = ..., + table_name: Optional[Any] = ..., + indexes: Optional[Any] = ..., + primary_key: Optional[Any] = ..., + constraints: Optional[Any] = ..., + schema: Optional[Any] = ..., + only_save_dirty: bool = ..., + depends_on: Optional[Any] = ..., + options: Optional[Any] = ..., + db_table: Optional[Any] = ..., + table_function: Optional[Any] = ..., + table_settings: Optional[Any] = ..., + without_rowid: bool = ..., + temporary: bool = ..., + legacy_table_names: bool = ..., + **kwargs: Any, ) -> None: ... - def make_table_name(self): ... - def model_graph(self, refs: bool = ..., backrefs: bool = ..., depth_first: bool = ...): ... - def add_ref(self, field: Any) -> None: ... - def remove_ref(self, field: Any) -> None: ... - def add_manytomany(self, field: Any) -> None: ... - def remove_manytomany(self, field: Any) -> None: ... - @property def table(self): ... - @table.setter def table(self, value: Any) -> None: ... - def table(self) -> None: ... - @property def schema(self): ... - @schema.setter def schema(self, value: Any) -> None: ... - @property def entity(self): ... - def get_rel_for_model(self, model: Any): ... - def add_field(self, field_name: Any, field: Any, set_attribute: bool = ...) -> None: ... - def remove_field(self, field_name: Any) -> None: ... - auto_increment: Any = ... - def set_primary_key(self, name: Any, field: Any) -> None: ... - def get_primary_keys(self): ... - def get_default_dict(self): ... - def fields_to_index(self): ... - def set_database(self, database: Any) -> None: ... - def set_table_name(self, table_name: Any) -> None: ... - class SubclassAwareMetadata(Metadata): models: Any = ... - def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... - def map_models(self, fn: Any) -> None: ... - class DoesNotExist(Exception): ... - class ModelBase(type): inheritable: Any = ... - def __new__(cls, name: Any, bases: Any, attrs: Any): ... - def __iter__(self) -> Any: ... - def __getitem__(self, key: Any): ... - def __setitem__(self, key: Any, value: Any) -> None: ... - def __delitem__(self, key: Any) -> None: ... - def __contains__(self, key: Any): ... - def __len__(self): ... - def __bool__(self): ... - __nonzero__: Any = ... - def __sql__(self, ctx: Any): ... - class _BoundModelsContext(_callable_context_manager): models: Any = ... database: Any = ... bind_refs: Any = ... bind_backrefs: Any = ... - def __init__(self, models: Any, database: Any, bind_refs: Any, bind_backrefs: Any) -> None: ... - def __enter__(self): ... - def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... - _Cls = TypeVar("_Cls") - class Model: __data__: Dict[str, Any] = ... __rel__: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - @classmethod def validate_model(cls) -> None: ... - @classmethod def alias(cls, alias: Optional[str] = ...) -> ModelAlias: ... - @classmethod def select(cls, *fields: Any): ... - @classmethod def update(cls, __data: Optional[Any] = ..., **update: Any): ... - @classmethod def insert(cls, __data: Optional[Any] = ..., **insert: Any): ... - @classmethod def insert_many(cls, rows: Any, fields: Optional[Any] = ...): ... - @classmethod def insert_from(cls, query: Any, fields: Any): ... - @classmethod def replace(cls, __data: Optional[Any] = ..., **insert: Any): ... - @classmethod def replace_many(cls, rows: Any, fields: Optional[Any] = ...): ... - @classmethod def raw(cls, sql: Any, *params: Any): ... - @classmethod def delete(cls): ... - @classmethod def create(cls: Type[_Cls], **query: Any) -> _Cls: ... - @classmethod def bulk_create(cls, model_list: Any, batch_size: Optional[Any] = ...) -> None: ... - @classmethod def bulk_update(cls, model_list: Any, fields: Any, batch_size: Optional[Any] = ...): ... - @classmethod def noop(cls): ... - @classmethod def get(cls: Type[_Cls], *query: Any, **filters: Any) -> _Cls: ... - @classmethod def get_or_none(cls: Type[_Cls], *query: Any, **filters: Any) -> Optional[_Cls]: ... - @classmethod def get_by_id(cls: Type[_Cls], pk: Any) -> _Cls: ... - @classmethod def set_by_id(cls, key: Any, value: Any): ... - @classmethod def delete_by_id(cls, pk: Any): ... - @classmethod def get_or_create(cls, **kwargs: Any): ... - @classmethod def filter(cls, *dq_nodes: Any, **filters: Any): ... - def get_id(self): ... - def save(self, force_insert: bool = ..., only: Optional[Any] = ...): ... - def is_dirty(self): ... - @property def dirty_fields(self): ... - def dependencies(self, search_nullable: bool = ...) -> None: ... - def delete_instance(self, recursive: bool = ..., delete_nullable: bool = ...): ... - def __hash__(self) -> Any: ... - def __eq__(self, other: Any) -> Any: ... - def __ne__(self, other: Any) -> Any: ... - def __sql__(self, ctx: Any): ... - @classmethod def bind(cls, database: Any, bind_refs: bool = ..., bind_backrefs: bool = ..., _exclude: Optional[Any] = ...): ... - @classmethod def bind_ctx(cls, database: Any, bind_refs: bool = ..., bind_backrefs: bool = ...): ... - @classmethod def table_exists(cls): ... - @classmethod def create_table(cls, safe: bool = ..., **options: Any) -> None: ... - @classmethod def drop_table(cls, safe: bool = ..., drop_sequences: bool = ..., **options: Any) -> None: ... - @classmethod def truncate_table(cls, **options: Any) -> None: ... - @classmethod def index(cls, *fields: Any, **kwargs: Any): ... - @classmethod def add_index(cls, *fields: Any, **kwargs: Any) -> None: ... - class ModelAlias(Node): def __init__(self, model: Type[Model], alias: Optional[str] = ...) -> None: ... - def __getattr__(self, attr: Any) -> Any: ... - def get_field_aliases(self) -> List[str]: ... - def select(self, *selection: Union[Field, str, Model, ModelAlias, Table]) -> ModelSelect: ... - def __call__(self, **kwargs: Any): ... - def __sql__(self, ctx: Any): ... - class FieldAlias(Field): source: Any = ... model: Any = ... field: Any = ... - def __init__(self, source: Any, field: Any) -> None: ... - @classmethod def create(cls, source: Any, field: Any): ... - def clone(self): ... - def adapt(self, value: Any): ... - def python_value(self, value: Any): ... - def db_value(self, value: Any): ... - def __getattr__(self, attr: Any): ... - def __sql__(self, ctx: Any): ... - class _ModelQueryHelper: default_row_type: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def objects(self, constructor: Optional[Any] = ...) -> None: ... - class ModelRaw(_ModelQueryHelper, RawQuery): model: Any = ... - def __init__(self, model: Any, sql: Any, params: Any, **kwargs: Any) -> None: ... - def get(self): ... - class BaseModelSelect(_ModelQueryHelper): def union_all(self, rhs: Any): ... - __add__: Any = ... - def union(self, rhs: Any): ... - __or__: Any = ... - def intersect(self, rhs: Any): ... - __and__: Any = ... - def except_(self, rhs: Any): ... - __sub__: Any = ... - def __iter__(self) -> Any: ... - def prefetch(self, *subqueries: Any): ... - def get(self, database: Optional[Any] = ...): ... - def group_by(self, *columns: Any) -> None: ... - class ModelCompoundSelectQuery(BaseModelSelect, CompoundSelectQuery): model: Any = ... - def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... - _Selection = Union[Field, str, Model, ModelAlias, Table] - class ModelSelect(BaseModelSelect, Select): model: Any = ... - def __init__( - self, - model: Union[Type[Model], model, Type[ModelAlias], ModelAlias], - fields_or_models: List[_Selection], - is_default: bool = ..., + self, + model: Union[Type[Model], model, Type[ModelAlias], ModelAlias], + fields_or_models: List[_Selection], + is_default: bool = ..., ) -> None: ... - def clone(self) -> ModelSelect: ... - def select(self, *fields_or_models: List[_Selection]) -> ModelSelect: ... - def switch(self: _SelfT, ctx: Optional[Any] = ...) -> _SelfT: ... - def join( - self, dest: Any, join_type: str = ..., on: Optional[Any] = ..., src: Optional[Any] = ..., attr: Optional[Any] = ... + self, dest: Any, join_type: str = ..., on: Optional[Any] = ..., src: Optional[Any] = ..., + attr: Optional[Any] = ... ) -> None: ... - - def join_from(self, src: Any, dest: Any, join_type: Any = ..., on: Optional[Any] = ..., attr: Optional[Any] = ...): ... - + def join_from(self, src: Any, dest: Any, join_type: Any = ..., on: Optional[Any] = ..., + attr: Optional[Any] = ...): ... def ensure_join(self, lm: Any, rm: Any, on: Optional[Any] = ..., **join_kwargs: Any): ... - def convert_dict_to_node(self, qdict: Any): ... - def filter(self, *args: Any, **kwargs: Any): ... - def create_table(self, name: Any, safe: bool = ..., **meta: Any): ... - def __sql_selection__(self, ctx: Any, is_subquery: bool = ...): ... - class NoopModelSelect(ModelSelect): def __sql__(self, ctx: Any): ... - class _ModelWriteQueryHelper(_ModelQueryHelper): model: Any = ... - def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... - def returning(self, *returning: Any): ... - class ModelUpdate(_ModelWriteQueryHelper, Update): ... - class ModelInsert(_ModelWriteQueryHelper, Insert): default_row_type: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def returning(self, *returning: Any): ... - def get_default_data(self): ... - def get_default_columns(self): ... - class ModelDelete(_ModelWriteQueryHelper, Delete): ... - class ManyToManyQuery(ModelSelect): def __init__(self, instance: Any, accessor: Any, rel: Any, *args: Any, **kwargs: Any) -> None: ... - def add(self, value: Any, clear_existing: bool = ...) -> None: ... - def remove(self, value: Any): ... - def clear(self): ... - class BaseModelCursorWrapper(DictCursorWrapper): model: Any = ... select: Any = ... - def __init__(self, cursor: Any, model: Any, columns: Any) -> None: ... - initialize: Any = ... - def process_row(self, row: Any) -> None: ... - class ModelDictCursorWrapper(BaseModelCursorWrapper): def process_row(self, row: Any): ... - class ModelTupleCursorWrapper(ModelDictCursorWrapper): constructor: Any = ... - def process_row(self, row: Any): ... - class ModelNamedTupleCursorWrapper(ModelTupleCursorWrapper): tuple_class: Any = ... constructor: Any = ... - def initialize(self): ... - class ModelObjectCursorWrapper(ModelDictCursorWrapper): constructor: Any = ... is_model: Any = ... - def __init__(self, cursor: Any, model: Any, select: Any, constructor: Any) -> None: ... - def process_row(self, row: Any): ... - class ModelCursorWrapper(BaseModelCursorWrapper): from_list: Any = ... joins: Any = ... - def __init__(self, cursor: Any, model: Any, select: Any, from_list: Any, joins: Any) -> None: ... - key_to_constructor: Any = ... src_is_dest: Any = ... src_to_dest: Any = ... column_keys: Any = ... - def initialize(self) -> None: ... - def process_row(self, row: Any): ... - class PrefetchQuery: def __new__( - cls, - query: Any, - fields: Optional[Any] = ..., - is_backref: Optional[Any] = ..., - rel_models: Optional[Any] = ..., - field_to_name: Optional[Any] = ..., - model: Optional[Any] = ..., + cls, + query: Any, + fields: Optional[Any] = ..., + is_backref: Optional[Any] = ..., + rel_models: Optional[Any] = ..., + field_to_name: Optional[Any] = ..., + model: Optional[Any] = ..., ): ... - def populate_instance(self, instance: Any, id_map: Any) -> None: ... - def store_instance(self, instance: Any, id_map: Any) -> None: ... - def prefetch(sq: Any, *subqueries: Any): ... + +Tuple: Callable[..., NodeList] From bc6bc1ae100c2f3070b1adb44ab83d3813ff0fa2 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Fri, 26 Jun 2020 10:47:30 +0800 Subject: [PATCH 06/37] import stdlib tuple --- third_party/2and3/peewee.pyi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 4a6635bcae15..794e15c6f219 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -18,6 +18,7 @@ from typing import ( Union, Generic, Dict, + Tuple as TupleT ) import sqlite3 @@ -281,13 +282,13 @@ class ColumnBase(Node): def __getitem__(self, item: Any) -> Expression: ... def distinct(self) -> NodeList: ... def collate(self, collation: Any) -> NodeList: ... - def get_sort_key(self, ctx: Any) -> Tuple[str]: ... + def get_sort_key(self, ctx: Any) -> TupleT[str, ...]: ... class Column(ColumnBase, Generic[_NodeLike]): source: _NodeLike = ... name: str = ... def __init__(self, source: _NodeLike, name: str) -> None: ... - def get_sort_key(self, ctx: Context) -> Tuple[str, ...]: ... + def get_sort_key(self, ctx: Context) -> TupleT[str, ...]: ... def __hash__(self) -> int: ... def __sql__(self, ctx: Context) -> Context: ... From 89d260febe995ba0abb9c01dc48456aef12c964e Mon Sep 17 00:00:00 2001 From: Trim21 Date: Fri, 26 Jun 2020 10:55:12 +0800 Subject: [PATCH 07/37] Node --- third_party/2and3/peewee.pyi | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 794e15c6f219..1a4b173e9c53 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -117,13 +117,13 @@ class Context: def query(self): ... class Node: - def clone(self): ... - def __sql__(self, ctx: Any) -> None: ... + def clone(self: _SelfT) -> _SelfT: ... + def __sql__(self, ctx: Context) -> Context: ... @staticmethod - def copy(method: Any): ... - def coerce(self, _coerce: bool = ...): ... - def is_alias(self): ... - def unwrap(self): ... + def copy(method: Callable[..., Callable[[_SelfT, ...], _SelfT]]): ... + def coerce(self: _SelfT, _coerce: bool = ...) -> _SelfT: ... + def is_alias(self) -> bool: ... + def unwrap(self: _SelfT) -> _SelfT: ... _NodeLike = TypeVar("_NodeLike", bound=Node) From e1f2beedabc75fe0d165cc4f7be75bf5d35934ce Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 09:55:45 +0800 Subject: [PATCH 08/37] DQ --- third_party/2and3/peewee.pyi | 613 +++++++++++++++++------------------ 1 file changed, 302 insertions(+), 311 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 1a4b173e9c53..b7684456bdbf 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -52,7 +52,7 @@ class _callable_context_manager(ContextManager): class Proxy: def __init__(self) -> None: ... - obj: Any = ... + obj: Any _callbacks: List[_CallBack] = ... def initialize(self, obj: Any) -> None: ... def attach_callback(self, callback: _CallBack) -> _CallBack: ... @@ -88,9 +88,9 @@ class State: def __getattr__(self, attr_name: Any): ... class Context: - stack: Any = ... - alias_manager: Any = ... - state: Any = ... + stack: Any + alias_manager: Any + state: Any def __init__(self, **settings: Any) -> None: ... def as_new(self): ... def column_sort_key(self, item: Any): ... @@ -101,11 +101,11 @@ class Context: @property def subquery(self): ... def __call__(self, **overrides: Any): ... - scope_normal: Any = ... - scope_source: Any = ... - scope_values: Any = ... - scope_cte: Any = ... - scope_column: Any = ... + scope_normal: Any + scope_source: Any + scope_values: Any + scope_cte: Any + scope_column: Any def __enter__(self): ... def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... def push_alias(self) -> None: ... @@ -120,7 +120,7 @@ class Node: def clone(self: _SelfT) -> _SelfT: ... def __sql__(self, ctx: Context) -> Context: ... @staticmethod - def copy(method: Callable[..., Callable[[_SelfT, ...], _SelfT]]): ... + def copy(method: Callable[..., Callable[[_SelfT, ...], _SelfT]]): ... # incomplete def coerce(self: _SelfT, _coerce: bool = ...) -> _SelfT: ... def is_alias(self) -> bool: ... def unwrap(self: _SelfT) -> _SelfT: ... @@ -128,7 +128,7 @@ class Node: _NodeLike = TypeVar("_NodeLike", bound=Node) class ColumnFactory: - node: Any = ... + node: Any def __init__(self, node: Any) -> None: ... def __getattr__(self, attr: Any): ... @@ -139,7 +139,7 @@ class _ExplicitColumn: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... class Source(Node): - c: Any = ... + c: Any def __init__(self, alias: Optional[Any] = ...) -> None: ... def alias(self, name: Any) -> None: ... def select(self, *columns: Any): ... @@ -157,34 +157,34 @@ class _HashableSource: def __hash__(self) -> Any: ... def __eq__(self, other: Any) -> Any: ... def __ne__(self, other: Any) -> Any: ... - __lt__: Any = ... - __le__: Any = ... - __gt__: Any = ... - __ge__: Any = ... + __lt__: Any + __le__: Any + __gt__: Any + __ge__: Any class BaseTable(Source): - __and__: Any = ... - __add__: Any = ... - __sub__: Any = ... - __or__: Any = ... - __mul__: Any = ... - __rand__: Any = ... - __radd__: Any = ... - __rsub__: Any = ... - __ror__: Any = ... - __rmul__: Any = ... + __and__: Any + __add__: Any + __sub__: Any + __or__: Any + __mul__: Any + __rand__: Any + __radd__: Any + __rsub__: Any + __ror__: Any + __rmul__: Any class _BoundTableContext(_callable_context_manager): - table: Any = ... - database: Any = ... + table: Any + database: Any def __init__(self, table: Any, database: Any) -> None: ... def __enter__(self): ... def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... class Table(_HashableSource, BaseTable): - __name__: Any = ... - c: Any = ... - primary_key: Any = ... + __name__: Any + c: Any + primary_key: Any def __init__( self, name: Any, @@ -206,9 +206,9 @@ class Table(_HashableSource, BaseTable): def __sql__(self, ctx: Any): ... class Join(BaseTable): - lhs: Any = ... - rhs: Any = ... - join_type: Any = ... + lhs: Any + rhs: Any + join_type: Any def __init__(self, lhs: Any, rhs: Any, join_type: Any = ..., on: Optional[Any] = ..., alias: Optional[Any] = ...) -> None: ... def on(self, predicate: Any): ... @@ -226,9 +226,9 @@ class CTE(_HashableSource, Source): ) -> None: ... def select_from(self, *columns: Any): ... def union_all(self, rhs: Any): ... - __add__: Any = ... + __add__: Any def union(self, rhs: Any): ... - __or__: Any = ... + __or__: Any def __sql__(self, ctx: Any): ... class ColumnBase(Node): @@ -277,7 +277,6 @@ class ColumnBase(Node): def endswith(self, rhs: Any) -> Expression: ... def between(self, lo: Any, hi: Any) -> Expression: ... def concat(self, rhs: Any) -> StringExpression: ... - def regexp(self, rhs: Any) -> Expression: ... def iregexp(self, rhs: Any) -> Expression: ... def __getitem__(self, item: Any) -> Expression: ... def distinct(self) -> NodeList: ... @@ -299,7 +298,7 @@ class WrappedNode(ColumnBase, Generic[_NodeLike]): def unwrap(self) -> _NodeLike: ... class EntityFactory: - node: Any = ... + node: Any def __init__(self, node: Any) -> None: ... def __getattr__(self, attr: Any): ... @@ -307,7 +306,7 @@ class _DynamicEntity: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... class Alias(WrappedNode): - c: Any = ... + c: Any def __init__(self, node: Any, alias: Any) -> None: ... def __hash__(self) -> Any: ... def alias(self, alias: Optional[Any] = ...): ... @@ -330,10 +329,10 @@ class BitwiseNegated(BitwiseMixin, WrappedNode): def __sql__(self, ctx: Any): ... class Value(ColumnBase): - value: Any = ... - converter: Any = ... - multi: Any = ... - values: Any = ... + value: Any + converter: Any + multi: Any + values: Any def __init__(self, value: Any, converter: Optional[Any] = ..., unpack: bool = ...) -> None: ... def __sql__(self, ctx: Any): ... @@ -362,10 +361,10 @@ class Ordering(WrappedNode): def __sql__(self, ctx: Context) -> Context: ... class Expression(ColumnBase): - lhs: Any = ... - op: Any = ... - rhs: Any = ... - flat: Any = ... + lhs: Any + op: Any + rhs: Any + flat: Any def __init__(self, lhs: Any, op: Any, rhs: Any, flat: bool = ...) -> None: ... def __sql__(self, ctx: Any): ... @@ -381,8 +380,8 @@ class Entity(ColumnBase): def __sql__(self, ctx: Any): ... class SQL(ColumnBase): - sql: Any = ... - params: Any = ... + sql: Any + params: Any def __init__(self, sql: Any, params: Optional[Any] = ...) -> None: ... def __sql__(self, ctx: Any): ... @@ -390,7 +389,7 @@ def Check(constraint: Any): ... class Function(ColumnBase): name: Optional[str] = ... - arguments: Any = ... + arguments: Any def __init__(self, name: Optional[str], arguments: Any, coerce: bool = ..., python_value: Optional[Any] = ...) -> None: ... def __getattr__(self, attr: str) -> Function: ... @@ -412,18 +411,18 @@ class Function(ColumnBase): fn: Function class Window(Node): - CURRENT_ROW: Any = ... - GROUP: Any = ... - TIES: Any = ... - NO_OTHERS: Any = ... + CURRENT_ROW: Any + GROUP: Any + TIES: Any + NO_OTHERS: Any GROUPS: str = ... RANGE: str = ... ROWS: str = ... - partition_by: Any = ... - order_by: Any = ... - start: Any = ... - end: Any = ... - frame_type: Any = ... + partition_by: Any + order_by: Any + start: Any + end: Any + frame_type: Any def __init__( self, partition_by: Optional[Any] = ..., @@ -449,7 +448,7 @@ class Window(Node): def __sql__(self, ctx: Any): ... class WindowAlias(Node): - window: Any = ... + window: Any def __init__(self, window: Any) -> None: ... def alias(self, window_alias: Any): ... def __sql__(self, ctx: Any): ... @@ -461,16 +460,16 @@ class ForUpdate(Node): def Case(predicate: Any, expression_tuples: Any, default: Optional[Any] = ...): ... class NodeList(ColumnBase): - nodes: Any = ... - glue: Any = ... - parens: Any = ... + nodes: Any + glue: Any + parens: Any def __init__(self, nodes: Any, glue: str = ..., parens: bool = ...) -> None: ... def __sql__(self, ctx: Any): ... class _Namespace(Node): def __init__(self, name: Any) -> None: ... def __getattr__(self, attr: Any): ... - __getitem__: Any = ... + __getitem__: Any class NamespaceAttribute(ColumnBase): def __init__(self, namespace: Any, attribute: Any) -> None: ... @@ -479,10 +478,10 @@ class NamespaceAttribute(ColumnBase): EXCLUDED: Any class DQ(ColumnBase): - query: Any = ... + query: Any def __init__(self, **query: Any) -> None: ... - def __invert__(self) -> None: ... - def clone(self): ... + def __invert__(self: _SelfT) -> _SelfT: ... + def clone(self: _SelfT) -> _SelfT: ... class QualifiedNames(WrappedNode): def __sql__(self, ctx: Any): ... @@ -508,7 +507,7 @@ class OnConflict(Node): def conflict_constraint(self, constraint: Any) -> None: ... class BaseQuery(Node): - default_row_type: Any = ... + default_row_type: Any def __init__(self, _database: Optional[Any] = ..., **kwargs: Any) -> None: ... def bind(self, database: Optional[Any] = ...): ... def clone(self): ... @@ -516,7 +515,7 @@ class BaseQuery(Node): def tuples(self, as_tuple: bool = ...): ... def namedtuples(self, as_namedtuple: bool = ...): ... def objects(self, constructor: Optional[Any] = ...): ... - def __sql__(self, ctx: Any) -> None: ... + def __sql__(self, ctx: Context) -> Context: ... def sql(self): ... def execute(self, database: Any): ... def iterator(self, database: Optional[Any] = ...): ... @@ -548,18 +547,18 @@ class Query(BaseQuery): def __sql__(self, ctx: Any): ... class SelectQuery(Query): - union_all: Any = ... - __add__: Any = ... - union: Any = ... - __or__: Any = ... - intersect: Any = ... - __and__: Any = ... - except_: Any = ... - __sub__: Any = ... - __radd__: Any = ... - __ror__: Any = ... - __rand__: Any = ... - __rsub__: Any = ... + union_all: Any + __add__: Any + union: Any + __or__: Any + intersect: Any + __and__: Any + except_: Any + __sub__: Any + __radd__: Any + __ror__: Any + __rand__: Any + __rsub__: Any def select_from(self, *columns: Any): ... class SelectBase(_HashableSource, Source, SelectQuery): @@ -571,9 +570,9 @@ class SelectBase(_HashableSource, Source, SelectQuery): def get(self, database: Any): ... class CompoundSelectQuery(SelectBase): - lhs: Any = ... - op: Any = ... - rhs: Any = ... + lhs: Any + op: Any + rhs: Any def __init__(self, lhs: Any, op: Any, rhs: Any) -> None: ... def exists(self, database: Any): ... def __sql__(self, ctx: Any): ... @@ -595,7 +594,7 @@ class Select(SelectBase): ) -> None: ... def clone(self): ... def columns(self, *columns: Any, **kwargs: Any) -> None: ... - select: Any = ... + select: Any def select_extend(self, *columns: Any) -> None: ... def from_(self, *sources: Any) -> None: ... def join(self, dest: Any, join_type: Any = ..., on: Optional[Any] = ...) -> None: ... @@ -610,7 +609,7 @@ class Select(SelectBase): def __sql__(self, ctx: Any): ... class _WriteQuery(Query): - table: Any = ... + table: Any def __init__(self, table: Any, returning: Optional[Any] = ..., **kwargs: Any) -> None: ... def returning(self, *returning: Any) -> None: ... def apply_returning(self, ctx: Any): ... @@ -701,7 +700,7 @@ class OperationalError(DatabaseError): ... class ProgrammingError(DatabaseError): ... class ExceptionWrapper: - exceptions: Any = ... + exceptions: Any def __init__(self, exceptions: Any) -> None: ... def __enter__(self) -> None: ... def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ... @@ -717,9 +716,9 @@ ViewMetadata = namedtuple("ViewMetadata", ["name", "sql"]) class _ConnectionState: def __init__(self, **kwargs: Any) -> None: ... closed: bool = ... - conn: Any = ... - ctx: Any = ... - transactions: Any = ... + conn: Any + ctx: Any + transactions: Any def reset(self) -> None: ... def set_connection(self, conn: Any) -> None: ... @@ -730,33 +729,33 @@ class _NoopLock: def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... class ConnectionContext(_callable_context_manager): - db: Any = ... + db: Any def __init__(self, db: Any) -> None: ... def __enter__(self) -> None: ... def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... class Database(_callable_context_manager): - context_class: Any = ... - field_types: Any = ... - operations: Any = ... + context_class: Any + field_types: Any + operations: Any param: str = ... quote: str = ... - server_version: Any = ... + server_version: Any commit_select: bool = ... - compound_select_parentheses: Any = ... + compound_select_parentheses: Any for_update: bool = ... index_schema_prefix: bool = ... - limit_max: Any = ... + limit_max: Any nulls_ordering: bool = ... returning_clause: bool = ... safe_create_index: bool = ... safe_drop_index: bool = ... sequences: bool = ... truncate_table: bool = ... - autoconnect: Any = ... - autorollback: Any = ... - thread_safe: Any = ... - connect_params: Any = ... + autoconnect: Any + autorollback: Any + thread_safe: Any + connect_params: Any def __init__( self, database: Any, @@ -768,8 +767,8 @@ class Database(_callable_context_manager): autoconnect: bool = ..., **kwargs: Any, ) -> None: ... - database: Any = ... - deferred: Any = ... + database: Any + deferred: Any def init(self, database: Any, **kwargs: Any) -> None: ... def __enter__(self): ... def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... @@ -824,25 +823,25 @@ class Database(_callable_context_manager): def get_noop_select(self, ctx: Any): ... class SqliteDatabase(Database): - field_types: Any = ... - operations: Any = ... + field_types: Any + operations: Any index_schema_prefix: bool = ... limit_max: int = ... - server_version: Any = ... + server_version: Any truncate_table: bool = ... - nulls_ordering: Any = ... + nulls_ordering: Any def __init__(self, database: Any, *args: Any, **kwargs: Any) -> None: ... def init(self, database: Any, pragmas: Optional[Any] = ..., timeout: int = ..., **kwargs: Any) -> None: ... def pragma(self, key: Any, value: Any = ..., permanent: bool = ..., schema: Optional[Any] = ...): ... - cache_size: Any = ... - foreign_keys: Any = ... - journal_mode: Any = ... - journal_size_limit: Any = ... - mmap_size: Any = ... - page_size: Any = ... - read_uncommitted: Any = ... - synchronous: Any = ... - wal_autocheckpoint: Any = ... + cache_size: Any + foreign_keys: Any + journal_mode: Any + journal_size_limit: Any + mmap_size: Any + page_size: Any + read_uncommitted: Any + synchronous: Any + wal_autocheckpoint: Any @property def timeout(self): ... @timeout.setter @@ -882,11 +881,11 @@ class SqliteDatabase(Database): def from_timestamp(self, date_field: Any): ... class PostgresqlDatabase(Database): - field_types: Any = ... - operations: Any = ... + field_types: Any + operations: Any param: str = ... commit_select: bool = ... - compound_select_parentheses: Any = ... + compound_select_parentheses: Any for_update: bool = ... nulls_ordering: bool = ... returning_clause: bool = ... @@ -920,14 +919,14 @@ class PostgresqlDatabase(Database): def set_time_zone(self, timezone: Any) -> None: ... class MySQLDatabase(Database): - field_types: Any = ... - operations: Any = ... + field_types: Any + operations: Any param: str = ... quote: str = ... commit_select: bool = ... - compound_select_parentheses: Any = ... + compound_select_parentheses: Any for_update: bool = ... - limit_max: Any = ... + limit_max: Any safe_create_index: bool = ... safe_drop_index: bool = ... sql_mode: str = ... @@ -950,19 +949,19 @@ class MySQLDatabase(Database): def get_noop_select(self, ctx: Any): ... class _manual(_callable_context_manager): - db: Any = ... + db: Any def __init__(self, db: Any) -> None: ... def __enter__(self) -> None: ... def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... class _atomic(_callable_context_manager): - db: Any = ... + db: Any def __init__(self, db: Any, *args: Any, **kwargs: Any) -> None: ... def __enter__(self): ... def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any): ... class _transaction(_callable_context_manager): - db: Any = ... + db: Any def __init__(self, db: Any, *args: Any, **kwargs: Any) -> None: ... def commit(self, begin: bool = ...) -> None: ... def rollback(self, begin: bool = ...) -> None: ... @@ -970,9 +969,9 @@ class _transaction(_callable_context_manager): def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... class _savepoint(_callable_context_manager): - db: Any = ... - sid: Any = ... - quoted_sid: Any = ... + db: Any + sid: Any + quoted_sid: Any def __init__(self, db: Any, sid: Optional[Any] = ...) -> None: ... def commit(self, begin: bool = ...) -> None: ... def rollback(self) -> None: ... @@ -980,12 +979,12 @@ class _savepoint(_callable_context_manager): def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... class CursorWrapper: - cursor: Any = ... + cursor: Any count: int = ... index: int = ... initialized: bool = ... populated: bool = ... - row_cache: Any = ... + row_cache: Any def __init__(self, cursor: Any) -> None: ... def __iter__(self) -> Any: ... def __getitem__(self, item: Any): ... @@ -997,37 +996,37 @@ class CursorWrapper: def fill_cache(self, n: int = ...) -> None: ... class DictCursorWrapper(CursorWrapper): - initialize: Any = ... - process_row: Any = ... + initialize: Any + process_row: Any class NamedTupleCursorWrapper(CursorWrapper): - tuple_class: Any = ... + tuple_class: Any def initialize(self) -> None: ... def process_row(self, row: Any): ... class ObjectCursorWrapper(DictCursorWrapper): - constructor: Any = ... + constructor: Any def __init__(self, cursor: Any, constructor: Any) -> None: ... def process_row(self, row: Any): ... class ResultIterator: - cursor_wrapper: Any = ... + cursor_wrapper: Any index: int = ... def __init__(self, cursor_wrapper: Any) -> None: ... def __iter__(self) -> Any: ... def next(self): ... - __next__: Any = ... + __next__: Any class FieldAccessor: - model: Any = ... - field: Any = ... - name: Any = ... + model: Any + field: Any + name: Any def __init__(self, model: Any, field: Any, name: Any) -> None: ... def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... def __set__(self, instance: Any, value: Any) -> None: ... class ForeignKeyAccessor(FieldAccessor): - rel_model: Any = ... + rel_model: Any def __init__(self, model: Any, field: Any, name: Any) -> None: ... def get_rel_instance(self, instance: Any): ... def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... @@ -1037,38 +1036,38 @@ class NoQueryForeignKeyAccessor(ForeignKeyAccessor): def get_rel_instance(self, instance: Any): ... class BackrefAccessor: - field: Any = ... - model: Any = ... - rel_model: Any = ... + field: Any + model: Any + rel_model: Any def __init__(self, field: Any) -> None: ... def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... class ObjectIdAccessor: - field: Any = ... + field: Any def __init__(self, field: Any) -> None: ... def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... def __set__(self, instance: Any, value: Any) -> None: ... class Field(ColumnBase): - accessor_class: Any = ... + accessor_class: Any auto_increment: bool = ... - default_index_type: Any = ... + default_index_type: Any field_type: str = ... unpack: bool = ... - null: Any = ... - index: Any = ... - unique: Any = ... - column_name: Any = ... - default: Any = ... - primary_key: Any = ... - constraints: Any = ... - sequence: Any = ... - collation: Any = ... - unindexed: Any = ... - choices: Any = ... - help_text: Any = ... - verbose_name: Any = ... - index_type: Any = ... + null: Any + index: Any + unique: Any + column_name: Any + default: Any + primary_key: Any + constraints: Any + sequence: Any + collation: Any + unindexed: Any + choices: Any + help_text: Any + verbose_name: Any + index_type: Any def __init__( self, null: bool = ..., @@ -1089,8 +1088,8 @@ class Field(ColumnBase): _hidden: bool = ..., ) -> None: ... def __hash__(self) -> Any: ... - model: Any = ... - name: Any = ... + model: Any + name: Any def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... @property def column(self): ... @@ -1138,10 +1137,10 @@ class DoubleField(FloatField): class DecimalField(Field): field_type: str = ... - max_digits: Any = ... - decimal_places: Any = ... - auto_round: Any = ... - rounding: Any = ... + max_digits: Any + decimal_places: Any + auto_round: Any + rounding: Any def __init__( self, max_digits: int = ..., @@ -1162,7 +1161,7 @@ class _StringField(Field): class CharField(_StringField): field_type: str = ... - max_length: Any = ... + max_length: Any def __init__(self, max_length: int = ..., *args: Any, **kwargs: Any) -> None: ... def get_modifiers(self): ... @@ -1183,8 +1182,8 @@ class BitField(BitwiseMixin, BigIntegerField): def flag(self, value: Optional[Any] = ...): ... class BigBitFieldData: - instance: Any = ... - name: Any = ... + instance: Any + name: Any def __init__(self, instance: Any, name: Any) -> None: ... def set_bit(self, idx: Any) -> None: ... def clear_bit(self, idx: Any) -> None: ... @@ -1196,7 +1195,7 @@ class BigBitFieldAccessor(FieldAccessor): def __set__(self, instance: Any, value: Any) -> None: ... class BigBitField(BlobField): - accessor_class: Any = ... + accessor_class: Any def __init__(self, *args: Any, **kwargs: Any) -> None: ... def db_value(self, value: Any): ... @@ -1211,45 +1210,45 @@ class BinaryUUIDField(BlobField): def python_value(self, value: Any): ... class _BaseFormattedField(Field): - formats: Any = ... + formats: Any def __init__(self, formats: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... class DateTimeField(_BaseFormattedField): field_type: str = ... - formats: Any = ... + formats: Any def adapt(self, value: Any): ... def to_timestamp(self): ... def truncate(self, part: Any): ... - year: Any = ... - month: Any = ... - day: Any = ... - hour: Any = ... - minute: Any = ... - second: Any = ... + year: Any + month: Any + day: Any + hour: Any + minute: Any + second: Any class DateField(_BaseFormattedField): field_type: str = ... - formats: Any = ... + formats: Any def adapt(self, value: Any): ... def to_timestamp(self): ... def truncate(self, part: Any): ... - year: Any = ... - month: Any = ... - day: Any = ... + year: Any + month: Any + day: Any class TimeField(_BaseFormattedField): field_type: str = ... - formats: Any = ... + formats: Any def adapt(self, value: Any): ... - hour: Any = ... - minute: Any = ... - second: Any = ... + hour: Any + minute: Any + second: Any class TimestampField(BigIntegerField): - valid_resolutions: Any = ... - resolution: Any = ... - ticks_to_microsecond: Any = ... - utc: Any = ... + valid_resolutions: Any + resolution: Any + ticks_to_microsecond: Any + utc: Any def __init__(self, *args: Any, **kwargs: Any) -> None: ... def local_to_utc(self, dt: Any): ... def utc_to_local(self, dt: Any): ... @@ -1257,12 +1256,12 @@ class TimestampField(BigIntegerField): def db_value(self, value: Any): ... def python_value(self, value: Any): ... def from_timestamp(self): ... - year: Any = ... - month: Any = ... - day: Any = ... - hour: Any = ... - minute: Any = ... - second: Any = ... + year: Any + month: Any + day: Any + hour: Any + minute: Any + second: Any class IPField(BigIntegerField): def db_value(self, val: Any): ... @@ -1270,25 +1269,25 @@ class IPField(BigIntegerField): class BooleanField(Field): field_type: str = ... - adapt: Any = ... + adapt: Any class BareField(Field): - adapt: Any = ... + adapt: Any def __init__(self, adapt: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... def ddl_datatype(self, ctx: Any) -> None: ... class ForeignKeyField(Field): - accessor_class: Any = ... - rel_model: Any = ... - rel_field: Any = ... - declared_backref: Any = ... - backref: Any = ... - on_delete: Any = ... - on_update: Any = ... - deferrable: Any = ... - deferred: Any = ... - object_id_name: Any = ... - lazy_load: Any = ... + accessor_class: Any + rel_model: Any + rel_field: Any + declared_backref: Any + backref: Any + on_delete: Any + on_update: Any + deferrable: Any + deferred: Any + object_id_name: Any + lazy_load: Any def __init__( self, model: Any, @@ -1312,17 +1311,17 @@ class ForeignKeyField(Field): def adapt(self, value: Any): ... def db_value(self, value: Any): ... def python_value(self, value: Any): ... - column_name: Any = ... - safe_name: Any = ... + column_name: Any + safe_name: Any def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... def foreign_key_constraint(self): ... def __getattr__(self, attr: Any): ... class DeferredForeignKey(Field): - field_kwargs: Any = ... - rel_model_name: Any = ... + field_kwargs: Any + rel_model_name: Any def __init__(self, rel_model_name: Any, **kwargs: Any) -> None: ... - __hash__: Any = ... + __hash__: Any def __deepcopy__(self, memo: Optional[Any] = ...): ... def set_model(self, rel_model: Any) -> None: ... @staticmethod @@ -1334,26 +1333,26 @@ class DeferredThroughModel: def set_model(self, through_model: Any) -> None: ... class MetaField(Field): - column_name: Any = ... - default: Any = ... - model: Any = ... - name: Any = ... + column_name: Any + default: Any + model: Any + name: Any primary_key: bool = ... class ManyToManyFieldAccessor(FieldAccessor): - model: Any = ... - rel_model: Any = ... - through_model: Any = ... - src_fk: Any = ... - dest_fk: Any = ... + model: Any + rel_model: Any + through_model: Any + src_fk: Any + dest_fk: Any def __init__(self, model: Any, field: Any, name: Any) -> None: ... def __get__(self, instance: Any, instance_type: Optional[Any] = ..., force_query: bool = ...): ... def __set__(self, instance: Any, value: Any) -> None: ... class ManyToManyField(MetaField): - accessor_class: Any = ... - rel_model: Any = ... - backref: Any = ... + accessor_class: Any + rel_model: Any + backref: Any def __init__( self, model: Any, @@ -1372,18 +1371,18 @@ class ManyToManyField(MetaField): def get_through_model(self): ... class VirtualField(MetaField): - field_class: Any = ... - field_instance: Any = ... + field_class: Any + field_instance: Any def __init__(self, field_class: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... def db_value(self, value: Any): ... def python_value(self, value: Any): ... - model: Any = ... - column_name: Any = ... + model: Any + column_name: Any def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... class CompositeKey(MetaField): - sequence: Any = ... - field_names: Any = ... + sequence: Any + field_names: Any def __init__(self, *field_names: Any) -> None: ... @property def safe_field_names(self): ... @@ -1393,8 +1392,8 @@ class CompositeKey(MetaField): def __ne__(self, other: Any) -> Any: ... def __hash__(self) -> Any: ... def __sql__(self, ctx: Any): ... - model: Any = ... - column_name: Any = ... + model: Any + column_name: Any def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... class _SortedFieldList: @@ -1407,8 +1406,8 @@ class _SortedFieldList: def remove(self, item: Any) -> None: ... class SchemaManager: - model: Any = ... - context_options: Any = ... + model: Any + context_options: Any def __init__(self, model: Any, database: Optional[Any] = ..., **context_options: Any) -> None: ... @property def database(self): ... @@ -1429,33 +1428,36 @@ class SchemaManager: def drop_all(self, safe: bool = ..., drop_sequences: bool = ..., **options: Any) -> None: ... class Metadata: - model: Any = ... - database: Any = ... - fields: Any = ... - columns: Any = ... - combined: Any = ... - sorted_fields: Any = ... - sorted_field_names: Any = ... - defaults: Any = ... - name: Any = ... - table_function: Any = ... - legacy_table_names: Any = ... - table_name: Any = ... - indexes: Any = ... - constraints: Any = ... - primary_key: Any = ... - composite_key: Any = ... - only_save_dirty: Any = ... - depends_on: Any = ... - table_settings: Any = ... - without_rowid: Any = ... - temporary: Any = ... - refs: Any = ... - backrefs: Any = ... - model_refs: Any = ... - model_backrefs: Any = ... - manytomany: Any = ... - options: Any = ... + model: Any + database: Any + fields: Any + columns: Any + combined: Any + sorted_fields: Any + sorted_field_names: Any + defaults: Any + name: Any + table_function: Any + legacy_table_names: Any + table_name: Any + indexes: Any + constraints: Any + primary_key: Any + composite_key: Any + only_save_dirty: Any + depends_on: Any + table_settings: Any + without_rowid: Any + temporary: Any + refs: Any + backrefs: Any + model_refs: Any + model_backrefs: Any + manytomany: Any + options: Any + table: Table + schema: str + entity: Entity def __init__( self, model: Any, @@ -1482,21 +1484,10 @@ class Metadata: def remove_ref(self, field: Any) -> None: ... def add_manytomany(self, field: Any) -> None: ... def remove_manytomany(self, field: Any) -> None: ... - @property - def table(self): ... - @table.setter - def table(self, value: Any) -> None: ... - def table(self) -> None: ... - @property - def schema(self): ... - @schema.setter - def schema(self, value: Any) -> None: ... - @property - def entity(self): ... def get_rel_for_model(self, model: Any): ... def add_field(self, field_name: Any, field: Any, set_attribute: bool = ...) -> None: ... def remove_field(self, field_name: Any) -> None: ... - auto_increment: Any = ... + auto_increment: Any def set_primary_key(self, name: Any, field: Any) -> None: ... def get_primary_keys(self): ... def get_default_dict(self): ... @@ -1505,14 +1496,14 @@ class Metadata: def set_table_name(self, table_name: Any) -> None: ... class SubclassAwareMetadata(Metadata): - models: Any = ... + models: Any def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... def map_models(self, fn: Any) -> None: ... class DoesNotExist(Exception): ... class ModelBase(type): - inheritable: Any = ... + inheritable: Any def __new__(cls, name: Any, bases: Any, attrs: Any): ... def __iter__(self) -> Any: ... def __getitem__(self, key: Any): ... @@ -1521,14 +1512,14 @@ class ModelBase(type): def __contains__(self, key: Any): ... def __len__(self): ... def __bool__(self): ... - __nonzero__: Any = ... + __nonzero__: Any def __sql__(self, ctx: Any): ... class _BoundModelsContext(_callable_context_manager): - models: Any = ... - database: Any = ... - bind_refs: Any = ... - bind_backrefs: Any = ... + models: Any + database: Any + bind_refs: Any + bind_backrefs: Any def __init__(self, models: Any, database: Any, bind_refs: Any, bind_backrefs: Any) -> None: ... def __enter__(self): ... def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... @@ -1537,7 +1528,7 @@ _Cls = TypeVar("_Cls") class Model: __data__: Dict[str, Any] = ... - __rel__: Any = ... + __rel__: Any def __init__(self, *args: Any, **kwargs: Any) -> None: ... @classmethod def validate_model(cls) -> None: ... @@ -1620,9 +1611,9 @@ class ModelAlias(Node): def __sql__(self, ctx: Any): ... class FieldAlias(Field): - source: Any = ... - model: Any = ... - field: Any = ... + source: Any + model: Any + field: Any def __init__(self, source: Any, field: Any) -> None: ... @classmethod def create(cls, source: Any, field: Any): ... @@ -1634,37 +1625,37 @@ class FieldAlias(Field): def __sql__(self, ctx: Any): ... class _ModelQueryHelper: - default_row_type: Any = ... + default_row_type: Any def __init__(self, *args: Any, **kwargs: Any) -> None: ... def objects(self, constructor: Optional[Any] = ...) -> None: ... class ModelRaw(_ModelQueryHelper, RawQuery): - model: Any = ... + model: Any def __init__(self, model: Any, sql: Any, params: Any, **kwargs: Any) -> None: ... def get(self): ... class BaseModelSelect(_ModelQueryHelper): def union_all(self, rhs: Any): ... - __add__: Any = ... + __add__: Any def union(self, rhs: Any): ... - __or__: Any = ... + __or__: Any def intersect(self, rhs: Any): ... - __and__: Any = ... + __and__: Any def except_(self, rhs: Any): ... - __sub__: Any = ... + __sub__: Any def __iter__(self) -> Any: ... def prefetch(self, *subqueries: Any): ... def get(self, database: Optional[Any] = ...): ... def group_by(self, *columns: Any) -> None: ... class ModelCompoundSelectQuery(BaseModelSelect, CompoundSelectQuery): - model: Any = ... + model: Any def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... _Selection = Union[Field, str, Model, ModelAlias, Table] class ModelSelect(BaseModelSelect, Select): - model: Any = ... + model: Any def __init__( self, model: Union[Type[Model], model, Type[ModelAlias], ModelAlias], @@ -1690,14 +1681,14 @@ class NoopModelSelect(ModelSelect): def __sql__(self, ctx: Any): ... class _ModelWriteQueryHelper(_ModelQueryHelper): - model: Any = ... + model: Any def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... def returning(self, *returning: Any): ... class ModelUpdate(_ModelWriteQueryHelper, Update): ... class ModelInsert(_ModelWriteQueryHelper, Insert): - default_row_type: Any = ... + default_row_type: Any def __init__(self, *args: Any, **kwargs: Any) -> None: ... def returning(self, *returning: Any): ... def get_default_data(self): ... @@ -1712,38 +1703,38 @@ class ManyToManyQuery(ModelSelect): def clear(self): ... class BaseModelCursorWrapper(DictCursorWrapper): - model: Any = ... - select: Any = ... + model: Any + select: Any def __init__(self, cursor: Any, model: Any, columns: Any) -> None: ... - initialize: Any = ... + initialize: Any def process_row(self, row: Any) -> None: ... class ModelDictCursorWrapper(BaseModelCursorWrapper): def process_row(self, row: Any): ... class ModelTupleCursorWrapper(ModelDictCursorWrapper): - constructor: Any = ... + constructor: Any def process_row(self, row: Any): ... class ModelNamedTupleCursorWrapper(ModelTupleCursorWrapper): - tuple_class: Any = ... - constructor: Any = ... + tuple_class: Any + constructor: Any def initialize(self): ... class ModelObjectCursorWrapper(ModelDictCursorWrapper): - constructor: Any = ... - is_model: Any = ... + constructor: Any + is_model: Any def __init__(self, cursor: Any, model: Any, select: Any, constructor: Any) -> None: ... def process_row(self, row: Any): ... class ModelCursorWrapper(BaseModelCursorWrapper): - from_list: Any = ... - joins: Any = ... + from_list: Any + joins: Any def __init__(self, cursor: Any, model: Any, select: Any, from_list: Any, joins: Any) -> None: ... - key_to_constructor: Any = ... - src_is_dest: Any = ... - src_to_dest: Any = ... - column_keys: Any = ... + key_to_constructor: Any + src_is_dest: Any + src_to_dest: Any + column_keys: Any def initialize(self) -> None: ... def process_row(self, row: Any): ... From d25b44661519e6fefe41e926bc3872e58fafa770 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 09:58:16 +0800 Subject: [PATCH 09/37] SQL --- third_party/2and3/peewee.pyi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index b7684456bdbf..31176d732468 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -380,10 +380,10 @@ class Entity(ColumnBase): def __sql__(self, ctx: Any): ... class SQL(ColumnBase): - sql: Any + sql: str params: Any - def __init__(self, sql: Any, params: Optional[Any] = ...) -> None: ... - def __sql__(self, ctx: Any): ... + def __init__(self, sql: str, params: Optional[TupleT[Any, ...]] = ...) -> None: ... + def __sql__(self, ctx: Context) -> Context: ... def Check(constraint: Any): ... From d0a71a874a4af151c91c6a408cd06f09642bf4ca Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 10:00:57 +0800 Subject: [PATCH 10/37] EXCLUDED --- third_party/2and3/peewee.pyi | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 31176d732468..57759b2b9b78 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -467,15 +467,15 @@ class NodeList(ColumnBase): def __sql__(self, ctx: Any): ... class _Namespace(Node): - def __init__(self, name: Any) -> None: ... - def __getattr__(self, attr: Any): ... - __getitem__: Any + def __init__(self, name: str) -> None: ... + def __getattr__(self, attr: str) -> NamespaceAttribute: ... + def __getitem__(self, attr: str) -> NamespaceAttribute: ... class NamespaceAttribute(ColumnBase): - def __init__(self, namespace: Any, attribute: Any) -> None: ... - def __sql__(self, ctx: Any): ... + def __init__(self, namespace: _Namespace, attribute: str) -> None: ... + def __sql__(self, ctx: Context) -> Context: ... -EXCLUDED: Any +EXCLUDED: _Namespace class DQ(ColumnBase): query: Any From 234227b27552e72b7e5196063aa308067ac30556 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 10:06:17 +0800 Subject: [PATCH 11/37] fix mypy error --- third_party/2and3/peewee.pyi | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 57759b2b9b78..4a5abe63aa62 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -50,7 +50,7 @@ _CallBack = TypeVar("_CallBack", bound=Callable[[Any], None]) class _callable_context_manager(ContextManager): def __call__(self, fn: Callable[..., Any]) -> Callable[..., Any]: ... -class Proxy: +class Proxy(Generic[_CallBack]): def __init__(self) -> None: ... obj: Any _callbacks: List[_CallBack] = ... @@ -116,11 +116,13 @@ class Context: def parse(self, node: Any): ... def query(self): ... +_F = TypeVar('_F', bound=Callable[..., Any]) + class Node: def clone(self: _SelfT) -> _SelfT: ... def __sql__(self, ctx: Context) -> Context: ... @staticmethod - def copy(method: Callable[..., Callable[[_SelfT, ...], _SelfT]]): ... # incomplete + def copy(method: Callable[[_F], _F]): ... def coerce(self: _SelfT, _coerce: bool = ...) -> _SelfT: ... def is_alias(self) -> bool: ... def unwrap(self: _SelfT) -> _SelfT: ... @@ -295,7 +297,7 @@ class WrappedNode(ColumnBase, Generic[_NodeLike]): node: _NodeLike = ... def __init__(self, node: _NodeLike) -> None: ... def is_alias(self) -> bool: ... - def unwrap(self) -> _NodeLike: ... + def unwrap(self) -> _NodeLike: ... # type: ignore[override] class EntityFactory: node: Any @@ -357,7 +359,7 @@ class Ordering(WrappedNode): def __init__( self, node: ColumnBase, direction: _order, collation: Optional[str] = ..., nulls: Optional[_sort_nulls] = ... ) -> None: ... - def collate(self, collation: Optional[str] = ...) -> Ordering: ... + def collate(self, collation: Optional[str] = ...) -> Ordering: ... # type: ignore[override] def __sql__(self, ctx: Context) -> Context: ... class Expression(ColumnBase): @@ -480,7 +482,7 @@ EXCLUDED: _Namespace class DQ(ColumnBase): query: Any def __init__(self, **query: Any) -> None: ... - def __invert__(self: _SelfT) -> _SelfT: ... + def __invert__(self: _SelfT) -> _SelfT: ... # type: ignore[override] def clone(self: _SelfT) -> _SelfT: ... class QualifiedNames(WrappedNode): From 20fc0e7e20f0290c4ee1ec23956cba46a2dc5c33 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 10:26:38 +0800 Subject: [PATCH 12/37] Field --- third_party/2and3/peewee.pyi | 76 ++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 37 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 4a5abe63aa62..1c034e387c63 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -461,12 +461,12 @@ class ForUpdate(Node): def Case(predicate: Any, expression_tuples: Any, default: Optional[Any] = ...): ... -class NodeList(ColumnBase): - nodes: Any - glue: Any - parens: Any - def __init__(self, nodes: Any, glue: str = ..., parens: bool = ...) -> None: ... - def __sql__(self, ctx: Any): ... +class NodeList(ColumnBase, Generic[_NodeLike]): + nodes: Iterator[_NodeLike] + glue: str + parens: bool + def __init__(self, nodes: Iterator[_NodeLike], glue: str = ..., parens: bool = ...) -> None: ... + def __sql__(self, ctx: Context) -> Context: ... class _Namespace(Node): def __init__(self, name: str) -> None: ... @@ -1050,26 +1050,30 @@ class ObjectIdAccessor: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... def __set__(self, instance: Any, value: Any) -> None: ... +from typing import ClassVar + class Field(ColumnBase): - accessor_class: Any - auto_increment: bool = ... - default_index_type: Any - field_type: str = ... - unpack: bool = ... - null: Any - index: Any - unique: Any - column_name: Any + accessor_class: ClassVar[Type[FieldAccessor]] + auto_increment: ClassVar[Type[bool]] + default_index_type: ClassVar[None] + field_type: ClassVar[str] + unpack: ClassVar[bool] + null: bool + index: bool + unique: bool + column_name: str default: Any - primary_key: Any - constraints: Any - sequence: Any - collation: Any - unindexed: Any - choices: Any - help_text: Any - verbose_name: Any - index_type: Any + primary_key: bool + constraints: List[SQL] + sequence: str + collation: str + unindexed: bool + choices: list[TupleT[Any, Any]] + help_text: str + verbose_name: str + index_type: str + model: Model + name: str def __init__( self, null: bool = ..., @@ -1089,21 +1093,19 @@ class Field(ColumnBase): db_column: Optional[Any] = ..., _hidden: bool = ..., ) -> None: ... - def __hash__(self) -> Any: ... - model: Any - name: Any - def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + def __hash__(self) -> int: ... + def bind(self, model: Model, name: str, set_attribute: bool = ...) -> None: ... @property - def column(self): ... - def adapt(self, value: Any): ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... - def to_value(self, value: Any): ... - def get_sort_key(self, ctx: Any): ... - def __sql__(self, ctx: Any): ... + def column(self) -> Column: ... + def adapt(self, value: Any) -> Any: ... + def db_value(self, value: Any) -> Any: ... + def python_value(self, value: Any) -> Any: ... + def to_value(self, value: Any) -> Value: ... + def get_sort_key(self, ctx: Context) -> TupleT[str, ...]: ... + def __sql__(self, ctx: Context) -> Context: ... def get_modifiers(self) -> None: ... - def ddl_datatype(self, ctx: Any): ... - def ddl(self, ctx: Any): ... + def ddl_datatype(self, ctx: Any) -> SQL: ... + def ddl(self, ctx: Context) -> NodeList[SQL]: ... class IntegerField(Field): field_type: str = ... From c0149014f61ba6b8fca4ad0984b62896f7a960f5 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 10:30:48 +0800 Subject: [PATCH 13/37] UUIDField --- third_party/2and3/peewee.pyi | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 1c034e387c63..701198b3a5cc 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -2,6 +2,7 @@ import itertools import logging import sys import threading +import uuid from collections import namedtuple from typing import ( Any, @@ -18,7 +19,7 @@ from typing import ( Union, Generic, Dict, - Tuple as TupleT + Tuple as TupleT, Text ) import sqlite3 @@ -1204,9 +1205,9 @@ class BigBitField(BlobField): def db_value(self, value: Any): ... class UUIDField(Field): - field_type: str = ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... + field_type: ClassVar[str] + def db_value(self, value: Union[bytes, str, uuid.UUID]) -> str: ... + def python_value(self, value: str) -> uuid.UUID: ... class BinaryUUIDField(BlobField): field_type: str = ... From c0db87b51438a600200d8793aaff9c8be4d79bd2 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 11:32:19 +0800 Subject: [PATCH 14/37] IntegerField --- third_party/2and3/peewee.pyi | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 701198b3a5cc..a1a117d964d9 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1109,14 +1109,14 @@ class Field(ColumnBase): def ddl(self, ctx: Context) -> NodeList[SQL]: ... class IntegerField(Field): - field_type: str = ... - def adapt(self, value: Any): ... + field_type: ClassVar[str] + def adapt(self, value: Any) -> int: ... class BigIntegerField(IntegerField): - field_type: str = ... + field_type: ClassVar[str] class SmallIntegerField(IntegerField): - field_type: str = ... + field_type: ClassVar[str] class AutoField(IntegerField): auto_increment: bool = ... @@ -1178,13 +1178,23 @@ class TextField(_StringField): field_type: str = ... class BlobField(Field): - field_type: str = ... + field_type: ClassVar[str] def bind(self, model: Any, name: Any, set_attribute: bool = ...): ... def db_value(self, value: Any): ... +class FlagDescriptor: + _value: int + _field: BitField + def __init__(self, field: BitField, value: int): + ... + def __get__(self, instance, instance_type=None) -> int: + ... + def __set__(self, instance, is_set) -> None: + ... + class BitField(BitwiseMixin, BigIntegerField): def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def flag(self, value: Optional[Any] = ...): ... + def flag(self, value: Optional[int] = ...) -> FlagDescriptor: ... class BigBitFieldData: instance: Any @@ -1200,7 +1210,7 @@ class BigBitFieldAccessor(FieldAccessor): def __set__(self, instance: Any, value: Any) -> None: ... class BigBitField(BlobField): - accessor_class: Any + accessor_class: ClassVar[BigBitFieldAccessor] def __init__(self, *args: Any, **kwargs: Any) -> None: ... def db_value(self, value: Any): ... From 705ca1d11f6bd493f8e802dedf45d8eb6d70daa8 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 11:34:06 +0800 Subject: [PATCH 15/37] AutoField --- third_party/2and3/peewee.pyi | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index a1a117d964d9..996b6575fa3c 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1119,12 +1119,11 @@ class SmallIntegerField(IntegerField): field_type: ClassVar[str] class AutoField(IntegerField): - auto_increment: bool = ... - field_type: str = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... + auto_increment: TypeVar[bool] + field_type: ClassVar[str] class BigAutoField(AutoField): - field_type: str = ... + field_type: ClassVar[str] class IdentityField(AutoField): field_type: str = ... From 8bda3c36b5a815488c8b84ef41fd67852699329d Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 11:35:34 +0800 Subject: [PATCH 16/37] IdentityField --- third_party/2and3/peewee.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 996b6575fa3c..0134cb4992cd 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1126,8 +1126,8 @@ class BigAutoField(AutoField): field_type: ClassVar[str] class IdentityField(AutoField): - field_type: str = ... - def __init__(self, generate_always: bool = ..., **kwargs: Any) -> None: ... + field_type: ClassVar[str] + def __init__(self, generate_always: bool = ..., **kwargs) -> None: ... class PrimaryKeyField(AutoField): def __init__(self, *args: Any, **kwargs: Any) -> None: ... From ffc53147d5efa2a4aa69680e996161f644be77a1 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 11:36:38 +0800 Subject: [PATCH 17/37] FloatField --- third_party/2and3/peewee.pyi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 0134cb4992cd..eee6172d5ff0 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1130,11 +1130,11 @@ class IdentityField(AutoField): def __init__(self, generate_always: bool = ..., **kwargs) -> None: ... class PrimaryKeyField(AutoField): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... + ... class FloatField(Field): - field_type: str = ... - def adapt(self, value: Any): ... + field_type: ClassVar[str] + def adapt(self, value: Any) -> float: ... class DoubleField(FloatField): field_type: str = ... From 9dc70c9b388f48b9a12fe47bfba11dc61bee5296 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 11:37:10 +0800 Subject: [PATCH 18/37] DoubleField --- third_party/2and3/peewee.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index eee6172d5ff0..7d32164a0bb0 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1137,10 +1137,10 @@ class FloatField(Field): def adapt(self, value: Any) -> float: ... class DoubleField(FloatField): - field_type: str = ... + field_type: ClassVar[str] class DecimalField(Field): - field_type: str = ... + field_type: ClassVar[str] max_digits: Any decimal_places: Any auto_round: Any From ac45dc13240ebc448d6a471e7e85f08eb7b6a067 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 11:45:37 +0800 Subject: [PATCH 19/37] DecimalField --- third_party/2and3/peewee.pyi | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 7d32164a0bb0..dd1118ac4d55 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1,3 +1,4 @@ +import decimal import itertools import logging import sys @@ -1141,22 +1142,22 @@ class DoubleField(FloatField): class DecimalField(Field): field_type: ClassVar[str] - max_digits: Any - decimal_places: Any - auto_round: Any - rounding: Any + max_digits: int + decimal_places: int + auto_round: bool + rounding: str def __init__( self, max_digits: int = ..., decimal_places: int = ..., auto_round: bool = ..., - rounding: Optional[Any] = ..., + rounding: Optional[str] = ..., *args: Any, **kwargs: Any, ) -> None: ... - def get_modifiers(self): ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... + def get_modifiers(self) -> TupleT[int, int]: ... + def db_value(self, value: Any) -> Optional[decimal.Decimal]: ... + def python_value(self, value: Any) -> Optional[decimal.Decimal]: ... class _StringField(Field): def adapt(self, value: Any): ... From 46659d206ac128b9d7a3fbee849cc03d2b32489e Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 11:48:32 +0800 Subject: [PATCH 20/37] Check --- third_party/2and3/peewee.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index dd1118ac4d55..02f3a3514ab8 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -389,7 +389,7 @@ class SQL(ColumnBase): def __init__(self, sql: str, params: Optional[TupleT[Any, ...]] = ...) -> None: ... def __sql__(self, ctx: Context) -> Context: ... -def Check(constraint: Any): ... +def Check(constraint: Any) -> SQL: ... class Function(ColumnBase): name: Optional[str] = ... From 88f388be3812213ff70a1bfbef5205ea632f113c Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 11:54:07 +0800 Subject: [PATCH 21/37] Case --- third_party/2and3/peewee.pyi | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 02f3a3514ab8..c24a2ddcdc38 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -461,8 +461,6 @@ class ForUpdate(Node): def __init__(self, expr: Any, of: Optional[Any] = ..., nowait: Optional[Any] = ...) -> None: ... def __sql__(self, ctx: Any): ... -def Case(predicate: Any, expression_tuples: Any, default: Optional[Any] = ...): ... - class NodeList(ColumnBase, Generic[_NodeLike]): nodes: Iterator[_NodeLike] glue: str @@ -470,6 +468,12 @@ class NodeList(ColumnBase, Generic[_NodeLike]): def __init__(self, nodes: Iterator[_NodeLike], glue: str = ..., parens: bool = ...) -> None: ... def __sql__(self, ctx: Context) -> Context: ... +def Case( + predicate: ColumnBase, + expression_tuples: List[TupleT[Any, Any]], + default: Optional[Any] = ..., +) -> NodeList[Union[ColumnBase]]: ... + class _Namespace(Node): def __init__(self, name: str) -> None: ... def __getattr__(self, attr: str) -> NamespaceAttribute: ... From 7051ff7a7e62d48a13f9bd44996cd1639e661244 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 11:58:10 +0800 Subject: [PATCH 22/37] Value --- third_party/2and3/peewee.pyi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index c24a2ddcdc38..c5b966042740 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -334,13 +334,13 @@ class BitwiseNegated(BitwiseMixin, WrappedNode): class Value(ColumnBase): value: Any - converter: Any + converter: Callable[[T], Any] multi: Any values: Any - def __init__(self, value: Any, converter: Optional[Any] = ..., unpack: bool = ...) -> None: ... - def __sql__(self, ctx: Any): ... + def __init__(self, value: T, converter: Optional[Callable[[T], Any]] = ..., unpack: bool = ...) -> None: ... + def __sql__(self, ctx: Context) -> Context: ... -def AsIs(value: Any): ... +def AsIs(value: Any) -> Value: ... class Cast(WrappedNode): def __init__(self, node: ColumnBase, cast: str) -> None: ... From dc6d44d07002c5098baca0c38b7b279bd8d6164a Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 12:00:10 +0800 Subject: [PATCH 23/37] StringExpression --- third_party/2and3/peewee.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index c5b966042740..3b57fdf0d778 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -373,8 +373,8 @@ class Expression(ColumnBase): def __sql__(self, ctx: Any): ... class StringExpression(Expression): - def __add__(self, rhs: Any): ... - def __radd__(self, lhs: Any): ... + def __add__(self, rhs: Any) -> StringExpression: ... + def __radd__(self, lhs: Any) -> StringExpression: ... class Entity(ColumnBase): def __init__(self, *path: Any) -> None: ... From 1b208c14be8cec7966b5704da59cb17c96be0fc5 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 12:03:00 +0800 Subject: [PATCH 24/37] isort --- third_party/2and3/peewee.pyi | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 3b57fdf0d778..5fa033021c2c 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1,28 +1,29 @@ import decimal import itertools -import logging +import sqlite3 import sys import threading import uuid from collections import namedtuple from typing import ( Any, - Optional, - TypeVar, + Callable, + ClassVar, + ContextManager, + Dict, + Generator, + Generic, Iterable, Iterator, - Generator, List, Mapping, - Callable, - ContextManager, + Optional, + Text, + Tuple as TupleT, Type, + TypeVar, Union, - Generic, - Dict, - Tuple as TupleT, Text ) -import sqlite3 text_type = str bytes_type = bytes @@ -33,7 +34,6 @@ izip_longest = itertools.zip_longest _SelfT = TypeVar("_SelfT") T = TypeVar("T") -K = TypeVar("K") class attrdict(Dict[str, T], Generic[T]): def __getattr__(self, attr: str) -> T: ... @@ -1056,7 +1056,6 @@ class ObjectIdAccessor: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... def __set__(self, instance: Any, value: Any) -> None: ... -from typing import ClassVar class Field(ColumnBase): accessor_class: ClassVar[Type[FieldAccessor]] From fcd519acb2de713b4d73dd9b78c6388ae431aab2 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 12:19:19 +0800 Subject: [PATCH 25/37] flake8 --- third_party/2and3/peewee.pyi | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 5fa033021c2c..0ffc247609f5 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1,6 +1,5 @@ import decimal import itertools -import sqlite3 import sys import threading import uuid @@ -33,19 +32,19 @@ long = int izip_longest = itertools.zip_longest _SelfT = TypeVar("_SelfT") -T = TypeVar("T") +_T = TypeVar("_T") -class attrdict(Dict[str, T], Generic[T]): - def __getattr__(self, attr: str) -> T: ... - def __setattr__(self, attr: str, value: T) -> None: ... - def __iadd__(self: _SelfT, rhs: Mapping[str, T]) -> _SelfT: ... - def __add__(self: _SelfT, rhs: Mapping[str, T]) -> _SelfT: ... +class attrdict(Dict[str, _T], Generic[_T]): + def __getattr__(self, attr: str) -> _T: ... + def __setattr__(self, attr: str, value: _T) -> None: ... + def __iadd__(self: _SelfT, rhs: Mapping[str, _T]) -> _SelfT: ... + def __add__(self: _SelfT, rhs: Mapping[str, _T]) -> _SelfT: ... OP: attrdict[str] DJANGO_MAP: attrdict[Callable[[Any, Any], Any]] JOIN: attrdict[str] -def chunked(it: Iterator[T], n: int) -> Generator[List[T], None, None]: ... +def chunked(it: Iterator[_T], n: int) -> Generator[List[_T], None, None]: ... _CallBack = TypeVar("_CallBack", bound=Callable[[Any], None]) @@ -334,10 +333,10 @@ class BitwiseNegated(BitwiseMixin, WrappedNode): class Value(ColumnBase): value: Any - converter: Callable[[T], Any] + converter: Callable[[_T], Any] multi: Any values: Any - def __init__(self, value: T, converter: Optional[Callable[[T], Any]] = ..., unpack: bool = ...) -> None: ... + def __init__(self, value: _T, converter: Optional[Callable[[_T], Any]] = ..., unpack: bool = ...) -> None: ... def __sql__(self, ctx: Context) -> Context: ... def AsIs(value: Any) -> Value: ... @@ -1056,7 +1055,6 @@ class ObjectIdAccessor: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... def __set__(self, instance: Any, value: Any) -> None: ... - class Field(ColumnBase): accessor_class: ClassVar[Type[FieldAccessor]] auto_increment: ClassVar[Type[bool]] @@ -1190,7 +1188,7 @@ class FlagDescriptor: _field: BitField def __init__(self, field: BitField, value: int): ... - def __get__(self, instance, instance_type=None) -> int: + def __get__(self, instance, instance_type=...) -> int: ... def __set__(self, instance, is_set) -> None: ... @@ -1676,7 +1674,7 @@ class ModelSelect(BaseModelSelect, Select): model: Any def __init__( self, - model: Union[Type[Model], model, Type[ModelAlias], ModelAlias], + model: Union[Type[Model], Model, Type[ModelAlias], ModelAlias], fields_or_models: List[_Selection], is_default: bool = ..., ) -> None: ... From 2735ccf57ce79b0e20cc9995e4f537912e485b74 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 13:58:59 +0800 Subject: [PATCH 26/37] mypy --- third_party/2and3/peewee.pyi | 40 +++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 0ffc247609f5..029f19a120ce 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -345,13 +345,15 @@ class Cast(WrappedNode): def __init__(self, node: ColumnBase, cast: str) -> None: ... def __sql__(self, ctx: Context) -> Context: ... -_order = str -_sort_nulls = str if sys.version_info >= (3, 8): from typing import Literal - _order = Literal["ASC", "DESC"] - _sort_nulls = Literal["FIRST", "LAST"] + _order = Type[Literal["ASC", "DESC"]] + _sort_nulls = Type[Literal["FIRST", "LAST"]] + +else: + _order = Type[str] + _sort_nulls = Type[str] class Ordering(WrappedNode): direction: _order = ... @@ -1057,7 +1059,7 @@ class ObjectIdAccessor: class Field(ColumnBase): accessor_class: ClassVar[Type[FieldAccessor]] - auto_increment: ClassVar[Type[bool]] + auto_increment: ClassVar[bool] default_index_type: ClassVar[None] field_type: ClassVar[str] unpack: ClassVar[bool] @@ -1121,7 +1123,7 @@ class SmallIntegerField(IntegerField): field_type: ClassVar[str] class AutoField(IntegerField): - auto_increment: TypeVar[bool] + auto_increment: ClassVar[bool] field_type: ClassVar[str] class BigAutoField(AutoField): @@ -1156,7 +1158,7 @@ class DecimalField(Field): *args: Any, **kwargs: Any, ) -> None: ... - def get_modifiers(self) -> TupleT[int, int]: ... + def get_modifiers(self) -> TupleT[int, int]: ... # type: ignore[override] def db_value(self, value: Any) -> Optional[decimal.Decimal]: ... def python_value(self, value: Any) -> Optional[decimal.Decimal]: ... @@ -1166,17 +1168,17 @@ class _StringField(Field): def __radd__(self, other: Any): ... class CharField(_StringField): - field_type: str = ... + field_type: ClassVar[str] max_length: Any def __init__(self, max_length: int = ..., *args: Any, **kwargs: Any) -> None: ... def get_modifiers(self): ... class FixedCharField(CharField): - field_type: str = ... + field_type: ClassVar[str] def python_value(self, value: Any): ... class TextField(_StringField): - field_type: str = ... + field_type: ClassVar[str] class BlobField(Field): field_type: ClassVar[str] @@ -1211,7 +1213,7 @@ class BigBitFieldAccessor(FieldAccessor): def __set__(self, instance: Any, value: Any) -> None: ... class BigBitField(BlobField): - accessor_class: ClassVar[BigBitFieldAccessor] + accessor_class: ClassVar[Type[BigBitFieldAccessor]] def __init__(self, *args: Any, **kwargs: Any) -> None: ... def db_value(self, value: Any): ... @@ -1221,7 +1223,7 @@ class UUIDField(Field): def python_value(self, value: str) -> uuid.UUID: ... class BinaryUUIDField(BlobField): - field_type: str = ... + field_type: ClassVar[str] def db_value(self, value: Any): ... def python_value(self, value: Any): ... @@ -1230,7 +1232,7 @@ class _BaseFormattedField(Field): def __init__(self, formats: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... class DateTimeField(_BaseFormattedField): - field_type: str = ... + field_type: ClassVar[str] formats: Any def adapt(self, value: Any): ... def to_timestamp(self): ... @@ -1243,7 +1245,7 @@ class DateTimeField(_BaseFormattedField): second: Any class DateField(_BaseFormattedField): - field_type: str = ... + field_type: ClassVar[str] formats: Any def adapt(self, value: Any): ... def to_timestamp(self): ... @@ -1253,7 +1255,7 @@ class DateField(_BaseFormattedField): day: Any class TimeField(_BaseFormattedField): - field_type: str = ... + field_type: ClassVar[str] formats: Any def adapt(self, value: Any): ... hour: Any @@ -1284,16 +1286,16 @@ class IPField(BigIntegerField): def python_value(self, val: Any): ... class BooleanField(Field): - field_type: str = ... + field_type: ClassVar[str] adapt: Any class BareField(Field): adapt: Any def __init__(self, adapt: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... - def ddl_datatype(self, ctx: Any) -> None: ... + def ddl_datatype(self, ctx: Context) -> None: ... # type: ignore[override] class ForeignKeyField(Field): - accessor_class: Any + accessor_class: ClassVar[Type[ForeignKeyAccessor]] rel_model: Any rel_field: Any declared_backref: Any @@ -1366,7 +1368,7 @@ class ManyToManyFieldAccessor(FieldAccessor): def __set__(self, instance: Any, value: Any) -> None: ... class ManyToManyField(MetaField): - accessor_class: Any + accessor_class: ClassVar[Type[ManyToManyFieldAccessor]] rel_model: Any backref: Any def __init__( From 41f81261684009bdd48f6ed9f4fe750eeed6c526 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 14:03:23 +0800 Subject: [PATCH 27/37] BareField --- third_party/2and3/peewee.pyi | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 029f19a120ce..9bd9693adf23 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1289,10 +1289,10 @@ class BooleanField(Field): field_type: ClassVar[str] adapt: Any -class BareField(Field): - adapt: Any - def __init__(self, adapt: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... - def ddl_datatype(self, ctx: Context) -> None: ... # type: ignore[override] +class BareField(Field, Generic[_F]): + adapt: _F + def __init__(self, adapt: Optional[_F] = ..., *args, **kwargs) -> None: ... + def ddl_datatype(self, ctx: Context) -> None: ... # type: ignore[override] class ForeignKeyField(Field): accessor_class: ClassVar[Type[ForeignKeyAccessor]] @@ -1648,8 +1648,8 @@ class _ModelQueryHelper: def objects(self, constructor: Optional[Any] = ...) -> None: ... class ModelRaw(_ModelQueryHelper, RawQuery): - model: Any - def __init__(self, model: Any, sql: Any, params: Any, **kwargs: Any) -> None: ... + model: Type[Model] + def __init__(self, model: Type[Model], sql: Any, params: Any, **kwargs: Any) -> None: ... def get(self): ... class BaseModelSelect(_ModelQueryHelper): From 9270764285ce394b52d1b4a3e6f1c498a8288f77 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sat, 27 Jun 2020 14:04:42 +0800 Subject: [PATCH 28/37] BooleanField --- third_party/2and3/peewee.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 9bd9693adf23..34995af4d2b3 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1287,7 +1287,7 @@ class IPField(BigIntegerField): class BooleanField(Field): field_type: ClassVar[str] - adapt: Any + def adapt(self, value: Any) -> bool: ... class BareField(Field, Generic[_F]): adapt: _F From 278379101256c2fe3c080d8fd1554081890afd02 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Tue, 30 Jun 2020 13:52:09 +0800 Subject: [PATCH 29/37] BinaryUUIDField and IPField --- third_party/2and3/peewee.pyi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 34995af4d2b3..708e3cff5afd 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -109,7 +109,7 @@ class Context: scope_column: Any def __enter__(self): ... def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... - def push_alias(self) -> None: ... + def push_alias(self) -> Generator[None, None, None]: ... def sql(self, obj: Any): ... def literal(self, keyword: Any): ... def value(self, value: Any, converter: Optional[Any] = ..., add_param: bool = ...): ... @@ -1224,8 +1224,8 @@ class UUIDField(Field): class BinaryUUIDField(BlobField): field_type: ClassVar[str] - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... + def db_value(self, value: Any) -> bytearray: ... + def python_value(self, value: Any) -> uuid.UUID: ... class _BaseFormattedField(Field): formats: Any @@ -1282,8 +1282,8 @@ class TimestampField(BigIntegerField): second: Any class IPField(BigIntegerField): - def db_value(self, val: Any): ... - def python_value(self, val: Any): ... + def db_value(self, val: Any) -> Optional[int]: ... + def python_value(self, val: Any) -> Optional[str]: ... class BooleanField(Field): field_type: ClassVar[str] From f2e3c812a4da4544f043d98fc391471563729214 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Tue, 30 Jun 2020 13:54:43 +0800 Subject: [PATCH 30/37] BlobField --- third_party/2and3/peewee.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 708e3cff5afd..da8ca1a9aa51 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1182,8 +1182,8 @@ class TextField(_StringField): class BlobField(Field): field_type: ClassVar[str] - def bind(self, model: Any, name: Any, set_attribute: bool = ...): ... - def db_value(self, value: Any): ... + def bind(self, model: Union[Model, Proxy], name: str, set_attribute: bool = ...) -> None: ... + def db_value(self, value: Any) -> Optional[bytearray]: ... class FlagDescriptor: _value: int From f1fc4ec4bb0e6e847dad9b7af57dd0356977b89e Mon Sep 17 00:00:00 2001 From: Trim21 Date: Tue, 30 Jun 2020 20:13:32 +0800 Subject: [PATCH 31/37] DateTimeField --- third_party/2and3/peewee.pyi | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index da8ca1a9aa51..8cadb93888d2 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1,3 +1,4 @@ +import datetime import decimal import itertools import sys @@ -1233,16 +1234,16 @@ class _BaseFormattedField(Field): class DateTimeField(_BaseFormattedField): field_type: ClassVar[str] - formats: Any - def adapt(self, value: Any): ... - def to_timestamp(self): ... - def truncate(self, part: Any): ... - year: Any - month: Any - day: Any - hour: Any - minute: Any - second: Any + formats: ClassVar[List[str]] + def adapt(self, value: str) -> datetime.datetime: ... + def to_timestamp(self) -> int: ... + def truncate(self, part: Any) -> str: ... + year: int + month: int + day: int + hour: int + minute: int + second: int class DateField(_BaseFormattedField): field_type: ClassVar[str] From 60c97bc7fb2d4297d41c3a71b1193345a80bb8e9 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Wed, 1 Jul 2020 14:09:05 +0800 Subject: [PATCH 32/37] TimeField --- third_party/2and3/peewee.pyi | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 8cadb93888d2..58beded447e1 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1237,7 +1237,7 @@ class DateTimeField(_BaseFormattedField): formats: ClassVar[List[str]] def adapt(self, value: str) -> datetime.datetime: ... def to_timestamp(self) -> int: ... - def truncate(self, part: Any) -> str: ... + def truncate(self, part: str) -> Function: ... year: int month: int day: int @@ -1247,21 +1247,21 @@ class DateTimeField(_BaseFormattedField): class DateField(_BaseFormattedField): field_type: ClassVar[str] - formats: Any - def adapt(self, value: Any): ... - def to_timestamp(self): ... - def truncate(self, part: Any): ... - year: Any - month: Any - day: Any + formats: ClassVar[List[str]] + def adapt(self, value: Union[datetime.date, datetime.datetime, str]) -> datetime.date: ... + def to_timestamp(self) -> int: ... + def truncate(self, part: str) -> Function: ... + year: int + month: int + day: int class TimeField(_BaseFormattedField): field_type: ClassVar[str] - formats: Any - def adapt(self, value: Any): ... - hour: Any - minute: Any - second: Any + formats: ClassVar[List[str]] + def adapt(self, value: Any) -> datetime.time: ... + hour: int + minute: int + second: int class TimestampField(BigIntegerField): valid_resolutions: Any From a7adda4dc990cda1160cc9cb81df0dfb60649131 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Wed, 1 Jul 2020 14:15:53 +0800 Subject: [PATCH 33/37] TimestampField --- third_party/2and3/peewee.pyi | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 58beded447e1..2ac7c830d8ec 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1264,23 +1264,23 @@ class TimeField(_BaseFormattedField): second: int class TimestampField(BigIntegerField): - valid_resolutions: Any - resolution: Any - ticks_to_microsecond: Any - utc: Any + valid_resolutions: ClassVar[List[int]] + resolution: int + ticks_to_microsecond: bool + utc: int def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def local_to_utc(self, dt: Any): ... - def utc_to_local(self, dt: Any): ... - def get_timestamp(self, value: Any): ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... - def from_timestamp(self): ... - year: Any - month: Any - day: Any - hour: Any - minute: Any - second: Any + def local_to_utc(self, dt: Any) -> datetime.datetime: ... + def utc_to_local(self, dt: Any) -> datetime.datetime: ... + def get_timestamp(self, value: Any) -> float: ... + def db_value(self, value: Any) -> int: ... + def python_value(self, value: Any) -> datetime.datetime: ... + def from_timestamp(self) -> Function: ... + year: int + month: int + day: int + hour: int + minute: int + second: int class IPField(BigIntegerField): def db_value(self, val: Any) -> Optional[int]: ... From a0c7999fabb30b20587c479831c0a515452a407a Mon Sep 17 00:00:00 2001 From: Trim21 Date: Wed, 1 Jul 2020 14:18:17 +0800 Subject: [PATCH 34/37] CharField --- third_party/2and3/peewee.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 2ac7c830d8ec..ae28febd9c38 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1170,9 +1170,9 @@ class _StringField(Field): class CharField(_StringField): field_type: ClassVar[str] - max_length: Any + max_length: int def __init__(self, max_length: int = ..., *args: Any, **kwargs: Any) -> None: ... - def get_modifiers(self): ... + def get_modifiers(self) -> int: ... class FixedCharField(CharField): field_type: ClassVar[str] From 4d16a3c38334d9986ab939c14e4725280a058e75 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Wed, 1 Jul 2020 14:18:51 +0800 Subject: [PATCH 35/37] FixedCharField --- third_party/2and3/peewee.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index ae28febd9c38..74507f80e4be 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -1176,7 +1176,7 @@ class CharField(_StringField): class FixedCharField(CharField): field_type: ClassVar[str] - def python_value(self, value: Any): ... + def python_value(self, value: Any) -> str: ... class TextField(_StringField): field_type: ClassVar[str] From ca0bfc02ce7659c77604baf1f18f268dabac1081 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Wed, 1 Jul 2020 14:42:16 +0800 Subject: [PATCH 36/37] Table --- third_party/2and3/peewee.pyi | 38 ++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 74507f80e4be..9872d179cb11 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -186,28 +186,28 @@ class _BoundTableContext(_callable_context_manager): def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... class Table(_HashableSource, BaseTable): - __name__: Any - c: Any - primary_key: Any + __name__: str + c: _ExplicitColumn + primary_key: Optional[str] def __init__( self, - name: Any, - columns: Optional[Any] = ..., - primary_key: Optional[Any] = ..., - schema: Optional[Any] = ..., - alias: Optional[Any] = ..., - _model: Optional[Any] = ..., - _database: Optional[Any] = ..., + name: str, + columns: Optional[List[str]] = ..., + primary_key: Optional[str] = ..., + schema: Optional[str] = ..., + alias: Optional[str] = ..., + _model: Optional[Model] = ..., + _database: Optional[Database] = ..., ) -> None: ... - def clone(self): ... - def bind(self, database: Optional[Any] = ...): ... - def bind_ctx(self, database: Optional[Any] = ...): ... - def select(self, *columns: Any): ... - def insert(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any): ... - def replace(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any): ... - def update(self, update: Optional[Any] = ..., **kwargs: Any): ... - def delete(self): ... - def __sql__(self, ctx: Any): ... + def clone(self) -> Table: ... + def bind(self: _SelfT, database: Optional[Database] = ...) -> _SelfT: ... + def bind_ctx(self, database: Optional[Any] = ...) -> _BoundTableContext: ... + def select(self, *columns: Any) -> Select: ... + def insert(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any) -> Insert: ... + def replace(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any) -> Insert: ... + def update(self, update: Optional[Any] = ..., **kwargs: Any) -> Update: ... + def delete(self) -> Delete: ... + def __sql__(self, ctx: Context) -> Context: ... class Join(BaseTable): lhs: Any From 438ae50eae5f98d29413525166b1399194bdd166 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sun, 19 Jul 2020 04:26:32 +0800 Subject: [PATCH 37/37] foreignKeyField --- third_party/2and3/peewee.pyi | 963 +++++++++++++++++++++++++++++++++-- 1 file changed, 930 insertions(+), 33 deletions(-) diff --git a/third_party/2and3/peewee.pyi b/third_party/2and3/peewee.pyi index 9872d179cb11..766548cf1295 100644 --- a/third_party/2and3/peewee.pyi +++ b/third_party/2and3/peewee.pyi @@ -35,137 +35,218 @@ izip_longest = itertools.zip_longest _SelfT = TypeVar("_SelfT") _T = TypeVar("_T") + class attrdict(Dict[str, _T], Generic[_T]): def __getattr__(self, attr: str) -> _T: ... + def __setattr__(self, attr: str, value: _T) -> None: ... + def __iadd__(self: _SelfT, rhs: Mapping[str, _T]) -> _SelfT: ... + def __add__(self: _SelfT, rhs: Mapping[str, _T]) -> _SelfT: ... + OP: attrdict[str] DJANGO_MAP: attrdict[Callable[[Any, Any], Any]] JOIN: attrdict[str] + def chunked(it: Iterator[_T], n: int) -> Generator[List[_T], None, None]: ... + _CallBack = TypeVar("_CallBack", bound=Callable[[Any], None]) + class _callable_context_manager(ContextManager): def __call__(self, fn: Callable[..., Any]) -> Callable[..., Any]: ... + class Proxy(Generic[_CallBack]): def __init__(self) -> None: ... + obj: Any _callbacks: List[_CallBack] = ... + def initialize(self, obj: Any) -> None: ... + def attach_callback(self, callback: _CallBack) -> _CallBack: ... + def passthrough(method: Any): ... + __enter__: Callable[..., Any] = ... __exit__: Callable[..., Any] = ... + def __getattr__(self, attr: Any) -> Any: ... + def __setattr__(self, attr: Any, value: Any) -> None: ... + class DatabaseProxy(Proxy): def connection_context(self) -> ConnectionContext: ... + def atomic(self, *args: Any, **kwargs: Any): ... + def manual_commit(self): ... + def transaction(self, *args: Any, **kwargs: Any): ... + def savepoint(self): ... + class ModelDescriptor: ... + class AliasManager: def __init__(self) -> None: ... + @property def mapping(self): ... + def add(self, source: Any): ... + def get(self, source: Any, any_depth: bool = ...): ... + def __getitem__(self, source: Any): ... + def __setitem__(self, source: Any, alias: Any) -> None: ... + def push(self) -> None: ... + def pop(self) -> None: ... + class State: def __new__(cls, scope: Any = ..., parentheses: bool = ..., **kwargs: Any): ... + def __call__(self, scope: Optional[Any] = ..., parentheses: Optional[Any] = ..., **kwargs: Any): ... + def __getattr__(self, attr_name: Any): ... + class Context: stack: Any alias_manager: Any state: Any + def __init__(self, **settings: Any) -> None: ... + def as_new(self): ... + def column_sort_key(self, item: Any): ... + @property def scope(self): ... + @property def parentheses(self): ... + @property def subquery(self): ... + def __call__(self, **overrides: Any): ... + scope_normal: Any scope_source: Any scope_values: Any scope_cte: Any scope_column: Any + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + def push_alias(self) -> Generator[None, None, None]: ... + def sql(self, obj: Any): ... + def literal(self, keyword: Any): ... + def value(self, value: Any, converter: Optional[Any] = ..., add_param: bool = ...): ... + def __sql__(self, ctx: Any): ... + def parse(self, node: Any): ... + def query(self): ... + _F = TypeVar('_F', bound=Callable[..., Any]) + class Node: def clone(self: _SelfT) -> _SelfT: ... + def __sql__(self, ctx: Context) -> Context: ... + @staticmethod def copy(method: Callable[[_F], _F]): ... + def coerce(self: _SelfT, _coerce: bool = ...) -> _SelfT: ... + def is_alias(self) -> bool: ... + def unwrap(self: _SelfT) -> _SelfT: ... + _NodeLike = TypeVar("_NodeLike", bound=Node) + class ColumnFactory: node: Any + def __init__(self, node: Any) -> None: ... + def __getattr__(self, attr: Any): ... + class _DynamicColumn: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + class _ExplicitColumn: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + class Source(Node): c: Any + def __init__(self, alias: Optional[Any] = ...) -> None: ... + def alias(self, name: Any) -> None: ... + def select(self, *columns: Any): ... + def join(self, dest: Any, join_type: Any = ..., on: Optional[Any] = ...): ... + def left_outer_join(self, dest: Any, on: Optional[Any] = ...): ... + def cte(self, name: Any, recursive: bool = ..., columns: Optional[Any] = ..., materialized: Optional[Any] = ...): ... + def get_sort_key(self, ctx: Any): ... + def apply_alias(self, ctx: Any): ... + def apply_column(self, ctx: Any): ... + class _HashableSource: def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def alias(self, name: Any) -> None: ... + def __hash__(self) -> Any: ... + def __eq__(self, other: Any) -> Any: ... + def __ne__(self, other: Any) -> Any: ... + __lt__: Any __le__: Any __gt__: Any __ge__: Any + class BaseTable(Source): __and__: Any __add__: Any @@ -178,17 +259,23 @@ class BaseTable(Source): __ror__: Any __rmul__: Any + class _BoundTableContext(_callable_context_manager): table: Any database: Any + def __init__(self, table: Any, database: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class Table(_HashableSource, BaseTable): __name__: str c: _ExplicitColumn primary_key: Optional[str] + def __init__( self, name: str, @@ -199,153 +286,261 @@ class Table(_HashableSource, BaseTable): _model: Optional[Model] = ..., _database: Optional[Database] = ..., ) -> None: ... + def clone(self) -> Table: ... + def bind(self: _SelfT, database: Optional[Database] = ...) -> _SelfT: ... + def bind_ctx(self, database: Optional[Any] = ...) -> _BoundTableContext: ... + def select(self, *columns: Any) -> Select: ... + def insert(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any) -> Insert: ... + def replace(self, insert: Optional[Any] = ..., columns: Optional[Any] = ..., **kwargs: Any) -> Insert: ... + def update(self, update: Optional[Any] = ..., **kwargs: Any) -> Update: ... + def delete(self) -> Delete: ... + def __sql__(self, ctx: Context) -> Context: ... + class Join(BaseTable): lhs: Any rhs: Any join_type: Any + def __init__(self, lhs: Any, rhs: Any, join_type: Any = ..., on: Optional[Any] = ..., alias: Optional[Any] = ...) -> None: ... + def on(self, predicate: Any): ... + def __sql__(self, ctx: Any): ... + class ValuesList(_HashableSource, BaseTable): def __init__(self, values: Any, columns: Optional[Any] = ..., alias: Optional[Any] = ...) -> None: ... + def columns(self, *names: Any) -> None: ... + def __sql__(self, ctx: Any): ... + class CTE(_HashableSource, Source): def __init__( self, name: Any, query: Any, recursive: bool = ..., columns: Optional[Any] = ..., materialized: Optional[Any] = ... ) -> None: ... + def select_from(self, *columns: Any): ... + def union_all(self, rhs: Any): ... + __add__: Any + def union(self, rhs: Any): ... + __or__: Any + def __sql__(self, ctx: Any): ... + class ColumnBase(Node): def alias(self: _SelfT, alias: bool) -> Union[_SelfT, Alias]: ... + def unalias(self: _SelfT) -> _SelfT: ... + def cast(self, as_type: str) -> Cast: ... + def asc(self, collation: Optional[Any] = ..., nulls: Optional[_sort_nulls] = ...) -> Ordering: ... + def __pos__(self) -> Ordering: ... + def desc(self, collation: Optional[Any] = ..., nulls: Optional[_sort_nulls] = ...) -> Ordering: ... + def __neg__(self) -> Ordering: ... + def __invert__(self) -> Negated: ... + def __and__(self, rhs: Any) -> Expression: ... + def __or__(self, rhs: Any) -> Expression: ... + def __add__(self, rhs: Any) -> Expression: ... + def __sub__(self, rhs: Any) -> Expression: ... + def __mul__(self, rhs: Any) -> Expression: ... + def __div__(self, rhs: Any) -> Expression: ... + def __truediv__(self, rhs: Any) -> Expression: ... + def __xor__(self, rhs: Any) -> Expression: ... + def __radd__(self, rhs: Any) -> Expression: ... + def __rsub__(self, rhs: Any) -> Expression: ... + def __rmul__(self, rhs: Any) -> Expression: ... + def __rdiv__(self, rhs: Any) -> Expression: ... + def __rtruediv__(self, rhs: Any) -> Expression: ... + def __rand__(self, rhs: Any) -> Expression: ... + def __ror__(self, rhs: Any) -> Expression: ... + def __rxor__(self, rhs: Any) -> Expression: ... + def __eq__(self, rhs: Any) -> Expression: ... # type: ignore[override] + def __ne__(self, rhs: Any) -> Expression: ... # type: ignore[override] + def __lt__(self, rhs: Any) -> Expression: ... + def __le__(self, rhs: Any) -> Expression: ... + def __gt__(self, rhs: Any) -> Expression: ... + def __ge__(self, rhs: Any) -> Expression: ... + def __lshift__(self, rhs: Any) -> Expression: ... + def __rshift__(self, rhs: Any) -> Expression: ... + def __mod__(self, rhs: Any) -> Expression: ... + def __pow__(self, rhs: Any) -> Expression: ... + def bin_and(self, rhs: Any) -> Expression: ... + def bin_or(self, rhs: Any) -> Expression: ... + def in_(self, rhs: Any) -> Expression: ... + def not_in(self, rhs: Any) -> Expression: ... + def regexp(self, rhs: Any) -> Expression: ... + def is_null(self, is_null: bool = ...) -> Expression: ... + def contains(self, rhs: Any) -> Expression: ... + def startswith(self, rhs: Any) -> Expression: ... + def endswith(self, rhs: Any) -> Expression: ... + def between(self, lo: Any, hi: Any) -> Expression: ... + def concat(self, rhs: Any) -> StringExpression: ... + def iregexp(self, rhs: Any) -> Expression: ... + def __getitem__(self, item: Any) -> Expression: ... + def distinct(self) -> NodeList: ... + def collate(self, collation: Any) -> NodeList: ... + def get_sort_key(self, ctx: Any) -> TupleT[str, ...]: ... + class Column(ColumnBase, Generic[_NodeLike]): source: _NodeLike = ... name: str = ... + def __init__(self, source: _NodeLike, name: str) -> None: ... + def get_sort_key(self, ctx: Context) -> TupleT[str, ...]: ... + def __hash__(self) -> int: ... + def __sql__(self, ctx: Context) -> Context: ... + class WrappedNode(ColumnBase, Generic[_NodeLike]): node: _NodeLike = ... + def __init__(self, node: _NodeLike) -> None: ... + def is_alias(self) -> bool: ... + def unwrap(self) -> _NodeLike: ... # type: ignore[override] + class EntityFactory: node: Any + def __init__(self, node: Any) -> None: ... + def __getattr__(self, attr: Any): ... + class _DynamicEntity: def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + class Alias(WrappedNode): c: Any + def __init__(self, node: Any, alias: Any) -> None: ... + def __hash__(self) -> Any: ... + def alias(self, alias: Optional[Any] = ...): ... + def unalias(self): ... + def is_alias(self): ... + def __sql__(self, ctx: Any): ... + class Negated(WrappedNode): def __invert__(self) -> _NodeLike: ... + def __sql__(self, ctx: Context) -> Context: ... + class BitwiseMixin: def __and__(self, other: Any): ... + def __or__(self, other: Any): ... + def __sub__(self, other: Any): ... + def __invert__(self): ... + class BitwiseNegated(BitwiseMixin, WrappedNode): def __invert__(self): ... + def __sql__(self, ctx: Any): ... + class Value(ColumnBase): value: Any converter: Callable[[_T], Any] multi: Any values: Any + def __init__(self, value: _T, converter: Optional[Callable[[_T], Any]] = ..., unpack: bool = ...) -> None: ... + def __sql__(self, ctx: Context) -> Context: ... + def AsIs(value: Any) -> Value: ... + class Cast(WrappedNode): def __init__(self, node: ColumnBase, cast: str) -> None: ... + def __sql__(self, ctx: Context) -> Context: ... + if sys.version_info >= (3, 8): from typing import Literal @@ -356,52 +551,78 @@ else: _order = Type[str] _sort_nulls = Type[str] + class Ordering(WrappedNode): direction: _order = ... collation: str = ... nulls: Optional[_sort_nulls] = ... + def __init__( - self, node: ColumnBase, direction: _order, collation: Optional[str] = ..., nulls: Optional[_sort_nulls] = ... + self, node: ColumnBase, direction: _order, collation: Optional[str] = ..., + nulls: Optional[_sort_nulls] = ... ) -> None: ... + def collate(self, collation: Optional[str] = ...) -> Ordering: ... # type: ignore[override] + def __sql__(self, ctx: Context) -> Context: ... + class Expression(ColumnBase): lhs: Any op: Any rhs: Any flat: Any + def __init__(self, lhs: Any, op: Any, rhs: Any, flat: bool = ...) -> None: ... + def __sql__(self, ctx: Any): ... + class StringExpression(Expression): def __add__(self, rhs: Any) -> StringExpression: ... + def __radd__(self, lhs: Any) -> StringExpression: ... + class Entity(ColumnBase): def __init__(self, *path: Any) -> None: ... + def __getattr__(self, attr: Any): ... + def get_sort_key(self, ctx: Any): ... + def __hash__(self) -> Any: ... + def __sql__(self, ctx: Any): ... + class SQL(ColumnBase): sql: str params: Any + def __init__(self, sql: str, params: Optional[TupleT[Any, ...]] = ...) -> None: ... + def __sql__(self, ctx: Context) -> Context: ... + def Check(constraint: Any) -> SQL: ... + class Function(ColumnBase): name: Optional[str] = ... arguments: Any + def __init__(self, name: Optional[str], arguments: Any, coerce: bool = ..., python_value: Optional[Any] = ...) -> None: ... + def __getattr__(self, attr: str) -> Function: ... + def filter(self, where: Optional[Any] = ...) -> None: ... + def order_by(self, *ordering: Any) -> None: ... + def python_value(self, func: Optional[Any] = ...) -> None: ... + def over( self, partition_by: Optional[Any] = ..., @@ -412,10 +633,13 @@ class Function(ColumnBase): window: Optional[Any] = ..., exclude: Optional[Any] = ..., ): ... + def __sql__(self, ctx: Any): ... + fn: Function + class Window(Node): CURRENT_ROW: Any GROUP: Any @@ -429,6 +653,7 @@ class Window(Node): start: Any end: Any frame_type: Any + def __init__( self, partition_by: Optional[Any] = ..., @@ -441,61 +666,92 @@ class Window(Node): alias: Optional[Any] = ..., _inline: bool = ..., ) -> None: ... + def alias(self, alias: Optional[Any] = ...): ... + def as_range(self) -> None: ... + def as_rows(self) -> None: ... + def as_groups(self) -> None: ... + def extends(self, window: Optional[Any] = ...) -> None: ... + def exclude(self, frame_exclusion: Optional[Any] = ...) -> None: ... + @staticmethod def following(value: Optional[Any] = ...): ... + @staticmethod def preceding(value: Optional[Any] = ...): ... + def __sql__(self, ctx: Any): ... + class WindowAlias(Node): window: Any + def __init__(self, window: Any) -> None: ... + def alias(self, window_alias: Any): ... + def __sql__(self, ctx: Any): ... + class ForUpdate(Node): def __init__(self, expr: Any, of: Optional[Any] = ..., nowait: Optional[Any] = ...) -> None: ... + def __sql__(self, ctx: Any): ... + class NodeList(ColumnBase, Generic[_NodeLike]): nodes: Iterator[_NodeLike] glue: str parens: bool + def __init__(self, nodes: Iterator[_NodeLike], glue: str = ..., parens: bool = ...) -> None: ... + def __sql__(self, ctx: Context) -> Context: ... + def Case( predicate: ColumnBase, expression_tuples: List[TupleT[Any, Any]], default: Optional[Any] = ..., ) -> NodeList[Union[ColumnBase]]: ... + class _Namespace(Node): def __init__(self, name: str) -> None: ... + def __getattr__(self, attr: str) -> NamespaceAttribute: ... + def __getitem__(self, attr: str) -> NamespaceAttribute: ... + class NamespaceAttribute(ColumnBase): def __init__(self, namespace: _Namespace, attribute: str) -> None: ... + def __sql__(self, ctx: Context) -> Context: ... + EXCLUDED: _Namespace + class DQ(ColumnBase): query: Any + def __init__(self, **query: Any) -> None: ... + def __invert__(self: _SelfT) -> _SelfT: ... # type: ignore[override] + def clone(self: _SelfT) -> _SelfT: ... + class QualifiedNames(WrappedNode): def __sql__(self, ctx: Any): ... + class OnConflict(Node): def __init__( self, @@ -507,36 +763,62 @@ class OnConflict(Node): conflict_where: Optional[Any] = ..., conflict_constraint: Optional[Any] = ..., ) -> None: ... + def get_conflict_statement(self, ctx: Any, query: Any): ... + def get_conflict_update(self, ctx: Any, query: Any): ... + def preserve(self, *columns: Any) -> None: ... + def update(self, _data: Optional[Any] = ..., **kwargs: Any) -> None: ... + def where(self, *expressions: Any) -> None: ... + def conflict_target(self, *constraints: Any) -> None: ... + def conflict_where(self, *expressions: Any) -> None: ... + def conflict_constraint(self, constraint: Any) -> None: ... + class BaseQuery(Node): default_row_type: Any + def __init__(self, _database: Optional[Any] = ..., **kwargs: Any) -> None: ... + def bind(self, database: Optional[Any] = ...): ... + def clone(self): ... + def dicts(self, as_dict: bool = ...): ... + def tuples(self, as_tuple: bool = ...): ... + def namedtuples(self, as_namedtuple: bool = ...): ... + def objects(self, constructor: Optional[Any] = ...): ... + def __sql__(self, ctx: Context) -> Context: ... + def sql(self): ... + def execute(self, database: Any): ... + def iterator(self, database: Optional[Any] = ...): ... + def __iter__(self) -> Any: ... + def __getitem__(self, value: Any): ... + def __len__(self): ... + class RawQuery(BaseQuery): def __init__(self, sql: Optional[Any] = ..., params: Optional[Any] = ..., **kwargs: Any) -> None: ... + def __sql__(self, ctx: Any): ... + class Query(BaseQuery): def __init__( self, @@ -546,16 +828,26 @@ class Query(BaseQuery): offset: Optional[Any] = ..., **kwargs: Any, ) -> None: ... + def with_cte(self, *cte_list: Any) -> None: ... + def where(self, *expressions: Any) -> None: ... + def orwhere(self, *expressions: Any) -> None: ... + def order_by(self, *values: Any) -> None: ... + def order_by_extend(self, *values: Any) -> None: ... + def limit(self, value: Optional[Any] = ...) -> None: ... + def offset(self, value: Optional[Any] = ...) -> None: ... + def paginate(self, page: Any, paginate_by: int = ...) -> None: ... + def __sql__(self, ctx: Any): ... + class SelectQuery(Query): union_all: Any __add__: Any @@ -569,24 +861,36 @@ class SelectQuery(Query): __ror__: Any __rand__: Any __rsub__: Any + def select_from(self, *columns: Any): ... + class SelectBase(_HashableSource, Source, SelectQuery): def peek(self, database: Any, n: int = ...): ... + def first(self, database: Any, n: int = ...): ... + def scalar(self, database: Any, as_tuple: bool = ...): ... + def count(self, database: Any, clear_limit: bool = ...): ... + def exists(self, database: Any): ... + def get(self, database: Any): ... + class CompoundSelectQuery(SelectBase): lhs: Any op: Any rhs: Any + def __init__(self, lhs: Any, op: Any, rhs: Any) -> None: ... + def exists(self, database: Any): ... + def __sql__(self, ctx: Any): ... + class Select(SelectBase): def __init__( self, @@ -602,36 +906,62 @@ class Select(SelectBase): lateral: Optional[Any] = ..., **kwargs: Any, ) -> None: ... + def clone(self): ... + def columns(self, *columns: Any, **kwargs: Any) -> None: ... + select: Any + def select_extend(self, *columns: Any) -> None: ... + def from_(self, *sources: Any) -> None: ... + def join(self, dest: Any, join_type: Any = ..., on: Optional[Any] = ...) -> None: ... + def group_by(self, *columns: Any) -> None: ... + def group_by_extend(self, *values: Any): ... + def having(self, *expressions: Any) -> None: ... + def distinct(self, *columns: Any) -> None: ... + def window(self, *windows: Any) -> None: ... + def for_update(self, for_update: bool = ..., of: Optional[Any] = ..., nowait: Optional[Any] = ...) -> None: ... + def lateral(self, lateral: bool = ...) -> None: ... + def __sql_selection__(self, ctx: Any, is_subquery: bool = ...): ... + def __sql__(self, ctx: Any): ... + class _WriteQuery(Query): table: Any + def __init__(self, table: Any, returning: Optional[Any] = ..., **kwargs: Any) -> None: ... + def returning(self, *returning: Any) -> None: ... + def apply_returning(self, ctx: Any): ... + def execute_returning(self, database: Any): ... + def handle_result(self, database: Any, cursor: Any): ... + def __sql__(self, ctx: Any): ... + class Update(_WriteQuery): def __init__(self, table: Any, update: Optional[Any] = ..., **kwargs: Any) -> None: ... + def from_(self, *sources: Any) -> None: ... + def __sql__(self, ctx: Any): ... + class Insert(_WriteQuery): SIMPLE: int = ... QUERY: int = ... @@ -647,18 +977,28 @@ class Insert(_WriteQuery): on_conflict: Optional[Any] = ..., **kwargs: Any, ) -> None: ... + def where(self, *expressions: Any) -> None: ... + def on_conflict_ignore(self, ignore: bool = ...) -> None: ... + def on_conflict_replace(self, replace: bool = ...) -> None: ... + def on_conflict(self, *args: Any, **kwargs: Any) -> None: ... + def get_default_data(self): ... + def get_default_columns(self): ... + def __sql__(self, ctx: Any): ... + def handle_result(self, database: Any, cursor: Any): ... + class Delete(_WriteQuery): def __sql__(self, ctx: Any): ... + class Index(Node): def __init__( self, @@ -670,11 +1010,16 @@ class Index(Node): where: Optional[Any] = ..., using: Optional[Any] = ..., ) -> None: ... + def safe(self, _safe: bool = ...) -> None: ... + def where(self, *expressions: Any) -> None: ... + def using(self, _using: Optional[Any] = ...) -> None: ... + def __sql__(self, ctx: Any): ... + class ModelIndex(Index): def __init__( self, @@ -687,34 +1032,50 @@ class ModelIndex(Index): name: Optional[Any] = ..., ) -> None: ... + class PeeweeException(Exception): orig: Exception + def __init__(self, *args: Any) -> None: ... + class ImproperlyConfigured(PeeweeException): ... + class DatabaseError(PeeweeException): ... + class DataError(DatabaseError): ... + class IntegrityError(DatabaseError): ... + class InterfaceError(PeeweeException): ... + class InternalError(DatabaseError): ... + class NotSupportedError(DatabaseError): ... + class OperationalError(DatabaseError): ... + class ProgrammingError(DatabaseError): ... + class ExceptionWrapper: exceptions: Any + def __init__(self, exceptions: Any) -> None: ... + def __enter__(self) -> None: ... + def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ... + IndexMetadata = namedtuple("IndexMetadata", ["name", "sql", "columns", "unique", "table"]) ColumnMetadata = namedtuple("ColumnMetadata", ["name", "data_type", "null", "primary_key", "table", "default"]) @@ -723,27 +1084,39 @@ ForeignKeyMetadata = namedtuple("ForeignKeyMetadata", ["column", "dest_table", " ViewMetadata = namedtuple("ViewMetadata", ["name", "sql"]) + class _ConnectionState: def __init__(self, **kwargs: Any) -> None: ... + closed: bool = ... conn: Any ctx: Any transactions: Any + def reset(self) -> None: ... + def set_connection(self, conn: Any) -> None: ... + class _ConnectionLocal(_ConnectionState, threading.local): ... + class _NoopLock: def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class ConnectionContext(_callable_context_manager): db: Any + def __init__(self, db: Any) -> None: ... + def __enter__(self) -> None: ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class Database(_callable_context_manager): context_class: Any field_types: Any @@ -766,6 +1139,7 @@ class Database(_callable_context_manager): autorollback: Any thread_safe: Any connect_params: Any + def __init__( self, database: Any, @@ -777,61 +1151,115 @@ class Database(_callable_context_manager): autoconnect: bool = ..., **kwargs: Any, ) -> None: ... + database: Any deferred: Any + def init(self, database: Any, **kwargs: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + def connection_context(self): ... + def connect(self, reuse_if_open: bool = ...): ... + def close(self): ... + def is_closed(self): ... + def is_connection_usable(self): ... + def connection(self): ... + def cursor(self, commit: Optional[Any] = ...): ... + def execute_sql(self, sql: Any, params: Optional[Any] = ..., commit: Any = ...): ... + def execute(self, query: Any, commit: Any = ..., **context_options: Any): ... + def get_context_options(self): ... + def get_sql_context(self, **context_options: Any): ... + def conflict_statement(self, on_conflict: Any, query: Any) -> None: ... + def conflict_update(self, on_conflict: Any, query: Any) -> None: ... + def last_insert_id(self, cursor: Any, query_type: Optional[Any] = ...): ... + def rows_affected(self, cursor: Any): ... + def default_values_insert(self, ctx: Any): ... + def session_start(self): ... + def session_commit(self): ... + def session_rollback(self): ... + def in_transaction(self): ... + def push_transaction(self, transaction: Any) -> None: ... + def pop_transaction(self): ... + def transaction_depth(self): ... + def top_transaction(self): ... + def atomic(self, *args: Any, **kwargs: Any): ... + def manual_commit(self): ... + def transaction(self, *args: Any, **kwargs: Any): ... + def savepoint(self): ... + def begin(self) -> None: ... + def commit(self): ... + def rollback(self): ... + def batch_commit(self, it: Any, n: Any) -> None: ... + def table_exists(self, table_name: Any, schema: Optional[Any] = ...): ... + def get_tables(self, schema: Optional[Any] = ...) -> None: ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def get_columns(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...) -> None: ... + def sequence_exists(self, seq: Any) -> None: ... + def create_tables(self, models: Any, **options: Any) -> None: ... + def drop_tables(self, models: Any, **kwargs: Any) -> None: ... + def extract_date(self, date_part: Any, date_field: Any) -> None: ... + def truncate_date(self, date_part: Any, date_field: Any) -> None: ... + def to_timestamp(self, date_field: Any) -> None: ... + def from_timestamp(self, date_field: Any) -> None: ... + def random(self): ... + def bind(self, models: Any, bind_refs: bool = ..., bind_backrefs: bool = ...) -> None: ... + def bind_ctx(self, models: Any, bind_refs: bool = ..., bind_backrefs: bool = ...): ... + def get_noop_select(self, ctx: Any): ... + class SqliteDatabase(Database): field_types: Any operations: Any @@ -840,9 +1268,13 @@ class SqliteDatabase(Database): server_version: Any truncate_table: bool = ... nulls_ordering: Any + def __init__(self, database: Any, *args: Any, **kwargs: Any) -> None: ... + def init(self, database: Any, pragmas: Optional[Any] = ..., timeout: int = ..., **kwargs: Any) -> None: ... + def pragma(self, key: Any, value: Any = ..., permanent: bool = ..., schema: Optional[Any] = ...): ... + cache_size: Any foreign_keys: Any journal_mode: Any @@ -852,44 +1284,80 @@ class SqliteDatabase(Database): read_uncommitted: Any synchronous: Any wal_autocheckpoint: Any + @property def timeout(self): ... + @timeout.setter def timeout(self, seconds: Any) -> None: ... + def register_aggregate(self, klass: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... + def aggregate(self, name: Optional[Any] = ..., num_params: int = ...): ... + def register_collation(self, fn: Any, name: Optional[Any] = ...): ... + def collation(self, name: Optional[Any] = ...): ... + def register_function(self, fn: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... + def func(self, name: Optional[Any] = ..., num_params: int = ...): ... + def register_window_function(self, klass: Any, name: Optional[Any] = ..., num_params: int = ...) -> None: ... + def window_function(self, name: Optional[Any] = ..., num_params: int = ...): ... + def register_table_function(self, klass: Any, name: Optional[Any] = ...) -> None: ... + def table_function(self, name: Optional[Any] = ...): ... + def unregister_aggregate(self, name: Any) -> None: ... + def unregister_collation(self, name: Any) -> None: ... + def unregister_function(self, name: Any) -> None: ... + def unregister_window_function(self, name: Any) -> None: ... + def unregister_table_function(self, name: Any): ... + def load_extension(self, extension: Any) -> None: ... + def unload_extension(self, extension: Any) -> None: ... + def attach(self, filename: Any, name: Any): ... + def detach(self, name: Any): ... + def begin(self, lock_type: Optional[Any] = ...) -> None: ... + def get_tables(self, schema: Optional[Any] = ...): ... + def get_views(self, schema: Optional[Any] = ...): ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... + def get_columns(self, table: Any, schema: Optional[Any] = ...): ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_binary_type(self): ... + def conflict_statement(self, on_conflict: Any, query: Any): ... + def conflict_update(self, oc: Any, query: Any): ... + def extract_date(self, date_part: Any, date_field: Any): ... + def truncate_date(self, date_part: Any, date_field: Any): ... + def to_timestamp(self, date_field: Any): ... + def from_timestamp(self, date_field: Any): ... + class PostgresqlDatabase(Database): field_types: Any operations: Any @@ -901,6 +1369,7 @@ class PostgresqlDatabase(Database): returning_clause: bool = ... safe_create_index: bool = ... sequences: bool = ... + def init( self, database: Any, @@ -909,25 +1378,44 @@ class PostgresqlDatabase(Database): isolation_level: Optional[Any] = ..., **kwargs: Any, ) -> None: ... + def is_connection_usable(self): ... + def last_insert_id(self, cursor: Any, query_type: Optional[Any] = ...): ... + def get_tables(self, schema: Optional[Any] = ...): ... + def get_views(self, schema: Optional[Any] = ...): ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... + def get_columns(self, table: Any, schema: Optional[Any] = ...): ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... + def sequence_exists(self, sequence: Any): ... + def get_binary_type(self): ... + def conflict_statement(self, on_conflict: Any, query: Any) -> None: ... + def conflict_update(self, oc: Any, query: Any): ... + def extract_date(self, date_part: Any, date_field: Any): ... + def truncate_date(self, date_part: Any, date_field: Any): ... + def to_timestamp(self, date_field: Any): ... + def from_timestamp(self, date_field: Any): ... + def get_noop_select(self, ctx: Any): ... + def set_time_zone(self, timezone: Any) -> None: ... + class MySQLDatabase(Database): field_types: Any operations: Any @@ -940,54 +1428,92 @@ class MySQLDatabase(Database): safe_create_index: bool = ... safe_drop_index: bool = ... sql_mode: str = ... + def init(self, database: Any, **kwargs: Any) -> None: ... + def default_values_insert(self, ctx: Any): ... + def get_tables(self, schema: Optional[Any] = ...): ... + def get_views(self, schema: Optional[Any] = ...): ... + def get_indexes(self, table: Any, schema: Optional[Any] = ...): ... + def get_columns(self, table: Any, schema: Optional[Any] = ...): ... + def get_primary_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_foreign_keys(self, table: Any, schema: Optional[Any] = ...): ... + def get_binary_type(self): ... + def conflict_statement(self, on_conflict: Any, query: Any): ... + def conflict_update(self, on_conflict: Any, query: Any): ... + def extract_date(self, date_part: Any, date_field: Any): ... + def truncate_date(self, date_part: Any, date_field: Any): ... + def to_timestamp(self, date_field: Any): ... + def from_timestamp(self, date_field: Any): ... + def random(self): ... + def get_noop_select(self, ctx: Any): ... + class _manual(_callable_context_manager): db: Any + def __init__(self, db: Any) -> None: ... + def __enter__(self) -> None: ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class _atomic(_callable_context_manager): db: Any + def __init__(self, db: Any, *args: Any, **kwargs: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any): ... + class _transaction(_callable_context_manager): db: Any + def __init__(self, db: Any, *args: Any, **kwargs: Any) -> None: ... + def commit(self, begin: bool = ...) -> None: ... + def rollback(self, begin: bool = ...) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class _savepoint(_callable_context_manager): db: Any sid: Any quoted_sid: Any + def __init__(self, db: Any, sid: Optional[Any] = ...) -> None: ... + def commit(self, begin: bool = ...) -> None: ... + def rollback(self) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + class CursorWrapper: cursor: Any count: int = ... @@ -995,69 +1521,108 @@ class CursorWrapper: initialized: bool = ... populated: bool = ... row_cache: Any + def __init__(self, cursor: Any) -> None: ... + def __iter__(self) -> Any: ... + def __getitem__(self, item: Any): ... + def __len__(self): ... + def initialize(self) -> None: ... + def iterate(self, cache: bool = ...): ... + def process_row(self, row: Any): ... + def iterator(self) -> None: ... + def fill_cache(self, n: int = ...) -> None: ... + class DictCursorWrapper(CursorWrapper): initialize: Any process_row: Any + class NamedTupleCursorWrapper(CursorWrapper): tuple_class: Any + def initialize(self) -> None: ... + def process_row(self, row: Any): ... + class ObjectCursorWrapper(DictCursorWrapper): constructor: Any + def __init__(self, cursor: Any, constructor: Any) -> None: ... + def process_row(self, row: Any): ... + class ResultIterator: cursor_wrapper: Any index: int = ... + def __init__(self, cursor_wrapper: Any) -> None: ... + def __iter__(self) -> Any: ... + def next(self): ... + __next__: Any + class FieldAccessor: model: Any field: Any name: Any + def __init__(self, model: Any, field: Any, name: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + class ForeignKeyAccessor(FieldAccessor): rel_model: Any + def __init__(self, model: Any, field: Any, name: Any) -> None: ... + def get_rel_instance(self, instance: Any): ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, obj: Any) -> None: ... + class NoQueryForeignKeyAccessor(ForeignKeyAccessor): def get_rel_instance(self, instance: Any): ... + class BackrefAccessor: field: Any model: Any rel_model: Any + def __init__(self, field: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + class ObjectIdAccessor: field: Any + def __init__(self, field: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + class Field(ColumnBase): accessor_class: ClassVar[Type[FieldAccessor]] auto_increment: ClassVar[bool] @@ -1080,6 +1645,7 @@ class Field(ColumnBase): index_type: str model: Model name: str + def __init__( self, null: bool = ..., @@ -1099,57 +1665,83 @@ class Field(ColumnBase): db_column: Optional[Any] = ..., _hidden: bool = ..., ) -> None: ... + def __hash__(self) -> int: ... + def bind(self, model: Model, name: str, set_attribute: bool = ...) -> None: ... + @property def column(self) -> Column: ... + def adapt(self, value: Any) -> Any: ... + def db_value(self, value: Any) -> Any: ... + def python_value(self, value: Any) -> Any: ... + def to_value(self, value: Any) -> Value: ... + def get_sort_key(self, ctx: Context) -> TupleT[str, ...]: ... + def __sql__(self, ctx: Context) -> Context: ... + def get_modifiers(self) -> None: ... + def ddl_datatype(self, ctx: Any) -> SQL: ... + def ddl(self, ctx: Context) -> NodeList[SQL]: ... + class IntegerField(Field): field_type: ClassVar[str] + def adapt(self, value: Any) -> int: ... + class BigIntegerField(IntegerField): field_type: ClassVar[str] + class SmallIntegerField(IntegerField): field_type: ClassVar[str] + class AutoField(IntegerField): auto_increment: ClassVar[bool] field_type: ClassVar[str] + class BigAutoField(AutoField): field_type: ClassVar[str] + class IdentityField(AutoField): field_type: ClassVar[str] + def __init__(self, generate_always: bool = ..., **kwargs) -> None: ... + class PrimaryKeyField(AutoField): ... + class FloatField(Field): field_type: ClassVar[str] + def adapt(self, value: Any) -> float: ... + class DoubleField(FloatField): field_type: ClassVar[str] + class DecimalField(Field): field_type: ClassVar[str] max_digits: int decimal_places: int auto_round: bool rounding: str + def __init__( self, max_digits: int = ..., @@ -1159,85 +1751,130 @@ class DecimalField(Field): *args: Any, **kwargs: Any, ) -> None: ... + def get_modifiers(self) -> TupleT[int, int]: ... # type: ignore[override] + def db_value(self, value: Any) -> Optional[decimal.Decimal]: ... + def python_value(self, value: Any) -> Optional[decimal.Decimal]: ... + class _StringField(Field): def adapt(self, value: Any): ... + def __add__(self, other: Any): ... + def __radd__(self, other: Any): ... + class CharField(_StringField): field_type: ClassVar[str] max_length: int + def __init__(self, max_length: int = ..., *args: Any, **kwargs: Any) -> None: ... + def get_modifiers(self) -> int: ... + class FixedCharField(CharField): field_type: ClassVar[str] + def python_value(self, value: Any) -> str: ... + class TextField(_StringField): field_type: ClassVar[str] + class BlobField(Field): field_type: ClassVar[str] + def bind(self, model: Union[Model, Proxy], name: str, set_attribute: bool = ...) -> None: ... + def db_value(self, value: Any) -> Optional[bytearray]: ... + class FlagDescriptor: _value: int _field: BitField + def __init__(self, field: BitField, value: int): ... + def __get__(self, instance, instance_type=...) -> int: ... + def __set__(self, instance, is_set) -> None: ... + class BitField(BitwiseMixin, BigIntegerField): def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def flag(self, value: Optional[int] = ...) -> FlagDescriptor: ... + class BigBitFieldData: instance: Any name: Any + def __init__(self, instance: Any, name: Any) -> None: ... + def set_bit(self, idx: Any) -> None: ... + def clear_bit(self, idx: Any) -> None: ... + def toggle_bit(self, idx: Any): ... + def is_set(self, idx: Any): ... + class BigBitFieldAccessor(FieldAccessor): def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + class BigBitField(BlobField): accessor_class: ClassVar[Type[BigBitFieldAccessor]] + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def db_value(self, value: Any): ... + class UUIDField(Field): field_type: ClassVar[str] + def db_value(self, value: Union[bytes, str, uuid.UUID]) -> str: ... + def python_value(self, value: str) -> uuid.UUID: ... + class BinaryUUIDField(BlobField): field_type: ClassVar[str] + def db_value(self, value: Any) -> bytearray: ... + def python_value(self, value: Any) -> uuid.UUID: ... + class _BaseFormattedField(Field): formats: Any + def __init__(self, formats: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... + class DateTimeField(_BaseFormattedField): field_type: ClassVar[str] formats: ClassVar[List[str]] + def adapt(self, value: str) -> datetime.datetime: ... + def to_timestamp(self) -> int: ... + def truncate(self, part: str) -> Function: ... + year: int month: int day: int @@ -1245,36 +1882,53 @@ class DateTimeField(_BaseFormattedField): minute: int second: int + class DateField(_BaseFormattedField): field_type: ClassVar[str] formats: ClassVar[List[str]] + def adapt(self, value: Union[datetime.date, datetime.datetime, str]) -> datetime.date: ... + def to_timestamp(self) -> int: ... + def truncate(self, part: str) -> Function: ... + year: int month: int day: int + class TimeField(_BaseFormattedField): field_type: ClassVar[str] formats: ClassVar[List[str]] + def adapt(self, value: Any) -> datetime.time: ... + hour: int minute: int second: int + class TimestampField(BigIntegerField): valid_resolutions: ClassVar[List[int]] resolution: int ticks_to_microsecond: bool utc: int + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def local_to_utc(self, dt: Any) -> datetime.datetime: ... + def utc_to_local(self, dt: Any) -> datetime.datetime: ... + def get_timestamp(self, value: Any) -> float: ... + def db_value(self, value: Any) -> int: ... + def python_value(self, value: Any) -> datetime.datetime: ... + def from_timestamp(self) -> Function: ... + year: int month: int day: int @@ -1282,75 +1936,101 @@ class TimestampField(BigIntegerField): minute: int second: int + class IPField(BigIntegerField): def db_value(self, val: Any) -> Optional[int]: ... + def python_value(self, val: Any) -> Optional[str]: ... + class BooleanField(Field): field_type: ClassVar[str] + def adapt(self, value: Any) -> bool: ... + class BareField(Field, Generic[_F]): adapt: _F + def __init__(self, adapt: Optional[_F] = ..., *args, **kwargs) -> None: ... + def ddl_datatype(self, ctx: Context) -> None: ... # type: ignore[override] + class ForeignKeyField(Field): accessor_class: ClassVar[Type[ForeignKeyAccessor]] - rel_model: Any - rel_field: Any - declared_backref: Any - backref: Any - on_delete: Any - on_update: Any - deferrable: Any - deferred: Any - object_id_name: Any - lazy_load: Any + rel_model: Model + rel_field: Field + declared_backref: Field + backref: Optional[str] + on_delete: Optional[str] + on_update: Optional[str] + deferrable: Optional[str] + deferred: Optional[bool] + object_id_name: Optional[str] + lazy_load: Optional[str] + def __init__( self, - model: Any, - field: Optional[Any] = ..., - backref: Optional[Any] = ..., - on_delete: Optional[Any] = ..., - on_update: Optional[Any] = ..., - deferrable: Optional[Any] = ..., - _deferred: Optional[Any] = ..., - rel_model: Optional[Any] = ..., - to_field: Optional[Any] = ..., - object_id_name: Optional[Any] = ..., + model: Model, + field: Optional[Field] = ..., + backref: Optional[str] = ..., + on_delete: Optional[str] = ..., + on_update: Optional[str] = ..., + deferrable: Optional[str] = ..., + object_id_name: Optional[str] = ..., lazy_load: bool = ..., - related_name: Optional[Any] = ..., *args: Any, **kwargs: Any, - ) -> None: ... + ) -> None: + """http://docs.peewee-orm.com/en/latest/peewee/api.html#ForeignKeyField""" + ... + @property - def field_type(self): ... - def get_modifiers(self): ... - def adapt(self, value: Any): ... - def db_value(self, value: Any): ... - def python_value(self, value: Any): ... - column_name: Any - safe_name: Any - def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... - def foreign_key_constraint(self): ... - def __getattr__(self, attr: Any): ... + def field_type(self) -> str: ... + + def get_modifiers(self) -> Any: ... + + def adapt(self, value: Any) -> Any: ... + + def db_value(self, value: Any) -> Any: ... + + def python_value(self, value: Any) -> Any: ... + + column_name: str + safe_name: str + + def bind(self, model: Model, name: str, set_attribute: bool = ...) -> None: ... + + def foreign_key_constraint(self) -> NodeList: ... + + def __getattr__(self, attr: str) -> Any: ... + class DeferredForeignKey(Field): field_kwargs: Any rel_model_name: Any + def __init__(self, rel_model_name: Any, **kwargs: Any) -> None: ... + __hash__: Any + def __deepcopy__(self, memo: Optional[Any] = ...): ... + def set_model(self, rel_model: Any) -> None: ... + @staticmethod def resolve(model_cls: Any) -> None: ... + class DeferredThroughModel: def __init__(self) -> None: ... + def set_field(self, model: Any, field: Any, name: Any) -> None: ... + def set_model(self, through_model: Any) -> None: ... + class MetaField(Field): column_name: Any default: Any @@ -1358,20 +2038,26 @@ class MetaField(Field): name: Any primary_key: bool = ... + class ManyToManyFieldAccessor(FieldAccessor): model: Any rel_model: Any through_model: Any src_fk: Any dest_fk: Any + def __init__(self, model: Any, field: Any, name: Any) -> None: ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ..., force_query: bool = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + class ManyToManyField(MetaField): accessor_class: ClassVar[Type[ManyToManyFieldAccessor]] rel_model: Any backref: Any + def __init__( self, model: Any, @@ -1381,71 +2067,118 @@ class ManyToManyField(MetaField): on_update: Optional[Any] = ..., _is_backref: bool = ..., ) -> None: ... + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + def get_models(self): ... + @property def through_model(self): ... + @through_model.setter def through_model(self, value: Any) -> None: ... + def get_through_model(self): ... + class VirtualField(MetaField): field_class: Any field_instance: Any + def __init__(self, field_class: Optional[Any] = ..., *args: Any, **kwargs: Any) -> None: ... + def db_value(self, value: Any): ... + def python_value(self, value: Any): ... + model: Any column_name: Any + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + class CompositeKey(MetaField): sequence: Any field_names: Any + def __init__(self, *field_names: Any) -> None: ... + @property def safe_field_names(self): ... + def __get__(self, instance: Any, instance_type: Optional[Any] = ...): ... + def __set__(self, instance: Any, value: Any) -> None: ... + def __eq__(self, other: Any) -> Any: ... + def __ne__(self, other: Any) -> Any: ... + def __hash__(self) -> Any: ... + def __sql__(self, ctx: Any): ... + model: Any column_name: Any + def bind(self, model: Any, name: Any, set_attribute: bool = ...) -> None: ... + class _SortedFieldList: def __init__(self) -> None: ... + def __getitem__(self, i: Any): ... + def __iter__(self) -> Any: ... + def __contains__(self, item: Any): ... + def index(self, field: Any): ... + def insert(self, item: Any) -> None: ... + def remove(self, item: Any) -> None: ... + class SchemaManager: model: Any context_options: Any + def __init__(self, model: Any, database: Optional[Any] = ..., **context_options: Any) -> None: ... + @property def database(self): ... + @database.setter def database(self, value: Any) -> None: ... + def create_table(self, safe: bool = ..., **options: Any) -> None: ... + def create_table_as(self, table_name: Any, query: Any, safe: bool = ..., **meta: Any) -> None: ... + def drop_table(self, safe: bool = ..., **options: Any) -> None: ... + def truncate_table(self, restart_identity: bool = ..., cascade: bool = ...) -> None: ... + def create_indexes(self, safe: bool = ...) -> None: ... + def drop_indexes(self, safe: bool = ...) -> None: ... + def create_sequence(self, field: Any) -> None: ... + def drop_sequence(self, field: Any) -> None: ... + def create_foreign_key(self, field: Any) -> None: ... + def create_sequences(self) -> None: ... + def create_all(self, safe: bool = ..., **table_options: Any) -> None: ... + def drop_sequences(self) -> None: ... + def drop_all(self, safe: bool = ..., drop_sequences: bool = ..., **options: Any) -> None: ... + class Metadata: model: Any database: Any @@ -1477,6 +2210,7 @@ class Metadata: table: Table schema: str entity: Entity + def __init__( self, model: Any, @@ -1497,266 +2231,425 @@ class Metadata: legacy_table_names: bool = ..., **kwargs: Any, ) -> None: ... + def make_table_name(self): ... + def model_graph(self, refs: bool = ..., backrefs: bool = ..., depth_first: bool = ...): ... + def add_ref(self, field: Any) -> None: ... + def remove_ref(self, field: Any) -> None: ... + def add_manytomany(self, field: Any) -> None: ... + def remove_manytomany(self, field: Any) -> None: ... + def get_rel_for_model(self, model: Any): ... + def add_field(self, field_name: Any, field: Any, set_attribute: bool = ...) -> None: ... + def remove_field(self, field_name: Any) -> None: ... + auto_increment: Any + def set_primary_key(self, name: Any, field: Any) -> None: ... + def get_primary_keys(self): ... + def get_default_dict(self): ... + def fields_to_index(self): ... + def set_database(self, database: Any) -> None: ... + def set_table_name(self, table_name: Any) -> None: ... + class SubclassAwareMetadata(Metadata): models: Any + def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... + def map_models(self, fn: Any) -> None: ... + class DoesNotExist(Exception): ... + class ModelBase(type): inheritable: Any + def __new__(cls, name: Any, bases: Any, attrs: Any): ... + def __iter__(self) -> Any: ... + def __getitem__(self, key: Any): ... + def __setitem__(self, key: Any, value: Any) -> None: ... + def __delitem__(self, key: Any) -> None: ... + def __contains__(self, key: Any): ... + def __len__(self): ... + def __bool__(self): ... + __nonzero__: Any + def __sql__(self, ctx: Any): ... + class _BoundModelsContext(_callable_context_manager): models: Any database: Any bind_refs: Any bind_backrefs: Any + def __init__(self, models: Any, database: Any, bind_refs: Any, bind_backrefs: Any) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ... + _Cls = TypeVar("_Cls") + class Model: __data__: Dict[str, Any] = ... __rel__: Any + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + @classmethod def validate_model(cls) -> None: ... + @classmethod def alias(cls, alias: Optional[str] = ...) -> ModelAlias: ... + @classmethod def select(cls, *fields: Any): ... + @classmethod def update(cls, __data: Optional[Any] = ..., **update: Any): ... + @classmethod def insert(cls, __data: Optional[Any] = ..., **insert: Any): ... + @classmethod def insert_many(cls, rows: Any, fields: Optional[Any] = ...): ... + @classmethod def insert_from(cls, query: Any, fields: Any): ... + @classmethod def replace(cls, __data: Optional[Any] = ..., **insert: Any): ... + @classmethod def replace_many(cls, rows: Any, fields: Optional[Any] = ...): ... + @classmethod def raw(cls, sql: Any, *params: Any): ... + @classmethod def delete(cls): ... + @classmethod def create(cls: Type[_Cls], **query: Any) -> _Cls: ... + @classmethod def bulk_create(cls, model_list: Any, batch_size: Optional[Any] = ...) -> None: ... + @classmethod def bulk_update(cls, model_list: Any, fields: Any, batch_size: Optional[Any] = ...): ... + @classmethod def noop(cls): ... + @classmethod def get(cls: Type[_Cls], *query: Any, **filters: Any) -> _Cls: ... + @classmethod def get_or_none(cls: Type[_Cls], *query: Any, **filters: Any) -> Optional[_Cls]: ... + @classmethod def get_by_id(cls: Type[_Cls], pk: Any) -> _Cls: ... + @classmethod def set_by_id(cls, key: Any, value: Any): ... + @classmethod def delete_by_id(cls, pk: Any): ... + @classmethod def get_or_create(cls, **kwargs: Any): ... + @classmethod def filter(cls, *dq_nodes: Any, **filters: Any): ... + def get_id(self): ... + def save(self, force_insert: bool = ..., only: Optional[Any] = ...): ... + def is_dirty(self): ... + @property def dirty_fields(self): ... + def dependencies(self, search_nullable: bool = ...) -> None: ... + def delete_instance(self, recursive: bool = ..., delete_nullable: bool = ...): ... + def __hash__(self) -> Any: ... + def __eq__(self, other: Any) -> Any: ... + def __ne__(self, other: Any) -> Any: ... + def __sql__(self, ctx: Any): ... + @classmethod def bind(cls, database: Any, bind_refs: bool = ..., bind_backrefs: bool = ..., _exclude: Optional[Any] = ...): ... + @classmethod def bind_ctx(cls, database: Any, bind_refs: bool = ..., bind_backrefs: bool = ...): ... + @classmethod def table_exists(cls): ... + @classmethod def create_table(cls, safe: bool = ..., **options: Any) -> None: ... + @classmethod def drop_table(cls, safe: bool = ..., drop_sequences: bool = ..., **options: Any) -> None: ... + @classmethod def truncate_table(cls, **options: Any) -> None: ... + @classmethod def index(cls, *fields: Any, **kwargs: Any): ... + @classmethod def add_index(cls, *fields: Any, **kwargs: Any) -> None: ... + class ModelAlias(Node): def __init__(self, model: Type[Model], alias: Optional[str] = ...) -> None: ... + def __getattr__(self, attr: Any) -> Any: ... + def get_field_aliases(self) -> List[str]: ... + def select(self, *selection: Union[Field, str, Model, ModelAlias, Table]) -> ModelSelect: ... + def __call__(self, **kwargs: Any): ... + def __sql__(self, ctx: Any): ... + class FieldAlias(Field): source: Any model: Any field: Any + def __init__(self, source: Any, field: Any) -> None: ... + @classmethod def create(cls, source: Any, field: Any): ... + def clone(self): ... + def adapt(self, value: Any): ... + def python_value(self, value: Any): ... + def db_value(self, value: Any): ... + def __getattr__(self, attr: Any): ... + def __sql__(self, ctx: Any): ... + class _ModelQueryHelper: default_row_type: Any + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def objects(self, constructor: Optional[Any] = ...) -> None: ... + class ModelRaw(_ModelQueryHelper, RawQuery): model: Type[Model] + def __init__(self, model: Type[Model], sql: Any, params: Any, **kwargs: Any) -> None: ... + def get(self): ... + class BaseModelSelect(_ModelQueryHelper): def union_all(self, rhs: Any): ... + __add__: Any + def union(self, rhs: Any): ... + __or__: Any + def intersect(self, rhs: Any): ... + __and__: Any + def except_(self, rhs: Any): ... + __sub__: Any + def __iter__(self) -> Any: ... + def prefetch(self, *subqueries: Any): ... + def get(self, database: Optional[Any] = ...): ... + def group_by(self, *columns: Any) -> None: ... + class ModelCompoundSelectQuery(BaseModelSelect, CompoundSelectQuery): model: Any + def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... + _Selection = Union[Field, str, Model, ModelAlias, Table] + class ModelSelect(BaseModelSelect, Select): model: Any + def __init__( self, model: Union[Type[Model], Model, Type[ModelAlias], ModelAlias], fields_or_models: List[_Selection], is_default: bool = ..., ) -> None: ... + def clone(self) -> ModelSelect: ... + def select(self, *fields_or_models: List[_Selection]) -> ModelSelect: ... + def switch(self: _SelfT, ctx: Optional[Any] = ...) -> _SelfT: ... + def join( self, dest: Any, join_type: str = ..., on: Optional[Any] = ..., src: Optional[Any] = ..., attr: Optional[Any] = ... ) -> None: ... + def join_from(self, src: Any, dest: Any, join_type: Any = ..., on: Optional[Any] = ..., attr: Optional[Any] = ...): ... + def ensure_join(self, lm: Any, rm: Any, on: Optional[Any] = ..., **join_kwargs: Any): ... + def convert_dict_to_node(self, qdict: Any): ... + def filter(self, *args: Any, **kwargs: Any): ... + def create_table(self, name: Any, safe: bool = ..., **meta: Any): ... + def __sql_selection__(self, ctx: Any, is_subquery: bool = ...): ... + class NoopModelSelect(ModelSelect): def __sql__(self, ctx: Any): ... + class _ModelWriteQueryHelper(_ModelQueryHelper): model: Any + def __init__(self, model: Any, *args: Any, **kwargs: Any) -> None: ... + def returning(self, *returning: Any): ... + class ModelUpdate(_ModelWriteQueryHelper, Update): ... + class ModelInsert(_ModelWriteQueryHelper, Insert): default_row_type: Any + def __init__(self, *args: Any, **kwargs: Any) -> None: ... + def returning(self, *returning: Any): ... + def get_default_data(self): ... + def get_default_columns(self): ... + class ModelDelete(_ModelWriteQueryHelper, Delete): ... + class ManyToManyQuery(ModelSelect): def __init__(self, instance: Any, accessor: Any, rel: Any, *args: Any, **kwargs: Any) -> None: ... + def add(self, value: Any, clear_existing: bool = ...) -> None: ... + def remove(self, value: Any): ... + def clear(self): ... + class BaseModelCursorWrapper(DictCursorWrapper): model: Any select: Any + def __init__(self, cursor: Any, model: Any, columns: Any) -> None: ... + initialize: Any + def process_row(self, row: Any) -> None: ... + class ModelDictCursorWrapper(BaseModelCursorWrapper): def process_row(self, row: Any): ... + class ModelTupleCursorWrapper(ModelDictCursorWrapper): constructor: Any + def process_row(self, row: Any): ... + class ModelNamedTupleCursorWrapper(ModelTupleCursorWrapper): tuple_class: Any constructor: Any + def initialize(self): ... + class ModelObjectCursorWrapper(ModelDictCursorWrapper): constructor: Any is_model: Any + def __init__(self, cursor: Any, model: Any, select: Any, constructor: Any) -> None: ... + def process_row(self, row: Any): ... + class ModelCursorWrapper(BaseModelCursorWrapper): from_list: Any joins: Any + def __init__(self, cursor: Any, model: Any, select: Any, from_list: Any, joins: Any) -> None: ... + key_to_constructor: Any src_is_dest: Any src_to_dest: Any column_keys: Any + def initialize(self) -> None: ... + def process_row(self, row: Any): ... + class PrefetchQuery: def __new__( cls, @@ -1767,9 +2660,13 @@ class PrefetchQuery: field_to_name: Optional[Any] = ..., model: Optional[Any] = ..., ): ... + def populate_instance(self, instance: Any, id_map: Any) -> None: ... + def store_instance(self, instance: Any, id_map: Any) -> None: ... + def prefetch(sq: Any, *subqueries: Any): ... + Tuple: Callable[..., NodeList]