#7148·reflex

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

Author: masenfCreated Sep 14, 2026Updated Sep 14, 2026

Follow-up to https://github.com/reflex-dev/reflex/pull/6930 (Python 3.15 support).

There are no cp315 wheels for psycopg-binary yet (latest on PyPI today is 3.3.5, no cp315 files), so #6930 split the dependency to fall back to pure-python psycopg on 3.15+ in two places:

  • pyproject.toml (dev group): "psycopg[binary]; python_version < '3.15'" + "psycopg; python_version >= '3.15'"
  • docs/app/pyproject.toml: same split

This only affects dev/test/docs environments, not the published reflex package — but on the 3.15 CI legs it means psycopg builds/needs libpq rather than using a prebuilt binary.

When a psycopg release ships cp315 psycopg-binary wheels:

  1. Collapse both markered pairs back to a single psycopg[binary] entry and drop the TODO comments.
  2. uv lock and verify the 3.15 legs of unit_tests.yml / integration_app_harness.yml still pass.