Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 32 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ jobs:
- ["3.12", "py312"]
- ["3.13", "py313"]
- ["3.14", "py314"]
- ["3.15", "py315"]
- ["pypy-3.11", "pypy3"]
- ["3.11", "docs"]
- ["3.11", "coverage"]
Expand All @@ -41,8 +42,8 @@ jobs:
with:
persist-credentials: false
- name: Install uv + caching
# astral/setup-uv@7.2.0
uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b
# astral/setup-uv@8.1.0
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b
with:
enable-cache: true
cache-dependency-glob: |
Expand All @@ -58,3 +59,32 @@ jobs:
uvx coveralls --service=github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Build package artifacts
if: >
matrix.os[0] == 'ubuntu'
&& matrix.config[1] == 'py314'
run: |
rm -f dist/*
pip install -U packaging "setuptools >= 78.1.1,< 82" wheel twine
python setup.py sdist
python setup.py bdist_wheel

- name: Upload package wheel
if: >
matrix.os[0] == 'ubuntu'
&& matrix.config[1] == 'py314'
uses: actions/upload-artifact@v7
with:
name: zope.formlib.whl
path: dist/*whl

- name: Upload package source distribution
if: >
matrix.os[0] == 'ubuntu'
&& matrix.config[1] == 'py314'
uses: actions/upload-artifact@v7
with:
name: zope.formlib.tar.gz
path: dist/*gz

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ lib64
log/
parts/
pyvenv.cfg
share/
testing.log
var/
5 changes: 3 additions & 2 deletions .meta.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
[meta]
template = "pure-python"
commit-id = "f6df9072"
commit-id = "516c594a"

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

[coverage]
fail-under = 93
Expand Down
3 changes: 2 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
minimum_pre_commit_version: '3.6'
repos:
- repo: https://github.com/pycqa/isort
rev: "7.0.0"
rev: "8.0.1"
hooks:
- id: isort
- repo: https://github.com/hhatto/autopep8
Expand All @@ -20,6 +20,7 @@ repos:
rev: 0.4.3
hooks:
- id: teyit
language_version: python3.13
- repo: https://github.com/PyCQA/flake8
rev: "7.3.0"
hooks:
Expand Down
2 changes: 2 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

- Add support for Python 3.14.

- Fix tests to accommodate the changed ``pprint`` output on Python 3.15.

- Drop support for Python 3.9.


Expand Down
4 changes: 1 addition & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
[build-system]
requires = [
"setuptools >= 78.1.1,< 81",
"setuptools >= 78.1.1,< 82",
"wheel",
]
build-backend = "setuptools.build_meta"


[project]
name = "zope.formlib"
version = "7.1.dev0"
Expand Down Expand Up @@ -40,7 +39,6 @@ maintainers = [
{name = "Plone Foundation and contributors",email = "zope-dev@zope.dev"},
]
dependencies = [
"setuptools",
"pytz",
"zope.browser>=1.1",
"zope.browserpage>=3.11.0",
Expand Down
1 change: 0 additions & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python

[flake8]
doctests = 1
# F401 imported but unused
Expand Down
11 changes: 11 additions & 0 deletions src/zope/formlib/tests/test_formlib.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#
##############################################################################

import re
import unittest

import pytz
Expand Down Expand Up @@ -767,6 +768,16 @@ def test_suite():
'../form.rst',
setUp=formSetUp, tearDown=tearDown,
optionflags=doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS,
# Python 3.15 changed pprint to put each item of a wrapped
# collection on its own line, indent it, and append a trailing
# comma after the last item. Normalize the whitespace around
# brackets and drop the trailing comma so the expected output
# matches on all supported Python versions.
checker=zope.testing.renormalizing.RENormalizing([
(re.compile(r',(\s*[}\])])'), r'\1'),
(re.compile(r'([{[(])\s+'), r'\1'),
(re.compile(r'\s+([}\])])'), r'\1'),
]),
),
doctest.DocTestSuite(setUp=formSetUp, tearDown=tearDown),
doctest.DocTestSuite('zope.formlib.errors'),
Expand Down
8 changes: 5 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ envlist =
py312
py313
py314
py315
pypy3
docs
coverage
Expand All @@ -18,8 +19,9 @@ envlist =
usedevelop = true
package = wheel
wheel_build_env = .pkg
pip_pre = py315: true
deps =
setuptools >= 78.1.1,< 81
setuptools >= 78.1.1,< 82
setenv =
ZOPE_INTERFACE_STRICT_IRO=1
commands =
Expand All @@ -37,12 +39,12 @@ description = ensure that the distribution is ready to release
basepython = python3
skip_install = true
deps =
setuptools >= 78.1.1,< 81
setuptools >= 78.1.1,< 82
wheel
twine
build
check-manifest
check-python-versions >= 0.20.0
check-python-versions >= 0.24.2
wheel
commands_pre =
commands =
Expand Down
Loading