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 ed3ca11..6c2c2bd 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 9393ac9..7744d43 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
@@ -45,7 +45,7 @@ repos:
# """
##
- repo: https://github.com/codespell-project/codespell
- rev: v2.4.1
+ rev: v2.4.2
hooks:
- id: codespell
additional_dependencies:
@@ -70,7 +70,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 929eb08..e062308 100644
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,6 @@
from pathlib import Path
from setuptools import setup
-
version = "4.0.0a2.dev0"
test_requires = [
@@ -29,6 +28,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 resource",
author="David Glick, Plone Foundation",
diff --git a/src/plone/resource/directory.py b/src/plone/resource/directory.py
index f4f8953..fc30585 100644
--- a/src/plone/resource/directory.py
+++ b/src/plone/resource/directory.py
@@ -20,7 +20,6 @@
import re
import zipfile
-
# filter dot files, Mac resource forks
FILTERS = (r"\..*", "__MACOSX")
FILTERS = [re.compile(pattern) for pattern in FILTERS]
diff --git a/src/plone/resource/manifest.py b/src/plone/resource/manifest.py
index 6c4445a..c0b993c 100644
--- a/src/plone/resource/manifest.py
+++ b/src/plone/resource/manifest.py
@@ -36,7 +36,6 @@
import logging
-
MANIFEST_FILENAME = "manifest.cfg"
LOGGER = logging.getLogger("plone.resource.manifest")
diff --git a/src/plone/resource/tests/test_manifest.py b/src/plone/resource/tests/test_manifest.py
index 5854d78..0877399 100644
--- a/src/plone/resource/tests/test_manifest.py
+++ b/src/plone/resource/tests/test_manifest.py
@@ -15,7 +15,6 @@
import unittest
import zipfile
-
base_path = os.path.dirname(__file__)
test_dir_path = os.path.join(base_path, "resources")
diff --git a/src/plone/resource/tests/test_traversal.py b/src/plone/resource/tests/test_traversal.py
index d1818b6..0c84179 100644
--- a/src/plone/resource/tests/test_traversal.py
+++ b/src/plone/resource/tests/test_traversal.py
@@ -14,7 +14,6 @@
import os.path
import unittest
-
base_path = os.path.dirname(__file__)
test_dir_path = os.path.join(base_path, "resources")
diff --git a/src/plone/resource/tests/test_utils.py b/src/plone/resource/tests/test_utils.py
index 57ccfb0..13073f2 100644
--- a/src/plone/resource/tests/test_utils.py
+++ b/src/plone/resource/tests/test_utils.py
@@ -9,7 +9,6 @@
import os.path
import unittest
-
base_path = os.path.dirname(__file__)
test_dir_path = os.path.join(base_path, "resources")
diff --git a/src/plone/resource/tests/test_zcml.py b/src/plone/resource/tests/test_zcml.py
index 1b7e561..1f69669 100644
--- a/src/plone/resource/tests/test_zcml.py
+++ b/src/plone/resource/tests/test_zcml.py
@@ -46,15 +46,13 @@ def tearDown(self):
tearDown()
def test_dist_with_name_and_type(self):
- runSnippet(
- """
+ runSnippet("""
- """
- )
+ """)
res = getUtility(IResourceDirectory, name="++theme++foo")
self.assertTrue(
@@ -75,14 +73,12 @@ def test_dist_rejects_with_missing_type(self):
)
def test_dist_with_type_only(self):
- runSnippet(
- """
+ runSnippet("""
- """
- )
+ """)
getUtility(IResourceDirectory, name="++theme++plone.resource.tests")
diff --git a/src/plone/resource/tests/test_zip_download.py b/src/plone/resource/tests/test_zip_download.py
index 7076709..3a2a490 100644
--- a/src/plone/resource/tests/test_zip_download.py
+++ b/src/plone/resource/tests/test_zip_download.py
@@ -12,7 +12,6 @@
import unittest
import zipfile
-
base_path = os.path.dirname(__file__)
test_dir_path = os.path.join(base_path, "resources")
diff --git a/tox.ini b/tox.ini
index 1d13f99..dfd5b9d 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