Skip to content

Commit ac46e77

Browse files
Add stubs for parts of psycopg2 that are used.
1 parent bcd3ada commit ac46e77

File tree

2 files changed

+271
-0
lines changed

2 files changed

+271
-0
lines changed

stubs/psycopg2/extras.pyi

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
from typing import Any, Optional
2+
# from .compat import PY2 as PY2, PY3 as PY3, lru_cache as lru_cache
3+
# from .extensions import connection as _connection, cursor as _cursor, quote_ident as quote_ident
4+
# from collections import OrderedDict
5+
# from psycopg2._ipaddress import register_ipaddress as register_ipaddress
6+
# from psycopg2._json import Json as Json, json as json, register_default_json as register_default_json, register_default_jsonb as register_default_jsonb, register_json as register_json
7+
# from psycopg2._psycopg import REPLICATION_LOGICAL as REPLICATION_LOGICAL, REPLICATION_PHYSICAL as REPLICATION_PHYSICAL, ReplicationConnection as _replicationConnection, ReplicationCursor as _replicationCursor, ReplicationMessage as ReplicationMessage
8+
# from psycopg2._range import DateRange as DateRange, DateTimeRange as DateTimeRange, DateTimeTZRange as DateTimeTZRange, NumericRange as NumericRange, Range as Range, RangeAdapter as RangeAdapter, RangeCaster as RangeCaster, register_range as register_range
9+
#
10+
#
11+
# class DictCursorBase(_cursor):
12+
# row_factory: Any = ...
13+
# def __init__(self, *args: Any, **kwargs: Any) -> None: ...
14+
# def fetchone(self): ...
15+
# def fetchmany(self, size: Optional[Any] = ...): ...
16+
# def fetchall(self): ...
17+
# def __iter__(self) -> Any: ...
18+
#
19+
#
20+
# class DictConnection(_connection):
21+
# def cursor(self, *args: Any, **kwargs: Any): ...
22+
#
23+
#
24+
# class DictCursor(DictCursorBase):
25+
# def __init__(self, *args: Any, **kwargs: Any) -> None: ...
26+
# index: Any = ...
27+
# def execute(self, query: Any, vars: Optional[Any] = ...): ...
28+
# def callproc(self, procname: Any, vars: Optional[Any] = ...): ...
29+
#
30+
#
31+
# class DictRow(list):
32+
# def __init__(self, cursor: Any) -> None: ...
33+
# def __getitem__(self, x: Any): ...
34+
# def __setitem__(self, x: Any, v: Any) -> None: ...
35+
# def items(self): ...
36+
# def keys(self): ...
37+
# def values(self): ...
38+
# def get(self, x: Any, default: Optional[Any] = ...): ...
39+
# def copy(self): ...
40+
# def __contains__(self, x: Any): ...
41+
# def __reduce__(self): ...
42+
#
43+
#
44+
# class RealDictConnection(_connection):
45+
# def cursor(self, *args: Any, **kwargs: Any): ...
46+
#
47+
#
48+
# class RealDictCursor(DictCursorBase):
49+
# def __init__(self, *args: Any, **kwargs: Any) -> None: ...
50+
# column_mapping: Any = ...
51+
# def execute(self, query: Any, vars: Optional[Any] = ...): ...
52+
# def callproc(self, procname: Any, vars: Optional[Any] = ...): ...
53+
#
54+
#
55+
# class RealDictRow(OrderedDict):
56+
# def __init__(self, *args: Any, **kwargs: Any) -> None: ...
57+
# def __setitem__(self, key: Any, value: Any) -> None: ...
58+
#
59+
#
60+
# class NamedTupleConnection(_connection):
61+
# def cursor(self, *args: Any, **kwargs: Any): ...
62+
#
63+
#
64+
# class NamedTupleCursor(_cursor):
65+
# Record: Any = ...
66+
# MAX_CACHE: int = ...
67+
# def execute(self, query: Any, vars: Optional[Any] = ...): ...
68+
# def executemany(self, query: Any, vars: Any): ...
69+
# def callproc(self, procname: Any, vars: Optional[Any] = ...): ...
70+
# def fetchone(self): ...
71+
# def fetchmany(self, size: Optional[Any] = ...): ...
72+
# def fetchall(self): ...
73+
# def __iter__(self) -> Any: ...
74+
#
75+
#
76+
# class LoggingConnection(_connection):
77+
# log: Any = ...
78+
# def initialize(self, logobj: Any) -> None: ...
79+
# def filter(self, msg: Any, curs: Any): ...
80+
# def cursor(self, *args: Any, **kwargs: Any): ...
81+
#
82+
#
83+
# class LoggingCursor(_cursor):
84+
# def execute(self, query: Any, vars: Optional[Any] = ...): ...
85+
# def callproc(self, procname: Any, vars: Optional[Any] = ...): ...
86+
#
87+
#
88+
# class MinTimeLoggingConnection(LoggingConnection):
89+
# def initialize(self, logobj: Any, mintime: int = ...) -> None: ...
90+
# def filter(self, msg: Any, curs: Any): ...
91+
# def cursor(self, *args: Any, **kwargs: Any): ...
92+
#
93+
#
94+
# class MinTimeLoggingCursor(LoggingCursor):
95+
# timestamp: Any = ...
96+
# def execute(self, query: Any, vars: Optional[Any] = ...): ...
97+
# def callproc(self, procname: Any, vars: Optional[Any] = ...): ...
98+
#
99+
#
100+
# class LogicalReplicationConnection(_replicationConnection):
101+
# def __init__(self, *args: Any, **kwargs: Any) -> None: ...
102+
#
103+
#
104+
# class PhysicalReplicationConnection(_replicationConnection):
105+
# def __init__(self, *args: Any, **kwargs: Any) -> None: ...
106+
#
107+
#
108+
# class StopReplication(Exception):
109+
# ...
110+
#
111+
#
112+
# class ReplicationCursor(_replicationCursor):
113+
# def create_replication_slot(
114+
# self, slot_name: Any, slot_type: Optional[Any] = ..., output_plugin: Optional[Any] = ...) -> None: ...
115+
#
116+
# def drop_replication_slot(self, slot_name: Any) -> None: ...
117+
# def start_replication(self, slot_name: Optional[Any] = ..., slot_type: Optional[Any] = ..., start_lsn: int = ...,
118+
# timeline: int = ..., options: Optional[Any] = ..., decode: bool = ..., status_interval: int = ...) -> None: ...
119+
#
120+
# def fileno(self): ...
121+
#
122+
#
123+
# class UUID_adapter:
124+
# def __init__(self, uuid: Any) -> None: ...
125+
# def __conform__(self, proto: Any): ...
126+
# def getquoted(self): ...
127+
#
128+
#
129+
130+
# pylint: disable=unsubscriptable-object
131+
def register_uuid(oids: Optional[Any] = ...,
132+
conn_or_curs: Optional[Any] = ...) -> None: ...
133+
#
134+
#
135+
# class Inet:
136+
# addr: Any = ...
137+
# def __init__(self, addr: Any) -> None: ...
138+
# def prepare(self, conn: Any) -> None: ...
139+
# def getquoted(self): ...
140+
# def __conform__(self, proto: Any): ...
141+
#
142+
#
143+
# def register_inet(oid: Optional[Any] = ...,
144+
# conn_or_curs: Optional[Any] = ...): ...
145+
#
146+
#
147+
# def wait_select(conn: Any) -> None: ...
148+
#
149+
#
150+
# class HstoreAdapter:
151+
# wrapped: Any = ...
152+
# def __init__(self, wrapped: Any) -> None: ...
153+
# conn: Any = ...
154+
# getquoted: Any = ...
155+
# def prepare(self, conn: Any) -> None: ...
156+
# @classmethod
157+
# def parse(self, s: Any, cur: Any, _bsdec: Any = ...): ...
158+
# @classmethod
159+
# def parse_unicode(self, s: Any, cur: Any): ...
160+
# @classmethod
161+
# def get_oids(self, conn_or_curs: Any): ...
162+
#
163+
#
164+
# def register_hstore(conn_or_curs: Any, globally: bool = ..., unicode: bool = ...,
165+
# oid: Optional[Any] = ..., array_oid: Optional[Any] = ...) -> None: ...
166+
#
167+
#
168+
# class CompositeCaster:
169+
# name: Any = ...
170+
# schema: Any = ...
171+
# oid: Any = ...
172+
# array_oid: Any = ...
173+
# attnames: Any = ...
174+
# atttypes: Any = ...
175+
# typecaster: Any = ...
176+
# array_typecaster: Any = ...
177+
# def __init__(self, name: Any, oid: Any, attrs: Any,
178+
# array_oid: Optional[Any] = ..., schema: Optional[Any] = ...) -> None: ...
179+
#
180+
# def parse(self, s: Any, curs: Any): ...
181+
# def make(self, values: Any): ...
182+
# @classmethod
183+
# def tokenize(self, s: Any): ...
184+
#
185+
#
186+
# def register_composite(name: Any, conn_or_curs: Any,
187+
# globally: bool = ..., factory: Optional[Any] = ...): ...
188+
#
189+
#
190+
# def execute_batch(cur: Any, sql: Any, argslist: Any,
191+
# page_size: int = ...) -> None: ...
192+
#
193+
#
194+
# def execute_values(cur: Any, sql: Any, argslist: Any,
195+
# template: Optional[Any] = ..., page_size: int = ..., fetch: bool = ...): ...

