zope.meta 1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zope/meta/__init__.py +15 -0
- zope/meta/buildout-recipe/coveragerc.j2 +29 -0
- zope/meta/buildout-recipe/packages.txt +13 -0
- zope/meta/buildout-recipe/tox.ini.j2 +42 -0
- zope/meta/c-code/coveragerc.j2 +31 -0
- zope/meta/c-code/manylinux-install.sh.j2 +78 -0
- zope/meta/c-code/manylinux.sh +14 -0
- zope/meta/c-code/packages.txt +17 -0
- zope/meta/c-code/tests-cache.j2 +42 -0
- zope/meta/c-code/tests-download.j2 +6 -0
- zope/meta/c-code/tests-strategy.j2 +28 -0
- zope/meta/c-code/tests.yml.j2 +409 -0
- zope/meta/c-code/tox.ini.j2 +57 -0
- zope/meta/config_package.py +738 -0
- zope/meta/default/CONTRIBUTING.md +19 -0
- zope/meta/default/MANIFEST.in.j2 +18 -0
- zope/meta/default/editorconfig.txt +37 -0
- zope/meta/default/gitignore.j2 +33 -0
- zope/meta/default/pre-commit-config.yaml.j2 +29 -0
- zope/meta/default/pre-commit.yml.j2 +31 -0
- zope/meta/default/readthedocs.yaml.j2 +30 -0
- zope/meta/default/setup.cfg.j2 +58 -0
- zope/meta/default/tests.yml.j2 +141 -0
- zope/meta/default/tox-docs.j2 +22 -0
- zope/meta/default/tox-envlist.j2 +23 -0
- zope/meta/default/tox-lint.j2 +12 -0
- zope/meta/default/tox-release-check.j2 +17 -0
- zope/meta/default/tox-testenv.j2 +62 -0
- zope/meta/multi_call.py +69 -0
- zope/meta/pure-python/packages.txt +212 -0
- zope/meta/pure-python/tox.ini.j2 +41 -0
- zope/meta/re_enable_actions.py +63 -0
- zope/meta/set_branch_protection_rules.py +184 -0
- zope/meta/shared/__init__.py +0 -0
- zope/meta/shared/call.py +48 -0
- zope/meta/shared/git.py +51 -0
- zope/meta/shared/packages.py +184 -0
- zope/meta/shared/path.py +49 -0
- zope/meta/tests/__init__.py +1 -0
- zope/meta/tests/test_config_package.py +24 -0
- zope/meta/toolkit/packages.txt +5 -0
- zope/meta/toolkit/tox.ini.j2 +61 -0
- zope/meta/update_python_support.py +194 -0
- zope/meta/zope-product/packages.txt +33 -0
- zope/meta/zope-product/tox.ini.j2 +80 -0
- zope.meta-1.0-py3.11-nspkg.pth +1 -0
- zope.meta-1.0.dist-info/LICENSE.txt +44 -0
- zope.meta-1.0.dist-info/METADATA +75 -0
- zope.meta-1.0.dist-info/RECORD +53 -0
- zope.meta-1.0.dist-info/WHEEL +5 -0
- zope.meta-1.0.dist-info/entry_points.txt +6 -0
- zope.meta-1.0.dist-info/namespace_packages.txt +1 -0
- zope.meta-1.0.dist-info/top_level.txt +1 -0
zope/meta/__init__.py
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2024 Zope Foundation and Contributors.
|
|
4
|
+
# All Rights Reserved.
|
|
5
|
+
#
|
|
6
|
+
# This software is subject to the provisions of the Zope Public License,
|
|
7
|
+
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
|
8
|
+
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
|
9
|
+
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
10
|
+
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
|
11
|
+
# FOR A PARTICULAR PURPOSE.
|
|
12
|
+
#
|
|
13
|
+
##############################################################################
|
|
14
|
+
"""Zope Foundation packaging helpers
|
|
15
|
+
"""
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
[run]
|
|
2
|
+
source = %(coverage_run_source)s
|
|
3
|
+
branch = true
|
|
4
|
+
parallel = true
|
|
5
|
+
{% for line in coverage_run_additional_config %}
|
|
6
|
+
%(line)s
|
|
7
|
+
{% endfor %}
|
|
8
|
+
|
|
9
|
+
[paths]
|
|
10
|
+
source =
|
|
11
|
+
src/
|
|
12
|
+
.tox/*/lib/python*/site-packages/
|
|
13
|
+
.tox/pypy*/site-packages/
|
|
14
|
+
|
|
15
|
+
[report]
|
|
16
|
+
precision = 2
|
|
17
|
+
ignore_errors = True
|
|
18
|
+
exclude_lines =
|
|
19
|
+
except ImportError:
|
|
20
|
+
if __name__ == '__main__':
|
|
21
|
+
pragma: no cover
|
|
22
|
+
pragma: nocover
|
|
23
|
+
raise AssertionError
|
|
24
|
+
raise NotImplementedError
|
|
25
|
+
raise unittest.Skip
|
|
26
|
+
self.fail\(
|
|
27
|
+
|
|
28
|
+
[html]
|
|
29
|
+
directory = parts/htmlcov
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Packages configured as buildout recipe are listed here.
|
|
2
|
+
# Do not edit the file by hand but use the script config-package.py as
|
|
3
|
+
# described in README.rst
|
|
4
|
+
z3c.recipe.tag
|
|
5
|
+
zc.recipe.testrunner
|
|
6
|
+
z3c.recipe.mkdir
|
|
7
|
+
z3c.recipe.i18n
|
|
8
|
+
zc.recipe.cmmi
|
|
9
|
+
zdaemon
|
|
10
|
+
zc.recipe.filestorage
|
|
11
|
+
z3c.recipe.compattest
|
|
12
|
+
zc.relation
|
|
13
|
+
zc.zodbrecipes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{% set with_coverage = True %}
|
|
2
|
+
{% include 'tox-envlist.j2' %}
|
|
3
|
+
{% include 'tox-testenv.j2' %}
|
|
4
|
+
{% include 'tox-lint.j2' %}
|
|
5
|
+
{% include 'tox-docs.j2' %}
|
|
6
|
+
|
|
7
|
+
[testenv:coverage]
|
|
8
|
+
basepython = %(coverage_basepython)s
|
|
9
|
+
allowlist_externals =
|
|
10
|
+
mkdir
|
|
11
|
+
setenv =
|
|
12
|
+
{% if coverage_setenv %}
|
|
13
|
+
{% for line in coverage_setenv %}
|
|
14
|
+
%(line)s
|
|
15
|
+
{% endfor %}
|
|
16
|
+
{% else %}
|
|
17
|
+
COVERAGE_PROCESS_START={toxinidir}/pyproject.toml
|
|
18
|
+
{% endif %}
|
|
19
|
+
deps =
|
|
20
|
+
coverage[toml]
|
|
21
|
+
{% for line in testenv_deps %}
|
|
22
|
+
%(line)s
|
|
23
|
+
{% endfor %}
|
|
24
|
+
commands =
|
|
25
|
+
mkdir -p {toxinidir}/parts/htmlcov
|
|
26
|
+
coverage erase
|
|
27
|
+
{% if coverage_command %}
|
|
28
|
+
{% for line in coverage_command %}
|
|
29
|
+
%(line)s
|
|
30
|
+
{% endfor %}
|
|
31
|
+
{% else %}
|
|
32
|
+
coverage run -m zope.testrunner --test-path=src {posargs:-vc}
|
|
33
|
+
{% endif %}
|
|
34
|
+
{% if with_sphinx_doctests %}
|
|
35
|
+
coverage run -a -m sphinx -b doctest -d {envdir}/.cache/doctrees docs {envdir}/.cache/doctest
|
|
36
|
+
{% endif %}
|
|
37
|
+
coverage combine
|
|
38
|
+
coverage html
|
|
39
|
+
coverage report
|
|
40
|
+
{% for line in coverage_additional %}
|
|
41
|
+
%(line)s
|
|
42
|
+
{% endfor %}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
[run]
|
|
2
|
+
source = %(coverage_run_source)s
|
|
3
|
+
# New in 5.0; required for the GHA coveralls submission.
|
|
4
|
+
relative_files = True
|
|
5
|
+
branch = true
|
|
6
|
+
{% for line in coverage_run_additional_config %}
|
|
7
|
+
%(line)s
|
|
8
|
+
{% endfor %}
|
|
9
|
+
|
|
10
|
+
[paths]
|
|
11
|
+
source =
|
|
12
|
+
src/
|
|
13
|
+
.tox/*/lib/python*/site-packages/
|
|
14
|
+
.tox/pypy*/site-packages/
|
|
15
|
+
|
|
16
|
+
[report]
|
|
17
|
+
show_missing = true
|
|
18
|
+
precision = 2
|
|
19
|
+
ignore_errors = True
|
|
20
|
+
exclude_lines =
|
|
21
|
+
except ImportError:
|
|
22
|
+
if __name__ == '__main__':
|
|
23
|
+
pragma: no cover
|
|
24
|
+
pragma: nocover
|
|
25
|
+
raise AssertionError
|
|
26
|
+
raise NotImplementedError
|
|
27
|
+
raise unittest.Skip
|
|
28
|
+
self.fail\(
|
|
29
|
+
|
|
30
|
+
[html]
|
|
31
|
+
directory = parts/htmlcov
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -e -x
|
|
4
|
+
|
|
5
|
+
# Running inside docker
|
|
6
|
+
# Set a cache directory for pip. This was
|
|
7
|
+
# mounted to be the same as it is outside docker so it
|
|
8
|
+
# can be persisted.
|
|
9
|
+
export XDG_CACHE_HOME="/cache"
|
|
10
|
+
# XXX: This works for macOS, where everything bind-mounted
|
|
11
|
+
# is seen as owned by root in the container. But when the host is Linux
|
|
12
|
+
# the actual UIDs come through to the container, triggering
|
|
13
|
+
# pip to disable the cache when it detects that the owner doesn't match.
|
|
14
|
+
# The below is an attempt to fix that, taken from bcrypt. It seems to work on
|
|
15
|
+
# Github Actions.
|
|
16
|
+
if [ -n "$GITHUB_ACTIONS" ]; then
|
|
17
|
+
echo Adjusting pip cache permissions
|
|
18
|
+
mkdir -p $XDG_CACHE_HOME/pip
|
|
19
|
+
chown -R $(whoami) $XDG_CACHE_HOME
|
|
20
|
+
fi
|
|
21
|
+
ls -ld /cache
|
|
22
|
+
ls -ld /cache/pip
|
|
23
|
+
|
|
24
|
+
{% for line in manylinux_install_setup %}
|
|
25
|
+
%(line)s
|
|
26
|
+
{% endfor %}
|
|
27
|
+
# We need some libraries because we build wheels from scratch:
|
|
28
|
+
yum -y install libffi-devel
|
|
29
|
+
|
|
30
|
+
tox_env_map() {
|
|
31
|
+
case $1 in
|
|
32
|
+
{% for py_version in supported_python_versions %}
|
|
33
|
+
*"cp%(py_version)s"*) echo 'py%(py_version)s';;
|
|
34
|
+
{% endfor %}
|
|
35
|
+
{% if with_future_python %}
|
|
36
|
+
*"cp%(future_python_shortversion)s"*) echo 'py%(future_python_shortversion)s';;
|
|
37
|
+
{% endif %}
|
|
38
|
+
*) echo 'py';;
|
|
39
|
+
esac
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
# Compile wheels
|
|
43
|
+
for PYBIN in /opt/python/*/bin; do
|
|
44
|
+
if \
|
|
45
|
+
{% for py_version in supported_python_versions %}
|
|
46
|
+
[[ "${PYBIN}" == *"cp%(py_version)s/"* ]] {% if py_version != stop_at %}|| \
|
|
47
|
+
{% endif %}
|
|
48
|
+
{% endfor %}
|
|
49
|
+
{% if with_future_python %}
|
|
50
|
+
[[ "${PYBIN}" == *"cp%(future_python_shortversion)s/"* ]] ; then
|
|
51
|
+
{% else %}
|
|
52
|
+
; then
|
|
53
|
+
{% endif %}
|
|
54
|
+
{% if with_future_python %}
|
|
55
|
+
if [[ "${PYBIN}" == *"cp%(future_python_shortversion)s/"* ]] ; then
|
|
56
|
+
"${PYBIN}/pip" install --pre -e /io/
|
|
57
|
+
"${PYBIN}/pip" wheel /io/ --pre -w wheelhouse/
|
|
58
|
+
else
|
|
59
|
+
"${PYBIN}/pip" install -e /io/
|
|
60
|
+
"${PYBIN}/pip" wheel /io/ -w wheelhouse/
|
|
61
|
+
fi
|
|
62
|
+
{% else %}
|
|
63
|
+
"${PYBIN}/pip" install -e /io/
|
|
64
|
+
"${PYBIN}/pip" wheel /io/ -w wheelhouse/
|
|
65
|
+
{% endif %}
|
|
66
|
+
if [ `uname -m` == 'aarch64' ]; then
|
|
67
|
+
{% for line in manylinux_aarch64_tests %}
|
|
68
|
+
%(line)s
|
|
69
|
+
{% endfor %}
|
|
70
|
+
fi
|
|
71
|
+
rm -rf /io/build /io/*.egg-info
|
|
72
|
+
fi
|
|
73
|
+
done
|
|
74
|
+
|
|
75
|
+
# Bundle external shared libraries into the wheels
|
|
76
|
+
for whl in wheelhouse/%(package_name)s*.whl; do
|
|
77
|
+
auditwheel repair "$whl" -w /io/wheelhouse/
|
|
78
|
+
done
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -e -x
|
|
4
|
+
|
|
5
|
+
# Mount the current directory as /io
|
|
6
|
+
# Mount the pip cache directory as /cache
|
|
7
|
+
# `pip cache` requires pip 20.1
|
|
8
|
+
echo Setting up caching
|
|
9
|
+
python --version
|
|
10
|
+
python -mpip --version
|
|
11
|
+
LCACHE="$(dirname `python -mpip cache dir`)"
|
|
12
|
+
echo Sharing pip cache at $LCACHE $(ls -ld $LCACHE)
|
|
13
|
+
|
|
14
|
+
docker run --rm -e GITHUB_ACTIONS -v "$(pwd)":/io -v "$LCACHE:/cache" $DOCKER_IMAGE $PRE_CMD /io/.manylinux-install.sh
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Packages configured having C code are listed here.
|
|
2
|
+
# Do not edit the file by hand but use the script config-package.py as
|
|
3
|
+
# described in README.rst
|
|
4
|
+
zope.interface
|
|
5
|
+
ExtensionClass
|
|
6
|
+
zodbpickle
|
|
7
|
+
zope.i18nmessageid
|
|
8
|
+
zope.hookable
|
|
9
|
+
zope.index
|
|
10
|
+
Acquisition
|
|
11
|
+
zope.proxy
|
|
12
|
+
Persistence
|
|
13
|
+
zope.security
|
|
14
|
+
zope.container
|
|
15
|
+
BTrees
|
|
16
|
+
persistent
|
|
17
|
+
AccessControl
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
- name: checkout
|
|
2
|
+
uses: actions/checkout@v4
|
|
3
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
4
|
+
uses: actions/setup-python@v5
|
|
5
|
+
with:
|
|
6
|
+
python-version: ${{ matrix.python-version }}
|
|
7
|
+
allow-prereleases: true
|
|
8
|
+
###
|
|
9
|
+
# Caching.
|
|
10
|
+
# This actually *restores* a cache and schedules a cleanup action
|
|
11
|
+
# to save the cache. So it must come before the thing we want to use
|
|
12
|
+
# the cache.
|
|
13
|
+
###
|
|
14
|
+
- name: Get pip cache dir (default)
|
|
15
|
+
id: pip-cache-default
|
|
16
|
+
if: ${{ !startsWith(runner.os, 'Windows') }}
|
|
17
|
+
run: |
|
|
18
|
+
echo "dir=$(pip cache dir)" >>$GITHUB_OUTPUT
|
|
19
|
+
|
|
20
|
+
- name: Get pip cache dir (Windows)
|
|
21
|
+
id: pip-cache-windows
|
|
22
|
+
if: ${{ startsWith(runner.os, 'Windows') }}
|
|
23
|
+
run: |
|
|
24
|
+
echo "dir=$(pip cache dir)" >> $Env:GITHUB_OUTPUT
|
|
25
|
+
|
|
26
|
+
- name: pip cache (default)
|
|
27
|
+
uses: actions/cache@v4
|
|
28
|
+
if: ${{ !startsWith(runner.os, 'Windows') }}
|
|
29
|
+
with:
|
|
30
|
+
path: ${{ steps.pip-cache-default.outputs.dir }}
|
|
31
|
+
key: %(cache_key)s
|
|
32
|
+
restore-keys: |
|
|
33
|
+
${{ runner.os }}-pip-
|
|
34
|
+
|
|
35
|
+
- name: pip cache (Windows)
|
|
36
|
+
uses: actions/cache@v4
|
|
37
|
+
if: ${{ startsWith(runner.os, 'Windows') }}
|
|
38
|
+
with:
|
|
39
|
+
path: ${{ steps.pip-cache-windows.outputs.dir }}
|
|
40
|
+
key: %(cache_key)s
|
|
41
|
+
restore-keys: |
|
|
42
|
+
${{ runner.os }}-pip-
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
strategy:
|
|
2
|
+
fail-fast: false
|
|
3
|
+
matrix:
|
|
4
|
+
python-version:
|
|
5
|
+
{% if with_pypy %}
|
|
6
|
+
- "pypy-%(pypy_version)s"
|
|
7
|
+
{% endif %}
|
|
8
|
+
{% for (py_long_version, py_short_version) in supported_python_versions %}
|
|
9
|
+
- "%(py_long_version)s"
|
|
10
|
+
{% endfor %}
|
|
11
|
+
{% if with_future_python %}
|
|
12
|
+
- "%(future_python_version)s"
|
|
13
|
+
{% endif %}
|
|
14
|
+
{% if with_windows %}
|
|
15
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
16
|
+
{% else %}
|
|
17
|
+
os: [ubuntu-latest, macos-latest]
|
|
18
|
+
{% endif %}
|
|
19
|
+
{% if with_pypy or gha_additional_exclude %}
|
|
20
|
+
exclude:
|
|
21
|
+
{% endif %}
|
|
22
|
+
{% if with_pypy %}
|
|
23
|
+
- os: macos-latest
|
|
24
|
+
python-version: "pypy-%(pypy_version)s"
|
|
25
|
+
{% endif %}
|
|
26
|
+
{% for line in gha_additional_exclude %}
|
|
27
|
+
%(line)s
|
|
28
|
+
{% endfor %}
|