From ae72885e2cd844bdeebf095d8c0cffc964f9c0a3 Mon Sep 17 00:00:00 2001 From: Jens Vagelpohl Date: Tue, 18 Nov 2025 17:12:14 +0100 Subject: [PATCH] - drop Python 3.9, add 3.14, convert to PEP 420 --- .editorconfig | 2 +- .github/workflows/pre-commit.yml | 2 +- .github/workflows/tests.yml | 6 +++--- .meta.toml | 2 +- .pre-commit-config.yaml | 2 +- CHANGES.rst | 4 ++++ MANIFEST.in | 1 + pyproject.toml | 4 ++-- setup.py | 11 +---------- src/Products/__init__.py | 1 - tox.ini | 4 ++-- 11 files changed, 17 insertions(+), 22 deletions(-) delete mode 100644 src/Products/__init__.py diff --git a/.editorconfig b/.editorconfig index 824b9c3..ce35108 100644 --- a/.editorconfig +++ b/.editorconfig @@ -2,7 +2,7 @@ # https://github.com/zopefoundation/meta/tree/master/config/zope-product # # EditorConfig Configuration file, for more details see: -# http://EditorConfig.org +# https://EditorConfig.org # EditorConfig is a convention description, that could be interpreted # by multiple editors to enforce common coding conventions for specific # file types diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index ebf8872..cf37dd3 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -24,7 +24,7 @@ jobs: - uses: actions/checkout@v5 - uses: actions/setup-python@v6 with: - python-version: 3.x + python-version: '3.13' - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd #v3.0.1 with: extra_args: --all-files --show-diff-on-failure diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b8330a2..5a47ddb 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -24,11 +24,11 @@ jobs: config: # [Python version, tox env] - ["3.11", "release-check"] - - ["3.9", "py39"] - ["3.10", "py310"] - ["3.11", "py311"] - ["3.12", "py312"] - ["3.13", "py313"] + - ["3.14", "py314"] - ["3.11", "docs"] - ["3.11", "coverage"] @@ -40,8 +40,8 @@ jobs: with: persist-credentials: false - name: Install uv + caching - # astral/setup-uv@7.1.1 - uses: astral-sh/setup-uv@2ddd2b9cb38ad8efd50337e8ab201519a34c9f24 + # astral/setup-uv@7.1.3 + uses: astral-sh/setup-uv@5a7eac68fb9809dea845d802897dc5c723910fa3 with: enable-cache: true cache-dependency-glob: | diff --git a/.meta.toml b/.meta.toml index e68252e..ab15d8e 100644 --- a/.meta.toml +++ b/.meta.toml @@ -2,7 +2,7 @@ # https://github.com/zopefoundation/meta/tree/master/config/zope-product [meta] template = "zope-product" -commit-id = "eb07eaea" +commit-id = "9fcd3d67" [python] with-windows = false diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7ee8b11..cdeaf6c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,7 +15,7 @@ repos: rev: v3.21.0 hooks: - id: pyupgrade - args: [--py39-plus] + args: [--py310-plus] - repo: https://github.com/isidentical/teyit rev: 0.4.3 hooks: diff --git a/CHANGES.rst b/CHANGES.rst index af8f360..5784fdf 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,10 @@ Change log 4.4 (unreleased) ---------------- +- Add support for Python 3.14. + +- Drop support for Python 3.9. + - Pruned ``setup.py`` to the smallest stub currently possible and moved all package data into ``pyproject.toml``. diff --git a/MANIFEST.in b/MANIFEST.in index 834801b..3a7a0ff 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -9,6 +9,7 @@ include .pre-commit-config.yaml recursive-include docs *.py recursive-include docs *.rst +recursive-include docs *.txt recursive-include docs Makefile recursive-include src *.py diff --git a/pyproject.toml b/pyproject.toml index 5d84a92..cb95ff1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ description = """\ session implementations.\ """ readme = "README.rst" -requires-python = ">=3.9" +requires-python = ">=3.10" license = "ZPL-2.1" license-files = ["LICENSE.txt"] keywords = ["Zope", "session", "memcache", "memcached"] @@ -36,11 +36,11 @@ classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "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", "Topic :: Internet :: WWW/HTTP :: Session", ] dependencies = [ diff --git a/setup.py b/setup.py index 5425a0b..0569ea7 100644 --- a/setup.py +++ b/setup.py @@ -11,16 +11,7 @@ # ############################################################################# -from setuptools import find_packages from setuptools import setup -# Namespace discovery configuration must remain here until the package uses -# a PEP 420-style native namespace. -setup(name='Products.mcdutils', - packages=find_packages('src'), - package_dir={'': 'src'}, - include_package_data=True, - namespace_packages=['Products'], - zip_safe=False, - ) +setup(name='Products.mcdutils') diff --git a/src/Products/__init__.py b/src/Products/__init__.py deleted file mode 100644 index de40ea7..0000000 --- a/src/Products/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__import__('pkg_resources').declare_namespace(__name__) diff --git a/tox.ini b/tox.ini index 1444ee8..d86805f 100644 --- a/tox.ini +++ b/tox.ini @@ -5,11 +5,11 @@ minversion = 3.18 envlist = release-check lint - py39 py310 py311 py312 py313 + py314 docs coverage @@ -48,7 +48,7 @@ deps = commands_pre = commands = check-manifest - check-python-versions --only setup.py,tox.ini,.github/workflows/tests.yml + check-python-versions --only pyproject.toml,setup.py,tox.ini,.github/workflows/tests.yml python -m build --sdist --no-isolation twine check dist/*