# HG changeset patch # User Mads Kiilerich # Date 2025-10-05 13:57:28 # Node ID 3adaa1a904200e0553a244c185b562133ccc224a # Parent 7a953fc22c99957d9a63fb549c6e141a6b4ba296 setup: bump minimum Python version to 3.9 3.8 was EOL a year ago. Mercurial also only supports 3.9 and later. diff --git a/docs/contributing.rst b/docs/contributing.rst --- a/docs/contributing.rst +++ b/docs/contributing.rst @@ -282,7 +282,7 @@ of Mercurial's (https://www.mercurial-sc consistency with existing code. Run ``scripts/run-all-cleanup`` before committing to ensure some basic code formatting consistency. -We support Python 3.6 and later. +We support Python 3.9 and later. We try to support the most common modern web browsers. IE9 is still supported to the extent it is feasible, IE8 is not. diff --git a/docs/overview.rst b/docs/overview.rst --- a/docs/overview.rst +++ b/docs/overview.rst @@ -91,7 +91,7 @@ Python environment ------------------ **Kallithea** is written entirely in Python_ and requires Python version -3.6 or higher. +3.9 or higher. Given a Python installation, there are different ways of providing the environment for running Python applications. Each of them pretty much diff --git a/kallithea/__init__.py b/kallithea/__init__.py --- a/kallithea/__init__.py +++ b/kallithea/__init__.py @@ -33,8 +33,8 @@ import sys import celery -if sys.version_info < (3, 6): - raise Exception('Kallithea requires python 3.6 or later') +if sys.version_info < (3, 9): + raise Exception('Kallithea requires python 3.9 or later') VERSION = (0, 7, 0) BACKENDS = { diff --git a/setup.py b/setup.py --- a/setup.py +++ b/setup.py @@ -10,8 +10,8 @@ import setuptools from setuptools.command import sdist -if sys.version_info < (3, 6): - raise Exception('Kallithea requires Python 3.6 or later') +if sys.version_info < (3, 9): + raise Exception('Kallithea requires Python 3.9 or later') here = os.path.abspath(os.path.dirname(__file__)) @@ -75,8 +75,6 @@ requirements = [ "pip >= 20.0, < 24.1", "chardet >= 3", ] -if sys.version_info < (3, 8): - requirements.append("importlib-metadata < 5") dependency_links = [ ] @@ -88,9 +86,7 @@ classifiers = [ 'Intended Audience :: Developers', 'License :: OSI Approved :: GNU General Public License (GPL)', 'Operating System :: OS Independent', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.13', 'Topic :: Software Development :: Version Control', ]