Skip to content

Conversation

@musicinmybrain
Copy link
Contributor

Use Py_TRASHCAN_BEGIN/END instead.

https://bugs.python.org/issue44874

These are removed from the limited C API in Python 3.9, deprecated in 3.11, and removed in Python 3.13:

https://docs.python.org/3.13/whatsnew/3.13.html#id8

@musicinmybrain
Copy link
Contributor Author

When combined with #1101, this allows me to build the python-asyncpg Fedora package for Python 3.13, although I do see two test failures on Python 3.13:

=========================== short test summary info ============================ FAILED tests/test_connect.py::TestClientSSLConnection::test_ssl_connection_client_auth_custom_context FAILED tests/test_connect.py::TestClientSSLConnection::test_ssl_connection_client_auth_fails_with_wrong_setup = 2 failed, 300 passed, 2 skipped, 2 deselected, 2 warnings in 151.11s (0:02:31) = 

Both are due to something like:

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Basic Constraints of CA cert not marked critical (_ssl.c:1020) 

I presume this is due to a deficiency of the test certificates in tests/certs/.

Use Py_TRASHCAN_BEGIN/END instead. https://bugs.python.org/issue44874 These are removed from the limited C API in Python 3.9, deprecated in 3.11, and removed in Python 3.13: https://docs.python.org/3.13/whatsnew/3.13.html#id8
@musicinmybrain
Copy link
Contributor Author

Rebased on master; no other changes.

Copy link
Member

@elprans elprans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@elprans elprans merged commit 11101c6 into MagicStack:master Jul 17, 2024
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
@elprans elprans mentioned this pull request Oct 18, 2024
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
@elprans elprans mentioned this pull request Oct 19, 2024
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17. Improvements ============ * Implement GSSAPI authentication (by @eltoder in 1d4e568 for #1122) * Implement SSPI authentication (by @eltoder in 1aab209 for #1128) * Add initial typings (by @bryanforbes in d42432b for #1127) * Allow building with Cython 3 (by @musicinmybrain in 258d8a9 for #1101) * docs: fix connection pool close call (#1125) (by @paulovitorweb in e848814 for #1125) * Add support for the `sslnegotiation` parameter (by @elprans in afdb05c for #1187) * Test and build on Python 3.13 (by @elprans in 3aa9894 for #1188) * Support PostgreSQL 17 (by @elprans in cee97e1 for #1189) (by @MeggyCal in aa2d0e6 for #1185) * Add `fetchmany` to execute many *and* return rows (by @rossmacarthur in 73f2209 for #1175) * Add `connect` kwarg to Pool to better support GCP's CloudSQL (by @d1manson in 3ee19ba for #1170) * Allow customizing connection state reset (#1191) (by @elprans in f6ec755 for #1191) Fixes ===== * s/quote/quote_plus/ in the note about DSN part quoting (by @elprans in 1194a8a for #1151) * Use asyncio.run() instead of run_until_complete() (by @eltoder in 9fcddfc for #1140) * Require async_timeout for python < 3.11 (#1177) (by @Pliner in 327f2a7 for #1177) * Allow testing with uvloop on Python 3.12 (#1182) (by @musicinmybrain in 597fe54 for #1182) * Mark pool-wrapped connection coroutine methods as coroutines (by @elprans in 636420b for #1134) * handle `None` parameters in `copy_from_query`, returning `NULL` (by @fobispotc in 259d16e for #1180) * fix: return the pool from _async_init__ if it's already initialized (#1104) (by @guacs in 7dc5872 for #1104) * Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150) (by @musicinmybrain in 11101c6 for #1150)
@elprans elprans mentioned this pull request Oct 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants