From 16d4c60e0eca8f99cb9b5ea8292443bae1036aeb Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Tue, 14 May 2024 09:13:09 +0200 Subject: [PATCH 1/4] Support Python 3.13 --- .github/workflows/tests.yml | 2 ++ .meta.toml | 4 ++-- tox.ini | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7e2d1fb..14ebf1b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -28,6 +28,7 @@ jobs: - ["3.10", "py310"] - ["3.11", "py311"] - ["3.12", "py312"] + - ["3.13", "py313"] - ["pypy-3.10", "pypy3"] - ["3.9", "docs"] - ["3.9", "coverage"] @@ -41,6 +42,7 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.config[0] }} + allow-prereleases: true - name: Pip cache uses: actions/cache@v4 with: diff --git a/.meta.toml b/.meta.toml index f5a50fb..9904c8b 100644 --- a/.meta.toml +++ b/.meta.toml @@ -2,12 +2,12 @@ # https://github.com/zopefoundation/meta/tree/master/config/pure-python [meta] template = "pure-python" -commit-id = "7713fd86" +commit-id = "e7051a16" [python] with-windows = false with-pypy = true -with-future-python = false +with-future-python = true with-docs = true with-sphinx-doctests = false with-macos = false diff --git a/tox.ini b/tox.ini index 040f33c..29ffc2d 100644 --- a/tox.ini +++ b/tox.ini @@ -11,6 +11,7 @@ envlist = py310 py311 py312 + py313 pypy3 docs coverage @@ -19,6 +20,7 @@ envlist = usedevelop = true package = wheel wheel_build_env = .pkg +pip_pre = py313: true deps = setenv = py312: VIRTUALENV_PIP=23.1.2 From 7d4cbabc5f450ac4d9e228d79778c21805136b2c Mon Sep 17 00:00:00 2001 From: dieter Date: Sat, 18 May 2024 07:12:53 +0200 Subject: [PATCH 2/4] Fix test failure for Python3.13b1 --- CHANGES.rst | 3 +++ .../components/logger/tests/test_logger.py | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index baa0ce4..712100d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ 4.2 (unreleased) ================ +- Fix test failure for Python 3.13b1 + (`#97 `_). + 4.1 (2024-05-03) ================ diff --git a/src/ZConfig/components/logger/tests/test_logger.py b/src/ZConfig/components/logger/tests/test_logger.py index b81bdfc..ce8b446 100644 --- a/src/ZConfig/components/logger/tests/test_logger.py +++ b/src/ZConfig/components/logger/tests/test_logger.py @@ -699,8 +699,19 @@ def test_filehandler_reopen_thread_safety(self): h = self.handler_factory(fn) calls = [] - h.acquire = lambda: calls.append("acquire") - h.release = lambda: calls.append("release") + + class _LockMockup: + def acquire(*args, **kw): + calls.append("acquire") + + __enter__ = acquire + + def release(*args, **kw): + calls.append("release") + + __exit__ = release + + h.lock = _LockMockup() h.reopen() self.assertEqual(calls, ["acquire", "release"]) From ce064966ba143205cfa05814abd1e39c8661affa Mon Sep 17 00:00:00 2001 From: dieter Date: Sat, 18 May 2024 07:24:41 +0200 Subject: [PATCH 3/4] remove CHANGES.rst entry --- CHANGES.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 712100d..baa0ce4 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,9 +5,6 @@ 4.2 (unreleased) ================ -- Fix test failure for Python 3.13b1 - (`#97 `_). - 4.1 (2024-05-03) ================ From 4657f98632cfe75d77743fe0e76d6d1360e0f03e Mon Sep 17 00:00:00 2001 From: Tres Seaver Date: Sat, 18 May 2024 09:38:34 -0400 Subject: [PATCH 4/4] chore: add Python 3.13 support --- CHANGES.rst | 2 ++ setup.py | 1 + 2 files changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index baa0ce4..2d0c9b6 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,8 @@ 4.2 (unreleased) ================ +- Add support for Python 3.13. + 4.1 (2024-05-03) ================ diff --git a/setup.py b/setup.py index d5fa795..c272965 100644 --- a/setup.py +++ b/setup.py @@ -68,6 +68,7 @@ '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', 'Operating System :: OS Independent',