From 6487f2a93fba85e48560ad01c5aefa519784c2b3 Mon Sep 17 00:00:00 2001 From: Dave Page Date: Fri, 14 Aug 2026 11:16:25 +0100 Subject: [PATCH] Add support for Python 3.14 (#10255) Python 3.14 is now supported, so add the trove classifier for it to the pip packaging metadata and move the desktop builds onto it: the macOS bundle now defaults to 3.14.7, and the Windows build looks for an interpreter in C:\Python314 by default, with both build READMEs updated to match. The minimum supported version is unchanged at 3.9. Whilst here, the SonarQube scanner's Python compatibility list had drifted somewhat, still naming 3.7 and 3.8 and stopping at 3.11, so it has been brought into line with the versions we actually support. --- .github/workflows/sonarqube-scan.yml | 2 +- Make.bat | 2 +- pkg/mac/README.md | 2 +- pkg/mac/build.sh | 4 ++-- pkg/pip/setup_pip.py | 3 ++- pkg/win32/README.md | 4 ++-- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/sonarqube-scan.yml b/.github/workflows/sonarqube-scan.yml index 1e793de66..0d3e1785e 100644 --- a/.github/workflows/sonarqube-scan.yml +++ b/.github/workflows/sonarqube-scan.yml @@ -43,7 +43,7 @@ jobs: sonar.test.inclusions=**/tests/**, web/regression # Python compatibility - sonar.python.version=3.7, 3.8, 3.9, 3.10, 3.11 + sonar.python.version=3.9, 3.10, 3.11, 3.12, 3.13, 3.14 EOF APP_RELEASE=`grep "^APP_RELEASE" web/config.py | cut -d"=" -f2 | sed 's/ //g'` diff --git a/Make.bat b/Make.bat index 8d594404e..b7c78937f 100644 --- a/Make.bat +++ b/Make.bat @@ -52,7 +52,7 @@ REM Main build sequence Ends :SET_ENVIRONMENT ECHO Configuring the environment... - IF "%PGADMIN_PYTHON_DIR%" == "" SET "PGADMIN_PYTHON_DIR=C:\Python313" + IF "%PGADMIN_PYTHON_DIR%" == "" SET "PGADMIN_PYTHON_DIR=C:\Python314" IF "%PGADMIN_KRB5_DIR%" == "" SET "PGADMIN_KRB5_DIR=C:\Program Files\MIT\Kerberos" IF "%PGADMIN_POSTGRES_DIR%" == "" SET "PGADMIN_POSTGRES_DIR=C:\Program Files\PostgreSQL\17" IF "%PGADMIN_INNOTOOL_DIR%" == "" SET "PGADMIN_INNOTOOL_DIR=C:\Program Files (x86)\Inno Setup 6" diff --git a/pkg/mac/README.md b/pkg/mac/README.md index 29fecdf33..6a81f3be2 100644 --- a/pkg/mac/README.md +++ b/pkg/mac/README.md @@ -13,7 +13,7 @@ Either build the sources or get them from macports or similar: ## Building -1. To bundle a different version of Python from the default of 3.13.1, set the +1. To bundle a different version of Python from the default of 3.14.7, set the *PGADMIN_PYTHON_VERSION* environment variable, e.g: export PGADMIN_PYTHON_VERSION=3.13.11 diff --git a/pkg/mac/build.sh b/pkg/mac/build.sh index 02a0a06a3..34b33c947 100755 --- a/pkg/mac/build.sh +++ b/pkg/mac/build.sh @@ -53,8 +53,8 @@ if [ "${PGADMIN_POSTGRES_DIR}" == "" ]; then fi if [ "${PGADMIN_PYTHON_VERSION}" == "" ]; then - echo "PGADMIN_PYTHON_VERSION not set. Setting it to the default: 3.13.11" - export PGADMIN_PYTHON_VERSION=3.13.11 + echo "PGADMIN_PYTHON_VERSION not set. Setting it to the default: 3.14.7" + export PGADMIN_PYTHON_VERSION=3.14.7 fi # Initialize variables diff --git a/pkg/pip/setup_pip.py b/pkg/pip/setup_pip.py index 65b7c824e..51dacd2ad 100644 --- a/pkg/pip/setup_pip.py +++ b/pkg/pip/setup_pip.py @@ -84,7 +84,8 @@ setup( 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', - 'Programming Language :: Python :: 3.13' + 'Programming Language :: Python :: 3.13', + 'Programming Language :: Python :: 3.14' ], keywords='pgadmin4,postgresql,postgres', diff --git a/pkg/win32/README.md b/pkg/win32/README.md index 8b86d9a7b..5a2925176 100644 --- a/pkg/win32/README.md +++ b/pkg/win32/README.md @@ -204,7 +204,7 @@ examples shown below are the defaults for the build system, so if they match your requirements you don't need to set them. For PostgreSQL 16 and below: SET "PGADMIN_POSTGRES_DIR=C:\build64\pgsql" - SET "PGADMIN_PYTHON_DIR=C:\Python313" + SET "PGADMIN_PYTHON_DIR=C:\Python314" SET "PGADMIN_KRB5_DIR=C:\build64\krb5" SET "PGADMIN_INNOTOOL_DIR=C:\Program Files (x86)\Inno Setup 6" SET "PGADMIN_SIGNTOOL_DIR=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64" @@ -214,7 +214,7 @@ your requirements you don't need to set them. For PostgreSQL 16 and below: For PostgreSQL 17 and later: SET "PGADMIN_POSTGRES_DIR=C:\build64" - SET "PGADMIN_PYTHON_DIR=C:\Python313" + SET "PGADMIN_PYTHON_DIR=C:\Python314" SET "PGADMIN_KRB5_DIR=C:\build64" SET "PGADMIN_INNOTOOL_DIR=C:\Program Files (x86)\Inno Setup 6" SET "PGADMIN_SIGNTOOL_DIR=C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64"