Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion stubs/peewee/METADATA.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version = "4.4.0"
version = "4.5.0"
upstream-repository = "https://github.com/coleifer/peewee"
# We're not providing stubs for all playhouse modules right now
# https://github.com/python/typeshed/pull/11731#issuecomment-2065729058
Expand Down
71 changes: 54 additions & 17 deletions stubs/peewee/peewee.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ def make_identifier(s: str) -> str: ...
def chunked(it: Iterable[_T], n: int) -> Generator[list[_T]]: ...

class _callable_context_manager:
__slots__ = ()
def __call__(self, fn): ...

class Proxy:
Expand Down Expand Up @@ -131,7 +132,11 @@ class AliasManager:
def pop(self) -> None: ...

class State:
def __new__(cls, scope=1, parentheses: bool = False, **kwargs) -> Self: ...
__slots__ = ("settings", "scope", "parentheses")
settings: dict[str, Incomplete]
scope: Incomplete
parentheses: bool
def __init__(self, scope=1, parentheses: bool = False, settings=None) -> None: ...
def __call__(self, scope=None, parentheses=None, **kwargs) -> State: ...
def __getattr__(self, attr_name: str): ...

Expand Down Expand Up @@ -433,6 +438,7 @@ class Expression(ColumnBase):
def __sql__(self, ctx): ...

class StringExpression(Expression):
def __sql__(self, ctx): ...
def __add__(self, rhs) -> StringExpression: ...
def __radd__(self, lhs) -> StringExpression: ...

Expand Down Expand Up @@ -784,12 +790,19 @@ class ViewMetadata(NamedTuple):
name: Incomplete
sql: Incomplete

class QueryEvent(NamedTuple):
sql: str
params: Incomplete
duration: float
exception: BaseException | None

class _ConnectionState:
def __init__(self, **kwargs) -> None: ...
closed: bool
conn: Incomplete
ctx: Incomplete
transactions: Incomplete
commit_callbacks: list[Incomplete]
def reset(self) -> None: ...
def set_connection(self, conn) -> None: ...

