psycopg 3.2.0__tar.gz → 3.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {psycopg-3.2.0 → psycopg-3.2.2}/PKG-INFO +7 -6
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/abc.py +8 -8
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/__init__.py +0 -1
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/abc.py +2 -1
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/rows.py +3 -2
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/sql.py +16 -8
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/PKG-INFO +7 -6
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/requires.txt +7 -5
- {psycopg-3.2.0 → psycopg-3.2.2}/setup.cfg +7 -6
- {psycopg-3.2.0 → psycopg-3.2.2}/LICENSE.txt +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/README.rst +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/__init__.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_acompat.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_adapters_map.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_capabilities.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_cmodule.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_column.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_compat.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_connection_base.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_connection_info.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_conninfo_attempts.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_conninfo_attempts_async.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_conninfo_utils.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_copy.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_copy_async.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_copy_base.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_cursor_base.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_dns.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_encodings.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_enums.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_oids.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_pipeline.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_preparing.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_py_transformer.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_queries.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_struct.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_tpc.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_transformer.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_typeinfo.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_typemod.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_tz.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_wrappers.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/adapt.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/client_cursor.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/connection.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/connection_async.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/conninfo.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/copy.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/crdb/__init__.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/crdb/_types.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/crdb/connection.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/cursor.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/cursor_async.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/dbapi20.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/errors.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/generators.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/postgres.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/_debug.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/_enums.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/_pq_ctypes.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/_pq_ctypes.pyi +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/misc.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/pq_ctypes.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/py.typed +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/raw_cursor.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/server_cursor.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/transaction.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/__init__.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/array.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/bool.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/composite.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/datetime.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/enum.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/hstore.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/json.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/multirange.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/net.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/none.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/numeric.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/numpy.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/range.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/shapely.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/string.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/uuid.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/version.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/waiting.py +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/SOURCES.txt +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/dependency_links.txt +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/not-zip-safe +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/top_level.txt +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/pyproject.toml +0 -0
- {psycopg-3.2.0 → psycopg-3.2.2}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: psycopg
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.2
|
|
4
4
|
Summary: PostgreSQL database adapter for Python
|
|
5
5
|
Home-page: https://psycopg.org/psycopg3/
|
|
6
6
|
Author: Daniele Varrazzo
|
|
@@ -24,6 +24,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
24
24
|
Classifier: Programming Language :: Python :: 3.10
|
|
25
25
|
Classifier: Programming Language :: Python :: 3.11
|
|
26
26
|
Classifier: Programming Language :: Python :: 3.12
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
27
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
28
29
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
29
30
|
Classifier: Topic :: Database
|
|
@@ -34,17 +35,17 @@ Requires-Python: >=3.8
|
|
|
34
35
|
Description-Content-Type: text/x-rst
|
|
35
36
|
License-File: LICENSE.txt
|
|
36
37
|
Requires-Dist: backports.zoneinfo>=0.2.0; python_version < "3.9"
|
|
37
|
-
Requires-Dist: typing-extensions>=4.
|
|
38
|
+
Requires-Dist: typing-extensions>=4.6; python_version < "3.13"
|
|
38
39
|
Requires-Dist: tzdata; sys_platform == "win32"
|
|
39
40
|
Provides-Extra: c
|
|
40
|
-
Requires-Dist: psycopg-c==3.2.
|
|
41
|
+
Requires-Dist: psycopg-c==3.2.2; implementation_name != "pypy" and extra == "c"
|
|
41
42
|
Provides-Extra: binary
|
|
42
|
-
Requires-Dist: psycopg-binary==3.2.
|
|
43
|
+
Requires-Dist: psycopg-binary==3.2.2; implementation_name != "pypy" and extra == "binary"
|
|
43
44
|
Provides-Extra: pool
|
|
44
45
|
Requires-Dist: psycopg-pool; extra == "pool"
|
|
45
46
|
Provides-Extra: test
|
|
46
47
|
Requires-Dist: anyio>=4.0; extra == "test"
|
|
47
|
-
Requires-Dist: mypy>=1.
|
|
48
|
+
Requires-Dist: mypy>=1.11; extra == "test"
|
|
48
49
|
Requires-Dist: pproxy>=2.7; extra == "test"
|
|
49
50
|
Requires-Dist: pytest>=6.2.5; extra == "test"
|
|
50
51
|
Requires-Dist: pytest-cov>=3.0; extra == "test"
|
|
@@ -55,7 +56,7 @@ Requires-Dist: black>=24.1.0; extra == "dev"
|
|
|
55
56
|
Requires-Dist: codespell>=2.2; extra == "dev"
|
|
56
57
|
Requires-Dist: dnspython>=2.1; extra == "dev"
|
|
57
58
|
Requires-Dist: flake8>=4.0; extra == "dev"
|
|
58
|
-
Requires-Dist: mypy>=1.
|
|
59
|
+
Requires-Dist: mypy>=1.11; extra == "dev"
|
|
59
60
|
Requires-Dist: types-setuptools>=57.4; extra == "dev"
|
|
60
61
|
Requires-Dist: wheel>=0.37; extra == "dev"
|
|
61
62
|
Provides-Extra: docs
|
|
@@ -8,32 +8,32 @@ from __future__ import annotations
|
|
|
8
8
|
|
|
9
9
|
from typing import Any, Callable, Generator, Mapping
|
|
10
10
|
from typing import Protocol, Sequence, TYPE_CHECKING
|
|
11
|
+
from typing import Dict, Union # drop with Python 3.8
|
|
11
12
|
|
|
12
13
|
from . import pq
|
|
13
14
|
from ._enums import PyFormat as PyFormat
|
|
14
|
-
from ._compat import TypeAlias, TypeVar
|
|
15
|
+
from ._compat import LiteralString, TypeAlias, TypeVar
|
|
15
16
|
|
|
16
17
|
if TYPE_CHECKING:
|
|
17
18
|
from . import sql # noqa: F401
|
|
18
19
|
from .rows import Row, RowMaker
|
|
19
20
|
from .pq.abc import PGresult
|
|
20
21
|
from .waiting import Wait, Ready # noqa: F401
|
|
21
|
-
from ._compat import LiteralString # noqa: F401
|
|
22
22
|
from ._adapters_map import AdaptersMap
|
|
23
23
|
from ._connection_base import BaseConnection
|
|
24
24
|
|
|
25
25
|
NoneType: type = type(None)
|
|
26
26
|
|
|
27
27
|
# An object implementing the buffer protocol
|
|
28
|
-
Buffer: TypeAlias =
|
|
28
|
+
Buffer: TypeAlias = Union[bytes, bytearray, memoryview]
|
|
29
29
|
|
|
30
|
-
Query: TypeAlias =
|
|
31
|
-
Params: TypeAlias =
|
|
30
|
+
Query: TypeAlias = Union[LiteralString, bytes, "sql.SQL", "sql.Composed"]
|
|
31
|
+
Params: TypeAlias = Union[Sequence[Any], Mapping[str, Any]]
|
|
32
32
|
ConnectionType = TypeVar("ConnectionType", bound="BaseConnection[Any]")
|
|
33
33
|
PipelineCommand: TypeAlias = Callable[[], None]
|
|
34
|
-
DumperKey: TypeAlias =
|
|
35
|
-
ConnParam: TypeAlias =
|
|
36
|
-
ConnDict: TypeAlias =
|
|
34
|
+
DumperKey: TypeAlias = Union[type, "tuple[DumperKey, ...]"]
|
|
35
|
+
ConnParam: TypeAlias = Union[str, int, None]
|
|
36
|
+
ConnDict: TypeAlias = Dict[str, ConnParam]
|
|
37
37
|
ConnMapping: TypeAlias = Mapping[str, ConnParam]
|
|
38
38
|
|
|
39
39
|
|
|
@@ -66,7 +66,6 @@ def import_from_libpq() -> None:
|
|
|
66
66
|
def handle_error(name: str, e: Exception) -> None:
|
|
67
67
|
if not impl:
|
|
68
68
|
msg = f"couldn't import psycopg '{name}' implementation: {e}"
|
|
69
|
-
logger.debug(msg)
|
|
70
69
|
attempts.append(msg)
|
|
71
70
|
else:
|
|
72
71
|
msg = f"couldn't import requested psycopg '{name}' implementation: {e}"
|
|
@@ -7,6 +7,7 @@ Protocol objects to represent objects exposed by different pq implementations.
|
|
|
7
7
|
from __future__ import annotations
|
|
8
8
|
|
|
9
9
|
from typing import Any, Callable, Protocol, Sequence, TYPE_CHECKING
|
|
10
|
+
from typing import Union # drop with Python 3.8
|
|
10
11
|
|
|
11
12
|
from ._enums import Format, Trace
|
|
12
13
|
from .._compat import Self, TypeAlias
|
|
@@ -15,7 +16,7 @@ if TYPE_CHECKING:
|
|
|
15
16
|
from .misc import PGnotify, ConninfoOption, PGresAttDesc
|
|
16
17
|
|
|
17
18
|
# An object implementing the buffer protocol (ish)
|
|
18
|
-
Buffer: TypeAlias =
|
|
19
|
+
Buffer: TypeAlias = Union[bytes, bytearray, memoryview]
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
class PGconn(Protocol):
|
|
@@ -9,6 +9,7 @@ from __future__ import annotations
|
|
|
9
9
|
import functools
|
|
10
10
|
from typing import Any, Callable, NamedTuple, NoReturn
|
|
11
11
|
from typing import TYPE_CHECKING, Protocol, Sequence
|
|
12
|
+
from typing import Dict, Tuple # drop with Python 3.8
|
|
12
13
|
from collections import namedtuple
|
|
13
14
|
|
|
14
15
|
from . import pq
|
|
@@ -82,13 +83,13 @@ class BaseRowFactory(Protocol[Row]):
|
|
|
82
83
|
def __call__(self, __cursor: BaseCursor[Any, Any]) -> RowMaker[Row]: ...
|
|
83
84
|
|
|
84
85
|
|
|
85
|
-
TupleRow: TypeAlias =
|
|
86
|
+
TupleRow: TypeAlias = Tuple[Any, ...]
|
|
86
87
|
"""
|
|
87
88
|
An alias for the type returned by `tuple_row()` (i.e. a tuple of any content).
|
|
88
89
|
"""
|
|
89
90
|
|
|
90
91
|
|
|
91
|
-
DictRow: TypeAlias =
|
|
92
|
+
DictRow: TypeAlias = Dict[str, Any]
|
|
92
93
|
"""
|
|
93
94
|
An alias for the type returned by `dict_row()`
|
|
94
95
|
|
|
@@ -39,15 +39,15 @@ class Composable(ABC):
|
|
|
39
39
|
"""
|
|
40
40
|
Abstract base class for objects that can be used to compose an SQL string.
|
|
41
41
|
|
|
42
|
-
`!Composable` objects can be passed directly to
|
|
43
|
-
`~psycopg.Cursor.execute()`, `~psycopg.Cursor.executemany()`,
|
|
44
|
-
`~psycopg.Cursor.copy()` in place of the query string.
|
|
45
|
-
|
|
46
42
|
`!Composable` objects can be joined using the ``+`` operator: the result
|
|
47
43
|
will be a `Composed` instance containing the objects joined. The operator
|
|
48
44
|
``*`` is also supported with an integer argument: the result is a
|
|
49
45
|
`!Composed` instance containing the left argument repeated as many times as
|
|
50
46
|
requested.
|
|
47
|
+
|
|
48
|
+
`!SQL` and `!Composed` objects can be passed directly to
|
|
49
|
+
`~psycopg.Cursor.execute()`, `~psycopg.Cursor.executemany()`,
|
|
50
|
+
`~psycopg.Cursor.copy()` in place of the query string.
|
|
51
51
|
"""
|
|
52
52
|
|
|
53
53
|
def __init__(self, obj: Any):
|
|
@@ -110,10 +110,14 @@ class Composed(Composable):
|
|
|
110
110
|
"""
|
|
111
111
|
A `Composable` object made of a sequence of `!Composable`.
|
|
112
112
|
|
|
113
|
-
The object is usually created using `!Composable` operators and methods
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
113
|
+
The object is usually created using `!Composable` operators and methods
|
|
114
|
+
(such as the `SQL.format()` method). `!Composed` objects can be passed
|
|
115
|
+
directly to `~psycopg.Cursor.execute()`, `~psycopg.Cursor.executemany()`,
|
|
116
|
+
`~psycopg.Cursor.copy()` in place of the query string.
|
|
117
|
+
|
|
118
|
+
It is also possible to create a `!Composed` directly specifying a sequence
|
|
119
|
+
of objects as arguments: if they are not `!Composable` they will be wrapped
|
|
120
|
+
in a `Literal`.
|
|
117
121
|
|
|
118
122
|
Example::
|
|
119
123
|
|
|
@@ -185,6 +189,10 @@ class SQL(Composable):
|
|
|
185
189
|
statements; use other objects such as `Identifier` or `Literal` to
|
|
186
190
|
represent variable parts.
|
|
187
191
|
|
|
192
|
+
`!SQL` objects can be passed directly to `~psycopg.Cursor.execute()`,
|
|
193
|
+
`~psycopg.Cursor.executemany()`, `~psycopg.Cursor.copy()` in place of the
|
|
194
|
+
query string.
|
|
195
|
+
|
|
188
196
|
Example::
|
|
189
197
|
|
|
190
198
|
>>> query = sql.SQL("SELECT {0} FROM {1}").format(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: psycopg
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.2
|
|
4
4
|
Summary: PostgreSQL database adapter for Python
|
|
5
5
|
Home-page: https://psycopg.org/psycopg3/
|
|
6
6
|
Author: Daniele Varrazzo
|
|
@@ -24,6 +24,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
24
24
|
Classifier: Programming Language :: Python :: 3.10
|
|
25
25
|
Classifier: Programming Language :: Python :: 3.11
|
|
26
26
|
Classifier: Programming Language :: Python :: 3.12
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
27
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
28
29
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
29
30
|
Classifier: Topic :: Database
|
|
@@ -34,17 +35,17 @@ Requires-Python: >=3.8
|
|
|
34
35
|
Description-Content-Type: text/x-rst
|
|
35
36
|
License-File: LICENSE.txt
|
|
36
37
|
Requires-Dist: backports.zoneinfo>=0.2.0; python_version < "3.9"
|
|
37
|
-
Requires-Dist: typing-extensions>=4.
|
|
38
|
+
Requires-Dist: typing-extensions>=4.6; python_version < "3.13"
|
|
38
39
|
Requires-Dist: tzdata; sys_platform == "win32"
|
|
39
40
|
Provides-Extra: c
|
|
40
|
-
Requires-Dist: psycopg-c==3.2.
|
|
41
|
+
Requires-Dist: psycopg-c==3.2.2; implementation_name != "pypy" and extra == "c"
|
|
41
42
|
Provides-Extra: binary
|
|
42
|
-
Requires-Dist: psycopg-binary==3.2.
|
|
43
|
+
Requires-Dist: psycopg-binary==3.2.2; implementation_name != "pypy" and extra == "binary"
|
|
43
44
|
Provides-Extra: pool
|
|
44
45
|
Requires-Dist: psycopg-pool; extra == "pool"
|
|
45
46
|
Provides-Extra: test
|
|
46
47
|
Requires-Dist: anyio>=4.0; extra == "test"
|
|
47
|
-
Requires-Dist: mypy>=1.
|
|
48
|
+
Requires-Dist: mypy>=1.11; extra == "test"
|
|
48
49
|
Requires-Dist: pproxy>=2.7; extra == "test"
|
|
49
50
|
Requires-Dist: pytest>=6.2.5; extra == "test"
|
|
50
51
|
Requires-Dist: pytest-cov>=3.0; extra == "test"
|
|
@@ -55,7 +56,7 @@ Requires-Dist: black>=24.1.0; extra == "dev"
|
|
|
55
56
|
Requires-Dist: codespell>=2.2; extra == "dev"
|
|
56
57
|
Requires-Dist: dnspython>=2.1; extra == "dev"
|
|
57
58
|
Requires-Dist: flake8>=4.0; extra == "dev"
|
|
58
|
-
Requires-Dist: mypy>=1.
|
|
59
|
+
Requires-Dist: mypy>=1.11; extra == "dev"
|
|
59
60
|
Requires-Dist: types-setuptools>=57.4; extra == "dev"
|
|
60
61
|
Requires-Dist: wheel>=0.37; extra == "dev"
|
|
61
62
|
Provides-Extra: docs
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
[:python_version < "3.13"]
|
|
3
|
+
typing-extensions>=4.6
|
|
2
4
|
|
|
3
5
|
[:python_version < "3.9"]
|
|
4
6
|
backports.zoneinfo>=0.2.0
|
|
@@ -9,12 +11,12 @@ tzdata
|
|
|
9
11
|
[binary]
|
|
10
12
|
|
|
11
13
|
[binary:implementation_name != "pypy"]
|
|
12
|
-
psycopg-binary==3.2.
|
|
14
|
+
psycopg-binary==3.2.2
|
|
13
15
|
|
|
14
16
|
[c]
|
|
15
17
|
|
|
16
18
|
[c:implementation_name != "pypy"]
|
|
17
|
-
psycopg-c==3.2.
|
|
19
|
+
psycopg-c==3.2.2
|
|
18
20
|
|
|
19
21
|
[dev]
|
|
20
22
|
ast-comments>=1.1.2
|
|
@@ -22,7 +24,7 @@ black>=24.1.0
|
|
|
22
24
|
codespell>=2.2
|
|
23
25
|
dnspython>=2.1
|
|
24
26
|
flake8>=4.0
|
|
25
|
-
mypy>=1.
|
|
27
|
+
mypy>=1.11
|
|
26
28
|
types-setuptools>=57.4
|
|
27
29
|
wheel>=0.37
|
|
28
30
|
|
|
@@ -37,7 +39,7 @@ psycopg-pool
|
|
|
37
39
|
|
|
38
40
|
[test]
|
|
39
41
|
anyio>=4.0
|
|
40
|
-
mypy>=1.
|
|
42
|
+
mypy>=1.11
|
|
41
43
|
pproxy>=2.7
|
|
42
44
|
pytest>=6.2.5
|
|
43
45
|
pytest-cov>=3.0
|
|
@@ -5,7 +5,7 @@ url = https://psycopg.org/psycopg3/
|
|
|
5
5
|
author = Daniele Varrazzo
|
|
6
6
|
author_email = daniele.varrazzo@gmail.com
|
|
7
7
|
license = GNU Lesser General Public License v3 (LGPLv3)
|
|
8
|
-
version = 3.2.
|
|
8
|
+
version = 3.2.2
|
|
9
9
|
project_urls =
|
|
10
10
|
Homepage = https://psycopg.org/
|
|
11
11
|
Documentation = https://psycopg.org/psycopg3/docs/
|
|
@@ -26,6 +26,7 @@ classifiers =
|
|
|
26
26
|
Programming Language :: Python :: 3.10
|
|
27
27
|
Programming Language :: Python :: 3.11
|
|
28
28
|
Programming Language :: Python :: 3.12
|
|
29
|
+
Programming Language :: Python :: 3.13
|
|
29
30
|
Programming Language :: Python :: Implementation :: CPython
|
|
30
31
|
Programming Language :: Python :: Implementation :: PyPy
|
|
31
32
|
Topic :: Database
|
|
@@ -42,19 +43,19 @@ packages = find:
|
|
|
42
43
|
zip_safe = False
|
|
43
44
|
install_requires =
|
|
44
45
|
backports.zoneinfo >= 0.2.0; python_version < "3.9"
|
|
45
|
-
typing-extensions >= 4.
|
|
46
|
+
typing-extensions >= 4.6; python_version < "3.13"
|
|
46
47
|
tzdata; sys_platform == "win32"
|
|
47
48
|
|
|
48
49
|
[options.extras_require]
|
|
49
50
|
c =
|
|
50
|
-
psycopg-c == 3.2.
|
|
51
|
+
psycopg-c == 3.2.2; implementation_name != "pypy"
|
|
51
52
|
binary =
|
|
52
|
-
psycopg-binary == 3.2.
|
|
53
|
+
psycopg-binary == 3.2.2; implementation_name != "pypy"
|
|
53
54
|
pool =
|
|
54
55
|
psycopg-pool
|
|
55
56
|
test =
|
|
56
57
|
anyio >= 4.0
|
|
57
|
-
mypy >= 1.
|
|
58
|
+
mypy >= 1.11
|
|
58
59
|
pproxy >= 2.7
|
|
59
60
|
pytest >= 6.2.5
|
|
60
61
|
pytest-cov >= 3.0
|
|
@@ -65,7 +66,7 @@ dev =
|
|
|
65
66
|
codespell >= 2.2
|
|
66
67
|
dnspython >= 2.1
|
|
67
68
|
flake8 >= 4.0
|
|
68
|
-
mypy >= 1.
|
|
69
|
+
mypy >= 1.11
|
|
69
70
|
types-setuptools >= 57.4
|
|
70
71
|
wheel >= 0.37
|
|
71
72
|
docs =
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|