diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 6763ce51..e75eb4c2 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -13,10 +13,10 @@ on: jobs: build: - runs-on: ubuntu-20.04 # Downgrade Ubuntu to 20.04 to fix missing Python 3.6 + runs-on: ubuntu-22.04 strategy: matrix: - python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v3 diff --git a/gns3server/run.py b/gns3server/run.py index 672cc357..c15d976e 100644 --- a/gns3server/run.py +++ b/gns3server/run.py @@ -235,9 +235,9 @@ def run(): return log.info("HTTP authentication is enabled with username '{}'".format(user)) - # we only support Python 3 version >= 3.6 - if sys.version_info < (3, 6, 0): - raise SystemExit("Python 3.6 or higher is required") + # we only support Python 3 version >= 3.7 + if sys.version_info < (3, 7, 0): + raise SystemExit("Python 3.7 or higher is required") user_log.info("Running with Python {major}.{minor}.{micro} and has PID {pid}".format(major=sys.version_info[0], minor=sys.version_info[1], micro=sys.version_info[2], pid=os.getpid())) diff --git a/requirements.txt b/requirements.txt index f0657c38..8191f4c4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,12 +1,9 @@ -jsonschema>=4.17.3,<4.18; python_version >= '3.7' # v4.17.3 is the last version to support Python 3.7 -jsonschema==3.2.0; python_version < '3.7' # v3.2.0 is the last version to support Python 3.6 -aiohttp>=3.8.5,<3.9; python_version <= '3.7' +jsonschema>=4.17.3,<4.18 # v4.17.3 is the last version to support Python 3.7 +aiohttp>=3.8.6,<3.9; python_version == '3.7' # v3.8.6 is the last version to support Python 3.7 aiohttp>=3.9.0,<3.10; python_version > '3.7' aiohttp-cors>=0.7.0,<0.8 -aiofiles>=23.2.1,<23.3; python_version >= '3.7' -aiofiles==0.8.0; python_version < '3.7' # v0.8.0 is the last version to support Python 3.6 -Jinja2>=3.1.2,<3.2; python_version >= '3.7' -Jinja2==3.0.3; python_version < '3.7' # v3.0.3 is the last version to support Python 3.6 +aiofiles>=23.2.1,<23.3 +Jinja2>=3.1.2,<3.2 sentry-sdk==1.39.2,<1.40 psutil==5.9.8 async-timeout>=4.0.2,<4.1 @@ -15,5 +12,4 @@ py-cpuinfo>=9.0.0,<10.0 platformdirs>=2.4.0 importlib-resources>=1.3; python_version < '3.9' truststore>=0.8.0; python_version >= '3.10' -setuptools>=60.8.1; python_version >= '3.7' -setuptools==59.6.0; python_version < '3.7' # v59.6.0 is the last version to support Python 3.6 +setuptools>=60.8.1 diff --git a/setup.py b/setup.py index 5ee8f8be..4fdee869 100644 --- a/setup.py +++ b/setup.py @@ -23,9 +23,9 @@ import subprocess from setuptools import setup, find_packages from setuptools.command.test import test as TestCommand -# we only support Python 3 version >= 3.5.3 -if len(sys.argv) >= 2 and sys.argv[1] == "install" and sys.version_info < (3, 5, 3): - raise SystemExit("Python 3.5.3 or higher is required") +# we only support Python 3 version >= 3.7 +if len(sys.argv) >= 2 and sys.argv[1] == "install" and sys.version_info < (3, 7): + raise SystemExit("Python 3.7 or higher is required") class PyTest(TestCommand): @@ -89,7 +89,7 @@ setup( include_package_data=True, zip_safe=False, platforms="any", - python_requires='>=3.6.0', + python_requires='>=3.7', setup_requires=["setuptools>=17.1"], classifiers=[ "Development Status :: 5 - Production/Stable", @@ -103,7 +103,6 @@ setup( "Operating System :: Microsoft :: Windows", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9",