Mathesar works with Python 3.12, but there are some difficulties with the dependencies. Specifically, the versions of psycopg2-binary and pandas that we have specified haven't published wheels for Python 3.12, and so we have to build some things to install those packages on that version. psycopg2-binary is particularly bad, since building it requires a C header file that may or may not be installed on a user's system.
Proposed solution
We need to either
figure out versions of psycopg2-binary and pandas that work more smoothly with all python versions we support, or
use ranges in our version specification for those packages, or
remove those dependencies (this will happen anyway as part of the backend overhaul).
Additional context
The C header file needed by psycopg2-binary is libpq-fe.h. On Debian 12, that's provided by the libpq-dev package.
Problem
Mathesar works with Python 3.12, but there are some difficulties with the dependencies. Specifically, the versions of
psycopg2-binary
andpandas
that we have specified haven't published wheels for Python 3.12, and so we have to build some things to install those packages on that version.psycopg2-binary
is particularly bad, since building it requires a C header file that may or may not be installed on a user's system.Proposed solution
We need to either
psycopg2-binary
andpandas
that work more smoothly with all python versions we support, orAdditional context
The C header file needed by
psycopg2-binary
islibpq-fe.h
. On Debian 12, that's provided by thelibpq-dev
package.