Files
pgadmin4/pkg/pip/setup_pip.py
T
Dave Page 6487f2a93f 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.
2026-08-14 11:16:25 +01:00

109 lines
2.9 KiB
Python

#########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2026, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
import builtins
import os
import sys
from codecs import open
from importlib.machinery import SourceFileLoader
from setuptools import setup
# Load a source file
def load_source(name, path):
if not os.path.exists(path):
print("ERROR: Could not find %s" % path)
sys.exit(1)
return SourceFileLoader(name, path).load_module()
# Ensure the global server mode is set.
builtins.SERVER_MODE = None
# Get the requirements list for the current version of Python
req_file = '../requirements.txt'
with open(req_file, 'r') as req_lines:
all_requires = req_lines.read().splitlines()
requires = []
kerberos_extras = []
# Ensure the Wheel will use psycopg-binary, not the source distro, and stick
# gssapi in it's own list
for index, req in enumerate(all_requires):
if 'psycopg[c]' in req:
req = req.replace('psycopg[c]', 'psycopg[binary]')
if 'gssapi' in req:
kerberos_extras.append(req)
else:
requires.append(req)
# Get the version
path = '../web/'
if not os.path.exists(path):
print("ERROR: Could not find %s" % path)
sys.exit(1)
sys.path.append(path)
import config
setup(
name='pgadmin4',
version=config.APP_VERSION,
description='PostgreSQL Tools',
long_description='pgAdmin is the most popular and feature rich Open '
'Source administration and development platform for '
'PostgreSQL, the most advanced Open Source database in '
'the world.\n\npgAdmin may be used on Linux, Unix, '
'macOS and Windows to manage PostgreSQL and EDB '
'Advanced Server 10 and above.',
url='https://www.pgadmin.org/',
author='The pgAdmin Development Team',
author_email='pgadmin-hackers@postgresql.org',
license='PostgreSQL Licence',
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers=[
'Development Status :: 5 - Production/Stable',
# Supported programming languages
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Programming Language :: Python :: 3.14'
],
keywords='pgadmin4,postgresql,postgres',
packages=["pgadmin4"],
include_package_data=True,
install_requires=requires,
extras_require={
"kerberos": kerberos_extras,
},
entry_points={
'console_scripts': ['pgadmin4=pgadmin4.pgAdmin4:main',
'pgadmin4-cli=pgadmin4.setup:main'],
},
)