mathesar-foundation / mathesar

Web application providing an intuitive user experience to databases.
https://mathesar.org/
GNU General Public License v3.0
2.36k stars 327 forks source link

Support Python 3.12 #3510

Open mathemancer opened 6 months ago

mathemancer commented 6 months ago

Problem

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

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.