diff --git a/.editorconfig b/.editorconfig index d054af1..55bfb6d 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,5 +1,5 @@ # Generated from: -# https://github.com/plone/meta/tree/main/src/plone/meta/default +# https://github.com/plone/meta/tree/2.x/src/plone/meta/default # See the inline comments on how to expand/tweak this configuration file # # EditorConfig Configuration file, for more details see: diff --git a/.flake8 b/.flake8 index 3e2d35f..ff17672 100644 --- a/.flake8 +++ b/.flake8 @@ -1,5 +1,5 @@ # Generated from: -# https://github.com/plone/meta/tree/main/src/plone/meta/default +# https://github.com/plone/meta/tree/2.x/src/plone/meta/default # See the inline comments on how to expand/tweak this configuration file [flake8] doctests = 1 diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e5e4522..8da3888 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,5 +1,5 @@ # Generated from: -# https://github.com/plone/meta/tree/main/src/plone/meta/default +# https://github.com/plone/meta/tree/2.x/src/plone/meta/default # See the inline comments on how to expand/tweak this configuration file version: 2 updates: diff --git a/.github/workflows/meta.yml b/.github/workflows/meta.yml index f9a346f..df9c753 100644 --- a/.github/workflows/meta.yml +++ b/.github/workflows/meta.yml @@ -1,16 +1,10 @@ # Generated from: -# https://github.com/plone/meta/tree/main/src/plone/meta/default +# https://github.com/plone/meta/tree/2.x/src/plone/meta/default # See the inline comments on how to expand/tweak this configuration file name: Meta + on: push: - branches: - - master - - main - pull_request: - branches: - - master - - main workflow_dispatch: ## diff --git a/.github/workflows/test-matrix.yml b/.github/workflows/test-matrix.yml index 05872b5..de94628 100644 --- a/.github/workflows/test-matrix.yml +++ b/.github/workflows/test-matrix.yml @@ -1,10 +1,11 @@ # Generated from: -# https://github.com/plone/meta/tree/main/src/plone/meta/default +# https://github.com/plone/meta/tree/2.x/src/plone/meta/default # See the inline comments on how to expand/tweak this configuration file name: Tests on: push: + workflow_dispatch: jobs: build: @@ -19,7 +20,7 @@ jobs: - ["ubuntu", "ubuntu-latest"] config: # [Python version, visual name, tox env] - - ["3.13", "6.2 on py3.13", "py313-plone62"] + - ["3.14", "6.2 on py3.14", "py314-plone62"] - ["3.10", "6.2 on py3.10", "py310-plone62"] runs-on: ${{ matrix.os[1] }} @@ -29,11 +30,15 @@ jobs: - uses: actions/checkout@v6 with: persist-credentials: false - - name: Set up Python - uses: actions/setup-python@v6 + - name: Install uv + caching + uses: astral-sh/setup-uv@v8.0.0 with: + enable-cache: true + cache-dependency-glob: | + setup.* + tox.ini + pyproject.toml python-version: ${{ matrix.config[0] }} - allow-prereleases: true ## # Add extra configuration options in .meta.toml: @@ -42,25 +47,13 @@ jobs: # _your own configuration lines_ # """ ## - - name: Pip cache - uses: actions/cache@v5 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ matrix.config[0] }}-${{ hashFiles('setup.*', 'tox.ini') }} - restore-keys: | - ${{ runner.os }}-pip-${{ matrix.config[0] }}- - ${{ runner.os }}-pip- - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install tox - name: Initialize tox # the bash one-liner below does not work on Windows if: contains(matrix.os, 'ubuntu') run: | - if [ `tox list --no-desc -f init|wc -l` = 1 ]; then tox -e init;else true; fi + if [ `uvx tox list --no-desc -f init|wc -l` = 1 ]; then uvx --with tox-uv tox -e init;else true; fi - name: Test - run: tox -e ${{ matrix.config[2] }} + run: uvx --with tox-uv tox -e ${{ matrix.config[2] }} ## diff --git a/.gitignore b/.gitignore index a602abe..70377bd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # Generated from: -# https://github.com/plone/meta/tree/main/src/plone/meta/default +# https://github.com/plone/meta/tree/2.x/src/plone/meta/default # See the inline comments on how to expand/tweak this configuration file # python related *.egg-info diff --git a/.meta.toml b/.meta.toml index 728c559..51c414b 100644 --- a/.meta.toml +++ b/.meta.toml @@ -1,9 +1,9 @@ # Generated from: -# https://github.com/plone/meta/tree/main/src/plone/meta/default +# https://github.com/plone/meta/tree/2.x/src/plone/meta/default # See the inline comments on how to expand/tweak this configuration file [meta] template = "default" -commit-id = "2.2.0" +commit-id = "2.8.0" [tox] test_matrix = {"6.2" = ["*"]} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 26c3c6f..fd9a409 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,5 +1,5 @@ # Generated from: -# https://github.com/plone/meta/tree/main/src/plone/meta/default +# https://github.com/plone/meta/tree/2.x/src/plone/meta/default # See the inline comments on how to expand/tweak this configuration file ci: autofix_prs: false @@ -10,13 +10,13 @@ repos: rev: v3.21.2 hooks: - id: pyupgrade - args: [--py38-plus] + args: [--py310-plus] - repo: https://github.com/pycqa/isort - rev: 7.0.0 + rev: 8.0.1 hooks: - id: isort - repo: https://github.com/psf/black-pre-commit-mirror - rev: 25.12.0 + rev: 26.3.1 hooks: - id: black - repo: https://github.com/collective/zpretty @@ -44,7 +44,7 @@ repos: # """ ## - repo: https://github.com/codespell-project/codespell - rev: v2.4.1 + rev: v2.4.2 hooks: - id: codespell additional_dependencies: @@ -69,7 +69,7 @@ repos: rev: "0.24.0" hooks: - id: check-python-versions - args: ['--only', 'setup.py,pyproject.toml'] + args: ['--only', 'setup.py,tox.ini'] - repo: https://github.com/collective/i18ndude rev: "6.3.0" hooks: diff --git a/pyproject.toml b/pyproject.toml index c20adb6..d6d4b32 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,10 @@ # Generated from: -# https://github.com/plone/meta/tree/main/src/plone/meta/default +# https://github.com/plone/meta/tree/2.x/src/plone/meta/default # See the inline comments on how to expand/tweak this configuration file [build-system] -requires = ["setuptools>=68.2,<80", "wheel"] +requires = ["setuptools>=68.2,<83", "wheel"] + + [tool.towncrier] directory = "news/" @@ -60,7 +62,7 @@ profile = "plone" ## [tool.black] -target-version = ["py38"] +target-version = ["py310"] ## # Add extra configuration options in .meta.toml: diff --git a/setup.py b/setup.py index b0aaee2..a24c4dc 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,6 @@ from pathlib import Path from setuptools import setup - version = "3.0.0a2.dev0" long_description = ( @@ -25,6 +24,9 @@ "Programming Language :: Python", "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", ], keywords="Plone calendar calendaring event recurring", author="Plone Foundation", diff --git a/src/plone/event/recurrence.py b/src/plone/event/recurrence.py index d8355b2..e5338eb 100644 --- a/src/plone/event/recurrence.py +++ b/src/plone/event/recurrence.py @@ -9,7 +9,6 @@ import datetime import re - # TODO: make me configurable MAXCOUNT = 1000 # Maximum number of occurrences diff --git a/src/plone/event/tests/test_doctest.py b/src/plone/event/tests/test_doctest.py index 6e7b759..24ba2c8 100644 --- a/src/plone/event/tests/test_doctest.py +++ b/src/plone/event/tests/test_doctest.py @@ -4,7 +4,6 @@ import os.path import unittest - OPTIONFLAGS = doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS DOCFILES = [ "recurrence.rst", diff --git a/src/plone/event/utils.py b/src/plone/event/utils.py index 8b02004..a404990 100644 --- a/src/plone/event/utils.py +++ b/src/plone/event/utils.py @@ -7,7 +7,6 @@ import pytz import time - DSTADJUST = "adjust" DSTKEEP = "keep" DSTAUTO = "auto" @@ -556,12 +555,8 @@ def dt2int(dt): # TODO: unit test me if value > MAX32: # value must be integer fitting in the 32bit range - raise OverflowError( - """{} is not within the range of indexable dates,<< - exceeding 32bit range.""".format( - dt - ) - ) + raise OverflowError("""{} is not within the range of indexable dates,<< + exceeding 32bit range.""".format(dt)) return value diff --git a/tox.ini b/tox.ini index 0c802f0..5960e4e 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ # Generated from: -# https://github.com/plone/meta/tree/main/src/plone/meta/default +# https://github.com/plone/meta/tree/2.x/src/plone/meta/default # See the inline comments on how to expand/tweak this configuration file [tox] # We need 4.4.0 for constrain_package_deps. @@ -7,6 +7,7 @@ min_version = 4.4.0 envlist = lint test + py314-plone62 py313-plone62 py312-plone62 py311-plone62 @@ -18,6 +19,7 @@ envlist = # Add extra configuration options in .meta.toml: # - to specify a custom testing combination of Plone and python versions, use `test_matrix` # Use ["*"] to use all supported Python versions for this Plone version. +# - to disable the test matrix entirely, set `use_test_matrix = false` # - to specify extra custom environments, use `envlist_lines` # - to specify extra `tox` top-level options, use `config_lines` # [tox] @@ -62,9 +64,9 @@ description = check if the package defines all its dependencies skip_install = true deps = build - z3c.dependencychecker==2.14.3 + z3c.dependencychecker==3.0 commands = - python -m build --sdist + python -m build --wheel dependencychecker [testenv:dependencies-graph] @@ -130,6 +132,7 @@ extras = ## # Add extra configuration options in .meta.toml: # [tox] +# skip_test_extra = true # test_extras = """ # tests # widgets