Require psycopg >= 3.2.4 and test the floor in CI#128
Merged
Conversation
The extras declared psycopg >= 3.1, but the notification listener calls Connection.notifies(timeout=..., stop_after=...), which psycopg added in 3.2 -- on 3.1.x, NotificationListener.poll() raises TypeError. psycopg 3.2.4 additionally fixed notifications being dropped while no generator was consuming them, which the pull-based poll() design depends on. Raise both extras to >= 3.2.4 and say so in the README's supported versions and the CHANGELOG migration note. To keep the floor honest, the database matrix gains an oldest-everything row (py3.9, PG13) that reinstalls psycopg[binary]==3.2.4 after the normal install; the full suite passes under it (857 passed / 36 skipped locally). Also corrects the pgsource description: pip install psycopg is the pure-Python implementation, which uses the system libpq at runtime -- nothing is compiled. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Review finding, pre-1.0: the extras declared
psycopg>=3.1, but notifications.py callsConnection.notifies(timeout=..., stop_after=...)— kwargs psycopg added in 3.2 — soNotificationListener.poll()raisesTypeErroron 3.1.x. psycopg 3.2.4 additionally fixed notifications being dropped while no generator was consuming them (psycopg news), which the pull-basedpoll()design depends on.psycopg>=3.2.4, with the reasoning in a pyproject comment; README's supported-versions list and the CHANGELOG's psycopg-3 migration note say so.psycopg[binary]==3.2.4pinned after the normal install — so the declared floor stays tested. The row is labeledPostgreSQL 13 (py3.9, psycopg 3.2.4).pgsourcedescription:pip install psycopgis the pure-Python implementation, which uses the system libpq at runtime — nothing is compiled (psycopg docs).Verified locally: full suite 857 passed / 36 skipped under
psycopg[binary]==3.2.4(PG18), exactly what the new CI cell runs.Should land before the
v1.0.0rc1release so the floor is baked into the published metadata.🤖 Generated with Claude Code