Skip to content

Restore unconditional psycopg[binary] now that cp315 wheels ship - #7698

Merged
masenf merged 1 commit into
mainfrom
claude/restore-psycopg-binary-cp315-25oh5m
Nov 2, 2026
Merged

masenf merged 1 commit into
mainfrom
claude/restore-psycopg-binary-cp315-25oh5m

Conversation

@FarhanAliRaza

@FarhanAliRaza FarhanAliRaza commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Description

Follow-up to #6930 (Python 3.15 support). psycopg-binary 3.3.6 now publishes cp315 wheels (Linux, macOS, Windows), so the 3.15 fallback to pure-python psycopg is no longer needed.

  • pyproject.toml (dev group) and docs/app/pyproject.toml: collapse the markered psycopg[binary]; python_version < '3.15' / psycopg; python_version >= '3.15' pairs back to a single psycopg[binary] and drop the TODO comments.
  • uv.lock: re-locked with uv 0.13.6 (the CI-pinned version); the diff is only the psycopg entries collapsing. Locked psycopg-binary==3.3.6 includes all 11 cp315 wheels.

Only dev/test/docs environments are affected; the published reflex package is unchanged, so no news fragment (reflex-release changelog-check: "No packaged source changes").

closes #7148

Type of change

  • Dependency / dev-environment maintenance (non-breaking)

Testing

  • uv sync --locked --python 3.15 installs psycopg-binary==3.3.6 from a wheel; psycopg.pq.__impl__ == "binary" on CPython 3.15.2.
  • Unit tests on 3.15: 15270 passed locally.
  • pre-commit passes on the changed files.
  • 3.15 legs of unit_tests.yml (ubuntu, windows) and integration_app_harness.yml (memory/redis, selenium + playwright) pass in CI.

Notes for reviewers

  • No >=3.3.6 floor was added, matching the other unpinned dev deps; the lock pins 3.3.6.
  • Free-threaded CPython (cp315t) has no psycopg-binary wheel. This is not new: cp313t and cp314t have none either, and uv sync --locked --python 3.14t already fails on main. No free-threaded interpreter is in the CI matrix.

psycopg-binary 3.3.6 publishes cp315 wheels, so the Python 3.15 split
added in #6930 (pure-python psycopg on 3.15+) is no longer needed. Collapse
both markered pairs back to a single psycopg[binary] in the root dev group
and docs/app, and drop the TODO comments. The 3.15 CI legs now install the
prebuilt binary instead of needing libpq.

Closes ENG-12420

Claude-Session: https://claude.ai/code/session_01LwJUCUfD4BvMvKrZrQK9gA
@FarhanAliRaza
FarhanAliRaza requested review from a team and Alek99 as code owners October 30, 2026 17:54
@greptile-apps

greptile-apps Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] This PR appears safe to merge.

Summary

Restores unconditional psycopg[binary] for development and the docs app.

  • Development and docs installs use psycopg's binary driver on every Python version.

Reviews (1) · Last reviewed commit: "Restore unconditional psycopg[binary] no..." · Reviewed by Greptile

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 3 files

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread docs/app/pyproject.toml Resolved
Comment thread pyproject.toml Resolved
@codspeed

codspeed Bot commented Oct 30, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

1 warning

⚠️ 18 benchmarks are dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

✅ 148 untouched benchmarks


Comparing claude/restore-psycopg-binary-cp315-25oh5m (b56e806) with main (aeea15a)

Open in CodSpeed

@FarhanAliRaza FarhanAliRaza added the on deck PRs lined up to review / merge next label Nov 2, 2026
@masenf
masenf merged commit 29ac5ef into main Nov 2, 2026
172 checks passed
@masenf
masenf deleted the claude/restore-psycopg-binary-cp315-25oh5m branch November 2, 2026 21:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

on deck PRs lined up to review / merge next

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Restore unconditional psycopg[binary] once psycopg-binary ships cp315 wheels

2 participants