Expand All @@ -816,6 +829,7 @@ class Database(_callable_context_manager):
json_methods: Incomplete
field_types: Incomplete
operations: Incomplete
use_concat_function: bool
param: str
quote: str
server_version: Incomplete
Expand All @@ -833,6 +847,7 @@ class Database(_callable_context_manager):
truncate_table: bool
autoconnect: Incomplete
thread_safe: Incomplete
query_hooks: list[Callable[[QueryEvent], Incomplete]]
connect_params: Incomplete
def __deepcopy__(self, memo: Any) -> Self: ...
def __init__(
Expand All @@ -856,6 +871,7 @@ class Database(_callable_context_manager):
def connection_context(self) -> ConnectionContext: ...
def connect(self, reuse_if_open: bool = False) -> bool: ...
def close(self) -> bool: ...
def dispose(self) -> None: ...
def is_closed(self) -> bool: ...
def is_connection_usable(self) -> bool: ...
def connection(self): ...
Expand All @@ -877,6 +893,7 @@ class Database(_callable_context_manager):
def pop_transaction(self): ...
def transaction_depth(self) -> int: ...
def top_transaction(self): ...
def after_commit(self, fn: Callable[[], _R]) -> Callable[[], _R]: ...
def atomic(self, *args, **kwargs) -> _atomic: ...
def manual_commit(self) -> _manual: ...
def transaction(self, *args, **kwargs) -> _transaction: ...
Expand All @@ -891,7 +908,7 @@ class Database(_callable_context_manager):
def get_columns(self, table, schema: str | None = None) -> list[ColumnMetadata]: ...
def get_primary_keys(self, table, schema: str | None = None): ...
def get_foreign_keys(self, table, schema: str | None = None) -> list[ForeignKeyMetadata]: ...
def sequence_exists(self, seq) -> bool: ...
def sequence_exists(self, seq, schema: str | None = None) -> bool: ...
def create_tables(self, models: Iterable[type[_Model]], **options) -> None: ...
def drop_tables(self, models: Iterable[type[_Model]], **kwargs) -> None: ...
def extract_date(self, date_part, date_field): ...
Expand All @@ -917,7 +934,14 @@ class SqliteDatabase(Database):
truncate_table: bool
nulls_ordering: bool
def __init__(
self, database: str | None, pragmas=None, regexp_function: bool = False, rank_functions: bool = False, *args, **kwargs
self,
database: str | None,
pragmas=None,
regexp_function: bool = False,
rank_functions: bool = False,
lock_type=None,
*args,
**kwargs,
) -> None: ...
returning_clause: Incomplete
def init(self, database: str | None, pragmas=None, timeout: int = 5, returning_clause=None, **kwargs) -> None: ...
Expand Down Expand Up @@ -973,6 +997,9 @@ class SqliteDatabase(Database):

class _BasePsycopgAdapter:
isolation_levels: dict[int, str]
txn_idle: int | None
txn_inerror: int | None
txn_unknown: int | None
isolation_levels_inv: dict[str, int]
def __init__(self) -> None: ...

Expand All @@ -986,7 +1013,14 @@ class _BasePsycopgAdapter:
@overload
def isolation_level_str(self, isolation_level: _T) -> _T: ...

def is_connection_usable(self, conn) -> bool: ...
def is_connection_reusable(self, conn) -> bool: ...
def is_connection_closed(self, conn) -> bool: ...

class Psycopg2Adapter(_BasePsycopgAdapter):
txn_idle: int | None
txn_inerror: int | None
txn_unknown: int | None
json_type: Incomplete
jsonb_type: Incomplete
cast_json_case: bool
Expand All @@ -995,12 +1029,14 @@ class Psycopg2Adapter(_BasePsycopgAdapter):
def get_binary_type(self) -> type[Incomplete]: ...
def connect(self, db, **params): ...
def get_server_version(self, conn): ...
def is_connection_usable(self, conn) -> bool: ...
def is_connection_reusable(self, conn) -> bool: ...
def is_connection_closed(self, conn) -> bool: ...
def txn_status(self, conn) -> int: ...
def rollback(self, conn) -> None: ...
def server_side_cursor(self, conn): ...

class Psycopg3Adapter(_BasePsycopgAdapter):
txn_idle: int | None
txn_inerror: int | None
txn_unknown: int | None
json_type: Incomplete
jsonb_type: Incomplete
cast_json_case: bool
Expand All @@ -1009,9 +1045,8 @@ class Psycopg3Adapter(_BasePsycopgAdapter):
def get_binary_type(self) -> type[Incomplete]: ...
def connect(self, db, **params): ...
def get_server_version(self, conn): ...
def is_connection_usable(self, conn) -> bool: ...
def is_connection_reusable(self, conn) -> bool: ...
def is_connection_closed(self, conn) -> bool: ...
def txn_status(self, conn) -> int: ...
def rollback(self, conn) -> None: ...
def server_side_cursor(self, conn): ...

class PostgresqlDatabase(Database):
Expand Down Expand Up @@ -1045,7 +1080,7 @@ class PostgresqlDatabase(Database):
def get_columns(self, table, schema: str | None = None) -> list[ColumnMetadata]: ...
def get_primary_keys(self, table, schema: str | None = None) -> list[Incomplete]: ...
def get_foreign_keys(self, table, schema: str | None = None) -> list[ForeignKeyMetadata]: ...
def sequence_exists(self, sequence) -> bool: ...
def sequence_exists(self, sequence, schema: str | None = None) -> bool: ...
def get_binary_type(self) -> type[Incomplete]: ...
def conflict_statement(self, on_conflict, query) -> None: ...
def conflict_update(self, oc, query) -> NodeList: ...
Expand All @@ -1069,7 +1104,8 @@ class MySQLDatabase(Database):
limit_max: Incomplete
safe_create_index: bool
safe_drop_index: bool
sql_mode: str
use_concat_function: bool
sql_mode: str | None
mariadb: bool
def init(self, database: str | None, mariadb: bool | None = None, **kwargs) -> None: ...
def is_connection_usable(self) -> bool: ...
Expand Down Expand Up @@ -1148,6 +1184,7 @@ class CursorWrapper:
def dedupe_columns(self, columns: Iterable[str], valid_identifiers: bool = True) -> list[str]: ...

class DictCursorWrapper(CursorWrapper):
valid_identifiers: bool
columns: list[str]
ncols: int
def initialize(self) -> None: ...
Expand All @@ -1159,11 +1196,9 @@ class NamedTupleCursorWrapper(CursorWrapper):
def process_row(self, row): ...

class ObjectCursorWrapper(DictCursorWrapper):
valid_identifiers: bool
constructor: Incomplete
columns: list[str]
ncols: int
def __init__(self, cursor, constructor) -> None: ...
def initialize(self) -> None: ...
def process_row(self, row): ...

class ResultIterator:
Expand Down Expand Up @@ -1656,7 +1691,8 @@ class ManyToManyFieldAccessor(FieldAccessor):
src_fk: Incomplete
dest_fk: Incomplete
def __init__(self, model, field, name) -> None: ...
def __get__(self, instance, instance_type=None, force_query: bool = False): ...
def get_query(self, instance): ...
def __get__(self, instance, instance_type=None): ...
def __set__(self, instance, value) -> None: ...

class ManyToManyField(MetaField):
Expand Down Expand Up @@ -2047,6 +2083,7 @@ class BaseModelCursorWrapper(DictCursorWrapper):
def process_row(self, row): ...

class ModelDictCursorWrapper(BaseModelCursorWrapper):
valid_identifiers: bool
unique_columns: list[str]
def initialize(self) -> None: ...
def process_row(self, row) -> dict[str, Incomplete]: ...
Expand All @@ -2061,11 +2098,10 @@ class ModelNamedTupleCursorWrapper(ModelTupleCursorWrapper):
def initialize(self) -> None: ...

class ModelObjectCursorWrapper(ModelDictCursorWrapper):
valid_identifiers: bool
constructor: Incomplete
is_model: Incomplete
identifiers: list[str]
def __init__(self, cursor, model, select, constructor) -> None: ...
def initialize(self) -> None: ...
def process_row(self, row): ...

class ModelCursorWrapper(BaseModelCursorWrapper):
Expand Down Expand Up @@ -2170,6 +2206,7 @@ __all__ = [
"ProgrammingError",
"Proxy",
"QualifiedNames",
"QueryEvent",
"SchemaManager",
"SmallIntegerField",
"Select",
Expand Down