Skip to content

Commit

Permalink
Preliminary support for Python 3.13, second try (#1215)
Browse files Browse the repository at this point in the history
* - try Python 3.13

* - use legacy-cgi module to overcome WebOb issue

* - there's no reason to exclude future_python on macOS anymore

* - use latest zope.testbrowser and remove dependency on legacy-cgi

* - add explanatory note for legacy-cgi version pin
  • Loading branch information
dataflake authored May 31, 2024
1 parent cb1a4fb commit 054c258
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 13 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ jobs:
- ["3.10", "py310"]
- ["3.11", "py311"]
- ["3.12", "py312"]
- ["3.13", "py313"]
- ["3.9", "docs"]
- ["3.9", "coverage"]
exclude:
Expand All @@ -50,6 +51,7 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.config[0] }}
allow-prereleases: true
- name: Pip cache
uses: actions/cache@v4
with:
Expand Down
6 changes: 3 additions & 3 deletions .meta.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
# https://github.com/zopefoundation/meta/tree/master/config/zope-product
[meta]
template = "zope-product"
commit-id = "8d837c89"
commit-id = "6cd77955"

[python]
with-pypy = false
with-docs = true
with-sphinx-doctests = false
with-windows = true
with-macos = true
with-future-python = false
with-future-python = true

[coverage]
fail-under = 80
Expand All @@ -30,7 +30,7 @@ additional-config = [

[tox]
testenv-deps = [
"cffi",
"cffi >= 1.17.0rc1",
"# The universal2 environment is for Python on macOS built with",
"# universal2 mode instead of architecture-specific. These dependencies",
"# must be installed separately, zc.buildout is incompatible with the",
Expand Down
11 changes: 8 additions & 3 deletions constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,20 @@ MultiMapping==5.0
Paste==3.10.1
PasteDeploy==3.1.0
Persistence==5.0
RestrictedPython==7.1
RestrictedPython==7.1; python_version == '3.10'
RestrictedPython==7.1; python_version == '3.11'
RestrictedPython==7.1; python_version == '3.12'
RestrictedPython==7.1; python_version == '3.8'
RestrictedPython==7.1; python_version == '3.9'
RestrictedPython==7.2a1.dev0; python_version > '3.12'
WSGIProxy2==0.5.1
WebOb==1.8.7
WebTest==3.0.0
ZConfig==4.1
ZODB==6.0
Zope2==4.0
beautifulsoup4==4.12.3
cffi==1.16.0
cffi==1.17.0rc1
multipart==0.2.4
persistent==6.0
pycparser==2.22
Expand Down Expand Up @@ -73,7 +78,7 @@ zope.size==5.0
zope.structuredtext==5.0
zope.tal==5.0.1
zope.tales==6.0
zope.testbrowser==6.0
zope.testbrowser==7.0
zope.testing==5.0.1
zope.traversing==5.0
zope.viewlet==5.0
11 changes: 8 additions & 3 deletions requirements-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,20 @@ MultiMapping==5.0
Paste==3.10.1
PasteDeploy==3.1.0
Persistence==5.0
RestrictedPython==7.1
RestrictedPython==7.1; python_version == '3.10'
RestrictedPython==7.1; python_version == '3.11'
RestrictedPython==7.1; python_version == '3.12'
RestrictedPython==7.1; python_version == '3.8'
RestrictedPython==7.1; python_version == '3.9'
RestrictedPython==7.2a1.dev0; python_version > '3.12'
WSGIProxy2==0.5.1
WebOb==1.8.7
WebTest==3.0.0
ZConfig==4.1
ZODB==6.0
Zope2==4.0
beautifulsoup4==4.12.3
cffi==1.16.0
cffi==1.17.0rc1
multipart==0.2.4
persistent==6.0
pycparser==2.22
Expand Down Expand Up @@ -74,7 +79,7 @@ zope.size==5.0
zope.structuredtext==5.0
zope.tal==5.0.1
zope.tales==6.0
zope.testbrowser==6.0
zope.testbrowser==7.0
zope.testing==5.0.1
zope.traversing==5.0
zope.viewlet==5.0
3 changes: 2 additions & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ envlist =
py310
py311
py312
py313
docs
coverage
pre-commit
Expand All @@ -20,7 +21,7 @@ deps =
setuptools < 69
zc.buildout >= 3.0.1
wheel > 0.37
cffi
cffi >= 1.17.0rc1
# The universal2 environment is for Python on macOS built with
# universal2 mode instead of architecture-specific. These dependencies
# must be installed separately, zc.buildout is incompatible with the
Expand Down
24 changes: 21 additions & 3 deletions versions-prod.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ MultiMapping = 5.0
Paste = 3.10.1
PasteDeploy = 3.1.0
Persistence = 5.0
RestrictedPython = 7.1
RestrictedPython = 7.2a1.dev0
WebTest = 3.0.0
WSGIProxy2 = 0.5.1
WebOb = 1.8.7
ZConfig = 4.1
ZODB = 6.0
beautifulsoup4 = 4.12.3
cffi = 1.16.0
cffi = 1.17.0rc1
multipart = 0.2.4
persistent = 6.0
pycparser = 2.22
Expand Down Expand Up @@ -77,11 +77,29 @@ zope.size = 5.0
zope.structuredtext = 5.0
zope.tal = 5.0.1
zope.tales = 6.0
zope.testbrowser = 6.0
zope.testbrowser = 7.0
zope.testing = 5.0.1
zope.traversing = 5.0
zope.viewlet = 5.0

[versions:python38]
# Chameleon >= 4.5 requires Python 3.9
Chameleon = 4.4.4
# Use newest final release
RestrictedPython = 7.1

[versions:python39]
# Use newest final release
RestrictedPython = 7.1

[versions:python310]
# Use newest final release
RestrictedPython = 7.1

[versions:python311]
# Use newest final release
RestrictedPython = 7.1

[versions:python312]
# Use newest final release
RestrictedPython = 7.1
2 changes: 2 additions & 0 deletions versions.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ five.localsitemanager = 4.0
idna = 3.7
imagesize = 1.4.1
importlib-metadata = 7.1.0
# Required by zope.testbrowser on Python 3.13 because WebOb still uses cgi.
legacy-cgi = 2.6
mr.developer = 2.0.2
packaging = 24.0
plone.recipe.command = 1.1
Expand Down

0 comments on commit 054c258

Please sign in to comment.