From adacc419e7ba09c1c17a2b43256432b315124923 Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Fri, 19 Nov 2021 15:51:39 +0100 Subject: [PATCH] Add support for Python 3.10. (#988) * Update to current versions. Co-authored-by: Jens Vagelpohl --- .github/workflows/tests.yml | 13 +++--- .gitignore | 2 + .meta.toml | 7 +++- CHANGES.rst | 6 ++- constraints.txt | 34 +++++++-------- requirements-full.txt | 34 +++++++-------- setup.py | 3 +- tox.ini | 4 +- versions-prod.cfg | 32 +++++++-------- versions.cfg | 82 ++++++++++++++++++------------------- 10 files changed, 113 insertions(+), 104 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 59c5c39fd4..f17e7f5ec1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,17 +21,18 @@ jobs: - windows config: # [Python version, tox env] - - ["3.8", "lint"] + - ["3.9", "lint"] - ["3.6", "py36"] - ["3.7", "py37"] - ["3.8", "py38"] - ["3.9", "py39"] - - ["3.8", "docs"] - - ["3.8", "coverage"] + - ["3.10", "py310"] + - ["3.9", "docs"] + - ["3.9", "coverage"] exclude: - - { os: windows, config: ["3.8", "lint"] } - - { os: windows, config: ["3.8", "docs"] } - - { os: windows, config: ["3.8", "coverage"] } + - { os: windows, config: ["3.9", "lint"] } + - { os: windows, config: ["3.9", "docs"] } + - { os: windows, config: ["3.9", "coverage"] } runs-on: ${{ matrix.os }}-latest name: ${{ matrix.os }}-${{ matrix.config[1] }} diff --git a/.gitignore b/.gitignore index f8055ebe90..5abcfe9ec0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,11 @@ # Generated from: # https://github.com/zopefoundation/meta/tree/master/config/zope-product +*.dll *.egg-info/ *.profraw *.pyc *.pyo +*.so .coverage .coverage.* .eggs/ diff --git a/.meta.toml b/.meta.toml index 9da3b03d98..2fc292d66c 100644 --- a/.meta.toml +++ b/.meta.toml @@ -2,15 +2,15 @@ # https://github.com/zopefoundation/meta/tree/master/config/zope-product [meta] template = "zope-product" -commit-id = "10891b6cf9212ecd48f9bc70138aa14324d6a2b0" +commit-id = "4b216b8aa60ef769d82827f7087507800a468972" [python] -with-appveyor = false with-pypy = false with-legacy-python = false with-docs = true with-sphinx-doctests = false with-windows = true +with-future-python = false [coverage] fail-under = 80 @@ -29,6 +29,9 @@ additional-config = [ ] [tox] +testenv-deps = [ + "wheel", + ] additional-envlist = [ "pre-commit", ] diff --git a/CHANGES.rst b/CHANGES.rst index 3ef50b0355..9bdbf0f6d0 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -8,8 +8,10 @@ The change log for the previous version, Zope 4, is at https://github.com/zopefoundation/Zope/blob/4.x/CHANGES.rst -5.3.1 (unreleased) ------------------- +5.4 (unreleased) +---------------- + +- Add support for Python 3.10. - Update to newest compatible versions of dependencies. diff --git a/constraints.txt b/constraints.txt index 40cf48ef6f..259ac9a95f 100644 --- a/constraints.txt +++ b/constraints.txt @@ -1,5 +1,5 @@ AccessControl==5.2 -Acquisition==4.8 +Acquisition==4.9 AuthEncoding==4.3 BTrees==4.9.2 Chameleon==3.9.1 @@ -12,18 +12,18 @@ Paste==3.5.0 PasteDeploy==2.1.1 Persistence==3.1 Products.BTreeFolder2==4.3 -Products.ZCatalog==6.0 +Products.ZCatalog==6.1 Record==3.5 -RestrictedPython==5.1 +RestrictedPython==5.2 SecretStorage==3.3.1 -WSGIProxy2==0.4.6 +WSGIProxy2==0.5.1 WebOb==1.8.7 -WebTest==2.0.35 +WebTest==3.0.0 ZConfig==3.6.0 -ZEO==5.2.2 +ZEO==5.2.3 ZODB==5.6.0 Zope2==4.0 -cryptography==3.4.7 +cryptography==35.0.0 five.localsitemanager==3.2.2 funcsigs==1.0.2 future==0.18.2 @@ -31,19 +31,19 @@ ipaddress==1.0.23 jeepney==0.7.1 mock==4.0.3 multipart==0.2.4 -pbr==5.6.0 +pbr==5.8.0 persistent==4.7.0 -pytz==2021.1 +pytz==2021.3 roman==3.3 shutilwhich==1.1.0 six==1.16.0 transaction==3.0.1 waitress==2.0.0 z3c.pt==3.3.0 -zExceptions==4.1 +zExceptions==4.2 zc.lockfile==2.0 zdaemon==4.3 -zodbpickle==2.0.0 +zodbpickle==2.2.0 zope.annotation==4.7.0 zope.browser==2.3 zope.browsermenu==4.4 @@ -63,7 +63,7 @@ zope.dottedname==4.3 zope.event==4.5.0 zope.exceptions==4.4 zope.filerepresentation==5.0.0 -zope.formlib==4.7.1 +zope.formlib==5.0.1 zope.globalrequest==1.5 zope.hookable==5.1.0 zope.i18n==4.8.0 @@ -71,16 +71,16 @@ zope.i18nmessageid==5.0.1 zope.interface==5.4.0 zope.lifecycleevent==4.3.0 zope.location==4.2 -zope.pagetemplate==4.5.0 +zope.pagetemplate==4.6.0 zope.processlifetime==2.3.0 -zope.proxy==4.4.0 +zope.proxy==4.5.0 zope.ptresource==4.2.0 zope.publisher==6.0.2 zope.ramcache==2.3 -zope.schema==6.1.0 +zope.schema==6.2.0 zope.security==5.1.1 zope.sendmail==5.2 -zope.sequencesort==4.1.2 +zope.sequencesort==4.2 zope.site==4.5.0 zope.size==4.3 zope.structuredtext==4.3 @@ -88,6 +88,6 @@ zope.tal==4.5 zope.tales==5.1 zope.testbrowser==5.5.1 zope.testing==4.9 -zope.testrunner==5.3.0 +zope.testrunner==5.4.0 zope.traversing==4.4.1 zope.viewlet==4.2.1 diff --git a/requirements-full.txt b/requirements-full.txt index ee0a26cd84..9a55a88cee 100644 --- a/requirements-full.txt +++ b/requirements-full.txt @@ -1,6 +1,6 @@ -e git+https://github.com/zopefoundation/Zope.git@master#egg=Zope AccessControl==5.2 -Acquisition==4.8 +Acquisition==4.9 AuthEncoding==4.3 BTrees==4.9.2 Chameleon==3.9.1 @@ -13,18 +13,18 @@ Paste==3.5.0 PasteDeploy==2.1.1 Persistence==3.1 Products.BTreeFolder2==4.3 -Products.ZCatalog==6.0 +Products.ZCatalog==6.1 Record==3.5 -RestrictedPython==5.1 +RestrictedPython==5.2 SecretStorage==3.3.1 -WSGIProxy2==0.4.6 +WSGIProxy2==0.5.1 WebOb==1.8.7 -WebTest==2.0.35 +WebTest==3.0.0 ZConfig==3.6.0 -ZEO==5.2.2 +ZEO==5.2.3 ZODB==5.6.0 Zope2==4.0 -cryptography==3.4.7 +cryptography==35.0.0 five.localsitemanager==3.2.2 funcsigs==1.0.2 future==0.18.2 @@ -32,19 +32,19 @@ ipaddress==1.0.23 jeepney==0.7.1 mock==4.0.3 multipart==0.2.4 -pbr==5.6.0 +pbr==5.8.0 persistent==4.7.0 -pytz==2021.1 +pytz==2021.3 roman==3.3 shutilwhich==1.1.0 six==1.16.0 transaction==3.0.1 waitress==2.0.0 z3c.pt==3.3.0 -zExceptions==4.1 +zExceptions==4.2 zc.lockfile==2.0 zdaemon==4.3 -zodbpickle==2.0.0 +zodbpickle==2.2.0 zope.annotation==4.7.0 zope.browser==2.3 zope.browsermenu==4.4 @@ -64,7 +64,7 @@ zope.dottedname==4.3 zope.event==4.5.0 zope.exceptions==4.4 zope.filerepresentation==5.0.0 -zope.formlib==4.7.1 +zope.formlib==5.0.1 zope.globalrequest==1.5 zope.hookable==5.1.0 zope.i18n==4.8.0 @@ -72,16 +72,16 @@ zope.i18nmessageid==5.0.1 zope.interface==5.4.0 zope.lifecycleevent==4.3.0 zope.location==4.2 -zope.pagetemplate==4.5.0 +zope.pagetemplate==4.6.0 zope.processlifetime==2.3.0 -zope.proxy==4.4.0 +zope.proxy==4.5.0 zope.ptresource==4.2.0 zope.publisher==6.0.2 zope.ramcache==2.3 -zope.schema==6.1.0 +zope.schema==6.2.0 zope.security==5.1.1 zope.sendmail==5.2 -zope.sequencesort==4.1.2 +zope.sequencesort==4.2 zope.site==4.5.0 zope.size==4.3 zope.structuredtext==4.3 @@ -89,6 +89,6 @@ zope.tal==4.5 zope.tales==5.1 zope.testbrowser==5.5.1 zope.testing==4.9 -zope.testrunner==5.3.0 +zope.testrunner==5.4.0 zope.traversing==4.4.1 zope.viewlet==4.2.1 diff --git a/setup.py b/setup.py index 2169044175..b1e7721995 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ def _read_file(filename): README = _read_file('README.rst') CHANGES = _read_file('CHANGES.rst') -version = '5.3.1.dev0' +version = '5.4.dev0' setup( @@ -59,6 +59,7 @@ def _read_file(filename): "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", diff --git a/tox.ini b/tox.ini index 63a5292cfd..74f7724804 100644 --- a/tox.ini +++ b/tox.ini @@ -8,6 +8,7 @@ envlist = py37 py38 py39 + py310 docs coverage pre-commit @@ -18,6 +19,7 @@ skip_install = true deps = setuptools < 52 zc.buildout + wheel commands_pre = {envbindir}/buildout -c {toxinidir}/buildout.cfg buildout:directory={envdir} buildout:develop={toxinidir} install alltests commands = @@ -79,8 +81,6 @@ commands = [testenv:docs] basepython = python3 skip_install = false -# Until repoze.sphinx.autointerface supports Sphinx 4.x we cannot use it: -deps = Sphinx < 4 extras = docs commands_pre = diff --git a/versions-prod.cfg b/versions-prod.cfg index 5299ab5c27..1910a4d1b5 100644 --- a/versions-prod.cfg +++ b/versions-prod.cfg @@ -5,7 +5,7 @@ Zope = Zope2 = 4.0 AccessControl = 5.2 -Acquisition = 4.8 +Acquisition = 4.9 AuthEncoding = 4.3 BTrees = 4.9.2 Chameleon = 3.9.1 @@ -18,17 +18,17 @@ Paste = 3.5.0 PasteDeploy = 2.1.1 Persistence = 3.1 Products.BTreeFolder2 = 4.3 -Products.ZCatalog = 6.0 +Products.ZCatalog = 6.1 Record = 3.5 -RestrictedPython = 5.1 +RestrictedPython = 5.2 SecretStorage = 3.3.1 -WSGIProxy2 = 0.4.6 +WSGIProxy2 = 0.5.1 WebOb = 1.8.7 -WebTest = 2.0.35 +WebTest = 3.0.0 ZConfig = 3.6.0 -ZEO = 5.2.2 +ZEO = 5.2.3 ZODB = 5.6.0 -cryptography = 3.4.7 +cryptography = 35.0.0 five.localsitemanager = 3.2.2 funcsigs = 1.0.2 future = 0.18.2 @@ -36,16 +36,16 @@ ipaddress = 1.0.23 jeepney = 0.7.1 mock = 4.0.3 multipart = 0.2.4 -pbr = 5.6.0 +pbr = 5.8.0 persistent = 4.7.0 -pytz = 2021.1 +pytz = 2021.3 roman = 3.3 shutilwhich = 1.1.0 six = 1.16.0 transaction = 3.0.1 waitress = 2.0.0 z3c.pt = 3.3.0 -zExceptions = 4.1 +zExceptions = 4.2 zc.lockfile = 2.0 zdaemon = 4.3 zodbpickle = 2.2.0 @@ -68,7 +68,7 @@ zope.dottedname = 4.3 zope.event = 4.5.0 zope.exceptions = 4.4 zope.filerepresentation = 5.0.0 -zope.formlib = 4.7.1 +zope.formlib = 5.0.1 zope.globalrequest = 1.5 zope.hookable = 5.1.0 zope.i18n = 4.8.0 @@ -76,16 +76,16 @@ zope.i18nmessageid = 5.0.1 zope.interface = 5.4.0 zope.lifecycleevent = 4.3.0 zope.location = 4.2 -zope.pagetemplate = 4.5.0 +zope.pagetemplate = 4.6.0 zope.processlifetime = 2.3.0 -zope.proxy = 4.4.0 +zope.proxy = 4.5.0 zope.ptresource = 4.2.0 zope.publisher = 6.0.2 zope.ramcache = 2.3 -zope.schema = 6.1.0 +zope.schema = 6.2.0 zope.security = 5.1.1 zope.sendmail = 5.2 -zope.sequencesort = 4.1.2 +zope.sequencesort = 4.2 zope.site = 4.5.0 zope.size = 4.3 zope.structuredtext = 4.3 @@ -93,6 +93,6 @@ zope.tal = 4.5 zope.tales = 5.1 zope.testbrowser = 5.5.1 zope.testing = 4.9 -zope.testrunner = 5.3.0 +zope.testrunner = 5.4.0 zope.traversing = 4.4.1 zope.viewlet = 4.2.1 diff --git a/versions.cfg b/versions.cfg index 63b992c3da..0714e4b91d 100644 --- a/versions.cfg +++ b/versions.cfg @@ -6,64 +6,64 @@ versions = versions [versions] # Version pins for development and optional dependencies. Babel = 2.9.1 -Jinja2 = 3.0.1 +Jinja2 = 3.0.3 MarkupSafe = 2.0.1 -Pygments = 2.9.0 -Sphinx = 4.1.2 +Pygments = 2.10.0 +Sphinx = 4.3.0 alabaster = 0.7.12 appdirs = 1.4.4 attrs = 21.2.0 -backports.entry-points-selectable = 1.1.0 +backports.entry-points-selectable = 1.1.1 backports.functools-lru-cache = 1.6.4 -beautifulsoup4 = 4.9.3 -bleach = 3.3.1 +beautifulsoup4 = 4.10.0 +bleach = 4.1.0 buildout.wheel = 0.2.0 -certifi = 2021.5.30 -cffi = 1.14.6 +certifi = 2021.10.8 +cffi = 1.15.0 chardet = 4.0.0 -charset-normalizer = 2.0.4 +charset-normalizer = 2.0.7 cmarkgfm = 0.6.0 collective.recipe.cmd = 0.11 collective.recipe.sphinxbuilder = 1.1 collective.recipe.template = 2.1 colorama = 0.4.4 -configparser = 5.0.2 +configparser = 5.1.0 contextlib2 = 21.6.0 -coverage = 5.5 -distlib = 0.3.2 -# sphinx-rtd-theme 0.5.2 requires docutils <0.17 -docutils = 0.16 +coverage = 6.1.2 +distlib = 0.3.3 +# sphinx-rtd-theme 1.0.0 requires docutils <0.18 +docutils = 0.17 entrypoints = 0.3 -filelock = 3.0.12 -idna = 3.2 -imagesize = 1.2.0 -importlib-metadata = 4.6.2 -keyring = 23.0.1 -lxml = 4.6.3 +filelock = 3.4.0 +idna = 3.3 +imagesize = 1.3.0 +importlib-metadata = 4.8.2 +keyring = 23.2.1 +lxml = 4.6.4 manuel = 1.10.1 -more-itertools = 8.8.0 +more-itertools = 8.11.0 mr.developer = 2.0.1 nose = 1.3.7 -packaging = 21.0 +packaging = 21.3 pathlib2 = 2.3.6 -pip = 21.2.2 -pkginfo = 1.7.1 -platformdirs = 2.2.0 +pip = 21.3.1 +pkginfo = 1.8.1 +platformdirs = 2.4.0 plone.recipe.command = 1.1 -pluggy = 0.13.1 -py = 1.10.0 -pycparser = 2.20 -pyparsing = 2.4.7 +pluggy = 1.0.0 +py = 1.11.0 +pycparser = 2.21 +pyparsing = 3.0.6 python-gettext = 4.0 -readme-renderer = 29.0 +readme-renderer = 30.0 repoze.sphinx.autointerface = 0.8 requests = 2.26.0 requests-toolbelt = 0.9.1 rfc3986 = 1.5.0 scandir = 1.10.0 -snowballstemmer = 2.1.0 -soupsieve = 2.2.1 -sphinx-rtd-theme = 0.5.2 +snowballstemmer = 2.2.0 +soupsieve = 2.3.1 +sphinx-rtd-theme = 1.0.0 sphinxcontrib-applehelp = 1.0.2 sphinxcontrib-devhelp = 1.0.2 sphinxcontrib-htmlhelp = 2.0.0 @@ -73,17 +73,17 @@ sphinxcontrib-serializinghtml = 1.1.5 sphinxcontrib-websupport = 1.2.4 tempstorage = 5.2 toml = 0.10.2 -tox = 3.24.0 -tqdm = 4.62.0 -twine = 3.4.2 +tox = 3.24.4 +tqdm = 4.62.3 +twine = 3.6.0 typing = 3.10.0.0 -urllib3 = 1.26.6 -virtualenv = 20.6.0 +urllib3 = 1.26.7 +virtualenv = 20.10.0 webencodings = 0.5.1 -wheel = 0.36.2 +wheel = 0.37.0 z3c.checkversions = 1.2 zc.recipe.egg = 2.0.7 zc.recipe.testrunner = 2.2 -zest.releaser = 6.22.1 -zipp = 3.5.0 +zest.releaser = 6.22.2 +zipp = 3.6.0 zodbupdate = 1.5