stubs/psycopg2/sql.pyi

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# pylint: disable=missing-module-docstring
2+
# pylint: disable=missing-class-docstring
3+
# pylint: disable=missing-function-docstring
4+
# pylint: disable=no-self-use
5+
# pylint: disable=unused-argument
6+
# pylint: disable=multiple-statements
7+
# pylint: disable=super-init-not-called
8+
9+
from __future__ import annotations
10+
from typing import Any, Optional, Union, Hashable, Iterable, List, Tuple
11+
12+
13+
class Composable:
14+
# pylint: disable=unsubscriptable-object
15+
def __init__(
16+
self,
17+
wrapped: Union[str, object, List[Union[str, Composable]]]
18+
) -> None: ...
19+
# pylint: disable=unsubscriptable-object
20+
def as_string(self, context: Any) -> Optional[str]: ...
21+
def __add__(self, other: Any) -> Composable: ...
22+
# pylint: disable=invalid-name
23+
def __mul__(self, n: Any) -> Composable: ...
24+
def __eq__(self, other: Any) -> bool: ...
25+
def __ne__(self, other: Any) -> bool: ...
26+
27+
28+
class Composed(Composable):
29+
def __init__(self, seq: List[Composable]) -> None: ...
30+
@property
31+
def seq(self) -> List[str]: ...
32+
def as_string(self, context: Any) -> str: ...
33+
def __iter__(self) -> Iterable[str]: ...
34+
def __add__(self, other: Any) -> Composed: ...
35+
def join(self, joiner: Any) -> Composed: ...
36+
37+
38+
class SQL(Composable):
39+
def __init__(self, string: str) -> None: ...
40+
@property
41+
def string(self) -> str: ...
42+
def as_string(self, context: Any) -> str: ...
43+
def format(self, *args: Any, **kwargs: Any) -> Composed: ...
44+
def join(self, seq: Any) -> Composed: ...
45+
46+
47+
class Identifier(Composable):
48+
# pylint: disable=unsubscriptable-object
49+
def __init__(
50+
self,
51+
*strings: Union[str, Hashable]
52+
) -> None: ...
53+
@property
54+
def strings(self) -> Tuple[Union[str, Hashable]]: ...
55+
@property
56+
# pylint: disable=unsubscriptable-object
57+
def string(self) -> Optional[str]: ...
58+
def as_string(self, context: Any) -> str: ...
59+
60+
61+
class Literal(Composable):
62+
@property
63+
def wrapped(self) -> List[Composable]: ...
64+
def as_string(self, context: Any) -> str: ...
65+
66+
67+
class Placeholder(Composable):
68+
# pylint: disable=unsubscriptable-object
69+
def __init__(self, name: Optional[str] = ...) -> None: ...
70+
@property
71+
def name(self) -> str: ...
72+
def as_string(self, context: Any) -> str: ...
73+
74+
75+
NULL: Any
76+
DEFAULT: Any

0 commit comments

Comments
 (0)