From 53d1cc9fb579fbe6cca27621fc79dd4bb039b89d Mon Sep 17 00:00:00 2001 From: Jason Madden Date: Tue, 11 Jun 2024 10:18:29 -0500 Subject: [PATCH] Drop Python 2 and old Python 3; add Python 3.12 and 3.13; not expected to build on 3.13 right now Because of zodb/persistent/cffi from nti.testing. --- .github/workflows/tests.yml | 30 +++++++++++------------------- CHANGES.rst | 5 +++-- setup.py | 13 ++++++------- tox.ini | 6 ++---- 4 files changed, 22 insertions(+), 32 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c64bfb0..961ad14 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -17,39 +17,31 @@ jobs: fail-fast: false matrix: os: - - ["ubuntu", "ubuntu-20.04"] + - ["ubuntu", "ubuntu-latest"] config: # [Python version, tox env] - - ["3.9", "lint"] - - ["2.7", "py27"] - - ["3.6", "py36"] - - ["3.7", "py37"] + - ["3.12", "lint"] - ["3.8", "py38"] - ["3.9", "py39"] - ["3.10", "py310"] - ["3.11", "py311"] - - ["pypy-2.7", "pypy"] - - ["pypy-3.7", "pypy3"] - - ["3.9", "docs"] - - ["3.9", "coverage"] + - ["3.12", "py312"] + - ["3.13", "py313"] + - ["pypy-3.10", "pypy3"] + - ["3.12", "docs"] + - ["3.12", "coverage"] runs-on: ${{ matrix.os[1] }} if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name name: ${{ matrix.config[1] }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.config[0] }} - - name: Pip cache - uses: actions/cache@v3 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ matrix.config[0] }}-${{ hashFiles('setup.*', 'tox.ini') }} - restore-keys: | - ${{ runner.os }}-pip-${{ matrix.config[0] }}- - ${{ runner.os }}-pip- + cache: 'pip' + cache-dependency-path: setup.py - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/CHANGES.rst b/CHANGES.rst index f2eef10..f6adb54 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -3,10 +3,11 @@ Changes ========= -4.3.1 (unreleased) +5.0.0 (unreleased) ================== -- Nothing changed yet. +- Add support for Python 3.12 and 3.13. +- Drop support for Python 2 and anything less than Python 3.8. 4.3.0 (2023-05-05) diff --git a/setup.py b/setup.py index e270db5..c97c5b1 100755 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ import codecs from setuptools import setup, find_packages -version = '4.3.1.dev0' +version = '5.0.0.dev0' entry_points = { 'console_scripts': [ @@ -16,7 +16,6 @@ 'zope.component', 'zope.testrunner', 'ZODB', - 'mock; python_version == "2.7"', ] def _read(fname): @@ -40,19 +39,19 @@ def _read(fname): 'Operating System :: OS Independent', 'Development Status :: 5 - Production/Stable', 'License :: OSI Approved :: Apache Software License', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3 :: Only', 'Programming Language :: Python :: 3.8', '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 :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Framework :: ZODB', ], + python_requires=">=3.8", packages=find_packages('src'), package_dir={'': 'src'}, include_package_data=True, diff --git a/tox.ini b/tox.ini index 798a0b7..5b6ec79 100644 --- a/tox.ini +++ b/tox.ini @@ -2,14 +2,12 @@ minversion = 3.18 envlist = lint - py27 - py36 - py37 py38 py39 py310 py311 - pypy + py312 + py313 pypy3 docs coverage