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.
Files changed (92) hide show
  1. {psycopg-3.2.0 → psycopg-3.2.2}/PKG-INFO +7 -6
  2. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/abc.py +8 -8
  3. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/__init__.py +0 -1
  4. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/abc.py +2 -1
  5. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/rows.py +3 -2
  6. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/sql.py +16 -8
  7. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/PKG-INFO +7 -6
  8. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/requires.txt +7 -5
  9. {psycopg-3.2.0 → psycopg-3.2.2}/setup.cfg +7 -6
  10. {psycopg-3.2.0 → psycopg-3.2.2}/LICENSE.txt +0 -0
  11. {psycopg-3.2.0 → psycopg-3.2.2}/README.rst +0 -0
  12. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/__init__.py +0 -0
  13. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_acompat.py +0 -0
  14. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_adapters_map.py +0 -0
  15. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_capabilities.py +0 -0
  16. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_cmodule.py +0 -0
  17. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_column.py +0 -0
  18. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_compat.py +0 -0
  19. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_connection_base.py +0 -0
  20. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_connection_info.py +0 -0
  21. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_conninfo_attempts.py +0 -0
  22. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_conninfo_attempts_async.py +0 -0
  23. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_conninfo_utils.py +0 -0
  24. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_copy.py +0 -0
  25. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_copy_async.py +0 -0
  26. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_copy_base.py +0 -0
  27. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_cursor_base.py +0 -0
  28. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_dns.py +0 -0
  29. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_encodings.py +0 -0
  30. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_enums.py +0 -0
  31. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_oids.py +0 -0
  32. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_pipeline.py +0 -0
  33. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_preparing.py +0 -0
  34. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_py_transformer.py +0 -0
  35. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_queries.py +0 -0
  36. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_struct.py +0 -0
  37. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_tpc.py +0 -0
  38. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_transformer.py +0 -0
  39. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_typeinfo.py +0 -0
  40. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_typemod.py +0 -0
  41. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_tz.py +0 -0
  42. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/_wrappers.py +0 -0
  43. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/adapt.py +0 -0
  44. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/client_cursor.py +0 -0
  45. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/connection.py +0 -0
  46. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/connection_async.py +0 -0
  47. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/conninfo.py +0 -0
  48. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/copy.py +0 -0
  49. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/crdb/__init__.py +0 -0
  50. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/crdb/_types.py +0 -0
  51. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/crdb/connection.py +0 -0
  52. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/cursor.py +0 -0
  53. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/cursor_async.py +0 -0
  54. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/dbapi20.py +0 -0
  55. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/errors.py +0 -0
  56. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/generators.py +0 -0
  57. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/postgres.py +0 -0
  58. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/_debug.py +0 -0
  59. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/_enums.py +0 -0
  60. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/_pq_ctypes.py +0 -0
  61. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/_pq_ctypes.pyi +0 -0
  62. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/misc.py +0 -0
  63. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/pq/pq_ctypes.py +0 -0
  64. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/py.typed +0 -0
  65. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/raw_cursor.py +0 -0
  66. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/server_cursor.py +0 -0
  67. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/transaction.py +0 -0
  68. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/__init__.py +0 -0
  69. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/array.py +0 -0
  70. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/bool.py +0 -0
  71. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/composite.py +0 -0
  72. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/datetime.py +0 -0
  73. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/enum.py +0 -0
  74. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/hstore.py +0 -0
  75. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/json.py +0 -0
  76. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/multirange.py +0 -0
  77. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/net.py +0 -0
  78. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/none.py +0 -0
  79. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/numeric.py +0 -0
  80. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/numpy.py +0 -0
  81. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/range.py +0 -0
  82. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/shapely.py +0 -0
  83. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/string.py +0 -0
  84. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/types/uuid.py +0 -0
  85. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/version.py +0 -0
  86. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg/waiting.py +0 -0
  87. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/SOURCES.txt +0 -0
  88. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/dependency_links.txt +0 -0
  89. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/not-zip-safe +0 -0
  90. {psycopg-3.2.0 → psycopg-3.2.2}/psycopg.egg-info/top_level.txt +0 -0
  91. {psycopg-3.2.0 → psycopg-3.2.2}/pyproject.toml +0 -0
  92. {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.0
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.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.0.dev1; implementation_name != "pypy" and extra == "c"
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.0.dev1; implementation_name != "pypy" and extra == "binary"
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.6; extra == "test"
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.6; extra == "dev"
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 = "bytes | bytearray | memoryview"
28
+ Buffer: TypeAlias = Union[bytes, bytearray, memoryview]
29
29
 
30
- Query: TypeAlias = "LiteralString | bytes | sql.SQL | sql.Composed"
31
- Params: TypeAlias = "Sequence[Any] | Mapping[str, Any]"
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 = "type | tuple[DumperKey, ...]"
35
- ConnParam: TypeAlias = "str | int | None"
36
- ConnDict: TypeAlias = "dict[str, ConnParam]"
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 = "bytes | bytearray | memoryview"
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 = "tuple[Any, ...]"
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 = "dict[str, Any]"
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
- However it is possible to create a `!Composed` directly specifying a
115
- sequence of objects as arguments: if they are not `!Composable` they will
116
- be wrapped in a `Literal`.
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.0
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.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.0.dev1; implementation_name != "pypy" and extra == "c"
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.0.dev1; implementation_name != "pypy" and extra == "binary"
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.6; extra == "test"
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.6; extra == "dev"
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
- typing-extensions>=4.4
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.0.dev1
14
+ psycopg-binary==3.2.2
13
15
 
14
16
  [c]
15
17
 
16
18
  [c:implementation_name != "pypy"]
17
- psycopg-c==3.2.0.dev1
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.6
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.6
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.0
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.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.0.dev1; implementation_name != "pypy"
51
+ psycopg-c == 3.2.2; implementation_name != "pypy"
51
52
  binary =
52
- psycopg-binary == 3.2.0.dev1; implementation_name != "pypy"
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.6
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.6
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