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.
Files changed (53) hide show
  1. zope/meta/__init__.py +15 -0
  2. zope/meta/buildout-recipe/coveragerc.j2 +29 -0
  3. zope/meta/buildout-recipe/packages.txt +13 -0
  4. zope/meta/buildout-recipe/tox.ini.j2 +42 -0
  5. zope/meta/c-code/coveragerc.j2 +31 -0
  6. zope/meta/c-code/manylinux-install.sh.j2 +78 -0
  7. zope/meta/c-code/manylinux.sh +14 -0
  8. zope/meta/c-code/packages.txt +17 -0
  9. zope/meta/c-code/tests-cache.j2 +42 -0
  10. zope/meta/c-code/tests-download.j2 +6 -0
  11. zope/meta/c-code/tests-strategy.j2 +28 -0
  12. zope/meta/c-code/tests.yml.j2 +409 -0
  13. zope/meta/c-code/tox.ini.j2 +57 -0
  14. zope/meta/config_package.py +738 -0
  15. zope/meta/default/CONTRIBUTING.md +19 -0
  16. zope/meta/default/MANIFEST.in.j2 +18 -0
  17. zope/meta/default/editorconfig.txt +37 -0
  18. zope/meta/default/gitignore.j2 +33 -0
  19. zope/meta/default/pre-commit-config.yaml.j2 +29 -0
  20. zope/meta/default/pre-commit.yml.j2 +31 -0
  21. zope/meta/default/readthedocs.yaml.j2 +30 -0
  22. zope/meta/default/setup.cfg.j2 +58 -0
  23. zope/meta/default/tests.yml.j2 +141 -0
  24. zope/meta/default/tox-docs.j2 +22 -0
  25. zope/meta/default/tox-envlist.j2 +23 -0
  26. zope/meta/default/tox-lint.j2 +12 -0
  27. zope/meta/default/tox-release-check.j2 +17 -0
  28. zope/meta/default/tox-testenv.j2 +62 -0
  29. zope/meta/multi_call.py +69 -0
  30. zope/meta/pure-python/packages.txt +212 -0
  31. zope/meta/pure-python/tox.ini.j2 +41 -0
  32. zope/meta/re_enable_actions.py +63 -0
  33. zope/meta/set_branch_protection_rules.py +184 -0
  34. zope/meta/shared/__init__.py +0 -0
  35. zope/meta/shared/call.py +48 -0
  36. zope/meta/shared/git.py +51 -0
  37. zope/meta/shared/packages.py +184 -0
  38. zope/meta/shared/path.py +49 -0
  39. zope/meta/tests/__init__.py +1 -0
  40. zope/meta/tests/test_config_package.py +24 -0
  41. zope/meta/toolkit/packages.txt +5 -0
  42. zope/meta/toolkit/tox.ini.j2 +61 -0
  43. zope/meta/update_python_support.py +194 -0
  44. zope/meta/zope-product/packages.txt +33 -0
  45. zope/meta/zope-product/tox.ini.j2 +80 -0
  46. zope.meta-1.0-py3.11-nspkg.pth +1 -0
  47. zope.meta-1.0.dist-info/LICENSE.txt +44 -0
  48. zope.meta-1.0.dist-info/METADATA +75 -0
  49. zope.meta-1.0.dist-info/RECORD +53 -0
  50. zope.meta-1.0.dist-info/WHEEL +5 -0
  51. zope.meta-1.0.dist-info/entry_points.txt +6 -0
  52. zope.meta-1.0.dist-info/namespace_packages.txt +1 -0
  53. 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,6 @@
1
+
2
+ - name: Download %(package_name)s wheel
3
+ uses: actions/download-artifact@v4
4
+ with:
5
+ name: %(package_name)s-${{ runner.os }}-${{ matrix.python-version }}.whl
6
+ path: dist/
@@ -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 %}