zope.meta 1.0__tar.gz
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-1.0/.pre-commit-config.yaml +28 -0
- zope_meta-1.0/.readthedocs.yaml +25 -0
- zope_meta-1.0/CHANGES.rst +7 -0
- zope_meta-1.0/CONTRIBUTING.md +23 -0
- zope_meta-1.0/COPYRIGHT.txt +1 -0
- zope_meta-1.0/LICENSE.txt +44 -0
- zope_meta-1.0/MANIFEST.in +21 -0
- zope_meta-1.0/PKG-INFO +75 -0
- zope_meta-1.0/README.rst +22 -0
- zope_meta-1.0/docs/Makefile +20 -0
- zope_meta-1.0/docs/_build/html/_sources/api.rst.txt +2 -0
- zope_meta-1.0/docs/_build/html/_sources/hacking.rst.txt +192 -0
- zope_meta-1.0/docs/_build/html/_sources/index.rst.txt +24 -0
- zope_meta-1.0/docs/_build/html/_sources/narr.rst.txt +755 -0
- zope_meta-1.0/docs/_build/html/_static/scripts/furo.js.LICENSE.txt +7 -0
- zope_meta-1.0/docs/api.rst +2 -0
- zope_meta-1.0/docs/conf.py +40 -0
- zope_meta-1.0/docs/hacking.rst +192 -0
- zope_meta-1.0/docs/index.rst +24 -0
- zope_meta-1.0/docs/make.bat +35 -0
- zope_meta-1.0/docs/narr.rst +755 -0
- zope_meta-1.0/docs/requirements.txt +2 -0
- zope_meta-1.0/pyproject.toml +21 -0
- zope_meta-1.0/setup.cfg +25 -0
- zope_meta-1.0/setup.py +97 -0
- zope_meta-1.0/src/zope/__init__.py +1 -0
- zope_meta-1.0/src/zope/meta/__init__.py +15 -0
- zope_meta-1.0/src/zope/meta/buildout-recipe/coveragerc.j2 +29 -0
- zope_meta-1.0/src/zope/meta/buildout-recipe/packages.txt +13 -0
- zope_meta-1.0/src/zope/meta/buildout-recipe/tox.ini.j2 +42 -0
- zope_meta-1.0/src/zope/meta/c-code/coveragerc.j2 +31 -0
- zope_meta-1.0/src/zope/meta/c-code/manylinux-install.sh.j2 +78 -0
- zope_meta-1.0/src/zope/meta/c-code/manylinux.sh +14 -0
- zope_meta-1.0/src/zope/meta/c-code/packages.txt +17 -0
- zope_meta-1.0/src/zope/meta/c-code/tests-cache.j2 +42 -0
- zope_meta-1.0/src/zope/meta/c-code/tests-download.j2 +6 -0
- zope_meta-1.0/src/zope/meta/c-code/tests-strategy.j2 +28 -0
- zope_meta-1.0/src/zope/meta/c-code/tests.yml.j2 +409 -0
- zope_meta-1.0/src/zope/meta/c-code/tox.ini.j2 +57 -0
- zope_meta-1.0/src/zope/meta/config_package.py +738 -0
- zope_meta-1.0/src/zope/meta/default/CONTRIBUTING.md +19 -0
- zope_meta-1.0/src/zope/meta/default/MANIFEST.in.j2 +18 -0
- zope_meta-1.0/src/zope/meta/default/editorconfig.txt +37 -0
- zope_meta-1.0/src/zope/meta/default/gitignore.j2 +33 -0
- zope_meta-1.0/src/zope/meta/default/pre-commit-config.yaml.j2 +29 -0
- zope_meta-1.0/src/zope/meta/default/pre-commit.yml.j2 +31 -0
- zope_meta-1.0/src/zope/meta/default/readthedocs.yaml.j2 +30 -0
- zope_meta-1.0/src/zope/meta/default/setup.cfg.j2 +58 -0
- zope_meta-1.0/src/zope/meta/default/tests.yml.j2 +141 -0
- zope_meta-1.0/src/zope/meta/default/tox-docs.j2 +22 -0
- zope_meta-1.0/src/zope/meta/default/tox-envlist.j2 +23 -0
- zope_meta-1.0/src/zope/meta/default/tox-lint.j2 +12 -0
- zope_meta-1.0/src/zope/meta/default/tox-release-check.j2 +17 -0
- zope_meta-1.0/src/zope/meta/default/tox-testenv.j2 +62 -0
- zope_meta-1.0/src/zope/meta/multi_call.py +69 -0
- zope_meta-1.0/src/zope/meta/pure-python/packages.txt +212 -0
- zope_meta-1.0/src/zope/meta/pure-python/tox.ini.j2 +41 -0
- zope_meta-1.0/src/zope/meta/re_enable_actions.py +63 -0
- zope_meta-1.0/src/zope/meta/set_branch_protection_rules.py +184 -0
- zope_meta-1.0/src/zope/meta/shared/__init__.py +0 -0
- zope_meta-1.0/src/zope/meta/shared/call.py +48 -0
- zope_meta-1.0/src/zope/meta/shared/git.py +51 -0
- zope_meta-1.0/src/zope/meta/shared/packages.py +184 -0
- zope_meta-1.0/src/zope/meta/shared/path.py +49 -0
- zope_meta-1.0/src/zope/meta/tests/__init__.py +1 -0
- zope_meta-1.0/src/zope/meta/tests/test_config_package.py +24 -0
- zope_meta-1.0/src/zope/meta/toolkit/packages.txt +5 -0
- zope_meta-1.0/src/zope/meta/toolkit/tox.ini.j2 +61 -0
- zope_meta-1.0/src/zope/meta/update_python_support.py +194 -0
- zope_meta-1.0/src/zope/meta/zope-product/packages.txt +33 -0
- zope_meta-1.0/src/zope/meta/zope-product/tox.ini.j2 +80 -0
- zope_meta-1.0/src/zope.meta.egg-info/PKG-INFO +75 -0
- zope_meta-1.0/src/zope.meta.egg-info/SOURCES.txt +79 -0
- zope_meta-1.0/src/zope.meta.egg-info/dependency_links.txt +1 -0
- zope_meta-1.0/src/zope.meta.egg-info/entry_points.txt +6 -0
- zope_meta-1.0/src/zope.meta.egg-info/namespace_packages.txt +1 -0
- zope_meta-1.0/src/zope.meta.egg-info/not-zip-safe +1 -0
- zope_meta-1.0/src/zope.meta.egg-info/requires.txt +16 -0
- zope_meta-1.0/src/zope.meta.egg-info/top_level.txt +1 -0
- zope_meta-1.0/tox.ini +80 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Generated from:
|
|
2
|
+
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
|
|
3
|
+
minimum_pre_commit_version: '3.6'
|
|
4
|
+
repos:
|
|
5
|
+
- repo: https://github.com/pycqa/isort
|
|
6
|
+
rev: "5.13.2"
|
|
7
|
+
hooks:
|
|
8
|
+
- id: isort
|
|
9
|
+
- repo: https://github.com/hhatto/autopep8
|
|
10
|
+
rev: "v2.3.1"
|
|
11
|
+
hooks:
|
|
12
|
+
- id: autopep8
|
|
13
|
+
args: [--in-place, --aggressive, --aggressive]
|
|
14
|
+
- repo: https://github.com/asottile/pyupgrade
|
|
15
|
+
rev: v3.17.0
|
|
16
|
+
hooks:
|
|
17
|
+
- id: pyupgrade
|
|
18
|
+
args: [--py38-plus]
|
|
19
|
+
- repo: https://github.com/isidentical/teyit
|
|
20
|
+
rev: 0.4.3
|
|
21
|
+
hooks:
|
|
22
|
+
- id: teyit
|
|
23
|
+
- repo: https://github.com/PyCQA/flake8
|
|
24
|
+
rev: "7.1.1"
|
|
25
|
+
hooks:
|
|
26
|
+
- id: flake8
|
|
27
|
+
additional_dependencies:
|
|
28
|
+
- flake8-debugger == 4.1.2
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Generated from:
|
|
2
|
+
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
|
|
3
|
+
# Read the Docs configuration file
|
|
4
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
5
|
+
|
|
6
|
+
# Required
|
|
7
|
+
version: 2
|
|
8
|
+
|
|
9
|
+
# Set the version of Python and other tools you might need
|
|
10
|
+
build:
|
|
11
|
+
os: ubuntu-22.04
|
|
12
|
+
tools:
|
|
13
|
+
python: "3.11"
|
|
14
|
+
|
|
15
|
+
# Build documentation in the docs/ directory with Sphinx
|
|
16
|
+
sphinx:
|
|
17
|
+
configuration: docs/conf.py
|
|
18
|
+
|
|
19
|
+
# We recommend specifying your dependencies to enable reproducible builds:
|
|
20
|
+
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
|
|
21
|
+
python:
|
|
22
|
+
install:
|
|
23
|
+
- requirements: docs/requirements.txt
|
|
24
|
+
- method: pip
|
|
25
|
+
path: .
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Generated from:
|
|
3
|
+
https://github.com/zopefoundation/meta/tree/master/config/pure-python
|
|
4
|
+
-->
|
|
5
|
+
# Contributing to zopefoundation projects
|
|
6
|
+
|
|
7
|
+
The projects under the zopefoundation GitHub organization are open source and
|
|
8
|
+
welcome contributions in different forms:
|
|
9
|
+
|
|
10
|
+
* bug reports
|
|
11
|
+
* code improvements and bug fixes
|
|
12
|
+
* documentation improvements
|
|
13
|
+
* pull request reviews
|
|
14
|
+
|
|
15
|
+
For any changes in the repository besides trivial typo fixes you are required
|
|
16
|
+
to sign the contributor agreement. See
|
|
17
|
+
https://www.zope.dev/developer/becoming-a-committer.html for details.
|
|
18
|
+
|
|
19
|
+
Please visit our [Developer
|
|
20
|
+
Guidelines](https://www.zope.dev/developer/guidelines.html) if you'd like to
|
|
21
|
+
contribute code changes and our [guidelines for reporting
|
|
22
|
+
bugs](https://www.zope.dev/developer/reporting-bugs.html) if you want to file a
|
|
23
|
+
bug report.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Zope Foundation and Contributors
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
Zope Public License (ZPL) Version 2.1
|
|
2
|
+
|
|
3
|
+
A copyright notice accompanies this license document that identifies the
|
|
4
|
+
copyright holders.
|
|
5
|
+
|
|
6
|
+
This license has been certified as open source. It has also been designated as
|
|
7
|
+
GPL compatible by the Free Software Foundation (FSF).
|
|
8
|
+
|
|
9
|
+
Redistribution and use in source and binary forms, with or without
|
|
10
|
+
modification, are permitted provided that the following conditions are met:
|
|
11
|
+
|
|
12
|
+
1. Redistributions in source code must retain the accompanying copyright
|
|
13
|
+
notice, this list of conditions, and the following disclaimer.
|
|
14
|
+
|
|
15
|
+
2. Redistributions in binary form must reproduce the accompanying copyright
|
|
16
|
+
notice, this list of conditions, and the following disclaimer in the
|
|
17
|
+
documentation and/or other materials provided with the distribution.
|
|
18
|
+
|
|
19
|
+
3. Names of the copyright holders must not be used to endorse or promote
|
|
20
|
+
products derived from this software without prior written permission from the
|
|
21
|
+
copyright holders.
|
|
22
|
+
|
|
23
|
+
4. The right to distribute this software or to use it for any purpose does not
|
|
24
|
+
give you the right to use Servicemarks (sm) or Trademarks (tm) of the
|
|
25
|
+
copyright
|
|
26
|
+
holders. Use of them is covered by separate agreement with the copyright
|
|
27
|
+
holders.
|
|
28
|
+
|
|
29
|
+
5. If any files are modified, you must cause the modified files to carry
|
|
30
|
+
prominent notices stating that you changed the files and the date of any
|
|
31
|
+
change.
|
|
32
|
+
|
|
33
|
+
Disclaimer
|
|
34
|
+
|
|
35
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED
|
|
36
|
+
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
37
|
+
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
|
38
|
+
EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
39
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
40
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
41
|
+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
42
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
43
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
44
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Generated from:
|
|
2
|
+
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
|
|
3
|
+
include *.md
|
|
4
|
+
include *.rst
|
|
5
|
+
include *.txt
|
|
6
|
+
include buildout.cfg
|
|
7
|
+
include tox.ini
|
|
8
|
+
include .pre-commit-config.yaml
|
|
9
|
+
|
|
10
|
+
recursive-include docs *.py
|
|
11
|
+
recursive-include docs *.rst
|
|
12
|
+
recursive-include docs *.txt
|
|
13
|
+
recursive-include docs Makefile
|
|
14
|
+
|
|
15
|
+
recursive-include src *.py
|
|
16
|
+
include *.yaml
|
|
17
|
+
recursive-include docs *.bat
|
|
18
|
+
recursive-include src *.j2
|
|
19
|
+
recursive-include src *.md
|
|
20
|
+
recursive-include src *.sh
|
|
21
|
+
recursive-include src *.txt
|
zope_meta-1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: zope.meta
|
|
3
|
+
Version: 1.0
|
|
4
|
+
Summary: Helper functions for package management
|
|
5
|
+
Home-page: https://github.com/zopefoundation/meta
|
|
6
|
+
Author: Zope Foundation and Contributors
|
|
7
|
+
Author-email: zope-dev@zope.dev
|
|
8
|
+
License: ZPL 2.1
|
|
9
|
+
Project-URL: Documentation, https://zopemeta.readthedocs.io
|
|
10
|
+
Project-URL: Issue Tracker, https://github.com/zopefoundation/meta/issues
|
|
11
|
+
Project-URL: Sources, https://github.com/zopefoundation/meta
|
|
12
|
+
Keywords: zope packaging
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: Zope Public License
|
|
16
|
+
Classifier: Programming Language :: Python
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
24
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
25
|
+
Classifier: Natural Language :: English
|
|
26
|
+
Classifier: Operating System :: OS Independent
|
|
27
|
+
Requires-Python: >=3.8
|
|
28
|
+
Description-Content-Type: text/x-rst
|
|
29
|
+
License-File: LICENSE.txt
|
|
30
|
+
Requires-Dist: setuptools
|
|
31
|
+
Requires-Dist: check-python-versions
|
|
32
|
+
Requires-Dist: Jinja2
|
|
33
|
+
Requires-Dist: packaging
|
|
34
|
+
Requires-Dist: pyupgrade
|
|
35
|
+
Requires-Dist: requests
|
|
36
|
+
Requires-Dist: tomlkit
|
|
37
|
+
Requires-Dist: tox
|
|
38
|
+
Requires-Dist: zest.releaser
|
|
39
|
+
Provides-Extra: test
|
|
40
|
+
Requires-Dist: zope.testrunner; extra == "test"
|
|
41
|
+
Provides-Extra: docs
|
|
42
|
+
Requires-Dist: Sphinx; extra == "docs"
|
|
43
|
+
Requires-Dist: furo; extra == "docs"
|
|
44
|
+
|
|
45
|
+
``zope.meta``
|
|
46
|
+
=============
|
|
47
|
+
|
|
48
|
+
.. image:: https://img.shields.io/pypi/v/zope.meta.svg
|
|
49
|
+
:target: https://pypi.python.org/pypi/zope.meta/
|
|
50
|
+
:alt: Latest Version
|
|
51
|
+
|
|
52
|
+
.. image:: https://github.com/zopefoundation/meta/actions/workflows/tests.yml/badge.svg
|
|
53
|
+
:target: https://github.com/zopefoundation/meta/actions/workflows/tests.yml
|
|
54
|
+
|
|
55
|
+
.. image:: https://coveralls.io/repos/github/zopefoundation/meta/badge.svg?branch=master
|
|
56
|
+
:target: https://coveralls.io/github/zopefoundation/meta?branch=master
|
|
57
|
+
|
|
58
|
+
.. image:: https://readthedocs.org/projects/zopemeta/badge/?version=latest
|
|
59
|
+
:target: https://zopemeta.readthedocs.io/en/latest/?badge=latest
|
|
60
|
+
:alt: Documentation Status
|
|
61
|
+
|
|
62
|
+
This package contains helper functions and scripts for maintaining package
|
|
63
|
+
configurations for Zope Foundation GitHub packages
|
|
64
|
+
(https://github.com/zopefoundation).
|
|
65
|
+
|
|
66
|
+
Please visit https://zopemeta.readthedocs.io for the documentation.
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
Change log
|
|
70
|
+
==========
|
|
71
|
+
|
|
72
|
+
1.0 (2024-10-02)
|
|
73
|
+
----------------
|
|
74
|
+
|
|
75
|
+
- Converted to an installable Python package.
|
zope_meta-1.0/README.rst
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
``zope.meta``
|
|
2
|
+
=============
|
|
3
|
+
|
|
4
|
+
.. image:: https://img.shields.io/pypi/v/zope.meta.svg
|
|
5
|
+
:target: https://pypi.python.org/pypi/zope.meta/
|
|
6
|
+
:alt: Latest Version
|
|
7
|
+
|
|
8
|
+
.. image:: https://github.com/zopefoundation/meta/actions/workflows/tests.yml/badge.svg
|
|
9
|
+
:target: https://github.com/zopefoundation/meta/actions/workflows/tests.yml
|
|
10
|
+
|
|
11
|
+
.. image:: https://coveralls.io/repos/github/zopefoundation/meta/badge.svg?branch=master
|
|
12
|
+
:target: https://coveralls.io/github/zopefoundation/meta?branch=master
|
|
13
|
+
|
|
14
|
+
.. image:: https://readthedocs.org/projects/zopemeta/badge/?version=latest
|
|
15
|
+
:target: https://zopemeta.readthedocs.io/en/latest/?badge=latest
|
|
16
|
+
:alt: Documentation Status
|
|
17
|
+
|
|
18
|
+
This package contains helper functions and scripts for maintaining package
|
|
19
|
+
configurations for Zope Foundation GitHub packages
|
|
20
|
+
(https://github.com/zopefoundation).
|
|
21
|
+
|
|
22
|
+
Please visit https://zopemeta.readthedocs.io for the documentation.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Minimal makefile for Sphinx documentation
|
|
2
|
+
#
|
|
3
|
+
|
|
4
|
+
# You can set these variables from the command line, and also
|
|
5
|
+
# from the environment for the first two.
|
|
6
|
+
SPHINXOPTS ?=
|
|
7
|
+
SPHINXBUILD ?= sphinx-build
|
|
8
|
+
SOURCEDIR = .
|
|
9
|
+
BUILDDIR = _build
|
|
10
|
+
|
|
11
|
+
# Put it first so that "make" without argument is like "make help".
|
|
12
|
+
help:
|
|
13
|
+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
14
|
+
|
|
15
|
+
.PHONY: help Makefile
|
|
16
|
+
|
|
17
|
+
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
18
|
+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
|
19
|
+
%: Makefile
|
|
20
|
+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
Hacking on :mod:`zope.meta`
|
|
2
|
+
===========================
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
Getting the Code
|
|
6
|
+
################
|
|
7
|
+
|
|
8
|
+
The main repository for :mod:`zope.meta` is in the Zope Foundation
|
|
9
|
+
Github repository:
|
|
10
|
+
|
|
11
|
+
https://github.com/zopefoundation/meta
|
|
12
|
+
|
|
13
|
+
You can get a read-only checkout from there:
|
|
14
|
+
|
|
15
|
+
.. code-block:: sh
|
|
16
|
+
|
|
17
|
+
$ git clone https://github.com/zopefoundation/meta.git
|
|
18
|
+
|
|
19
|
+
or fork it and get a writeable checkout of your fork:
|
|
20
|
+
|
|
21
|
+
.. code-block:: sh
|
|
22
|
+
|
|
23
|
+
$ git clone git@github.com/jrandom/meta.git
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
Working in a Python virtual environment
|
|
27
|
+
#######################################
|
|
28
|
+
|
|
29
|
+
Installing
|
|
30
|
+
----------
|
|
31
|
+
|
|
32
|
+
You can use Python's standard ``venv`` package to create lightweight Python
|
|
33
|
+
development environments, where you can run the tests using nothing more
|
|
34
|
+
than the ``python`` binary in a virtualenv. First, create a scratch
|
|
35
|
+
environment:
|
|
36
|
+
|
|
37
|
+
.. code-block:: sh
|
|
38
|
+
|
|
39
|
+
$ python3.12 -m venv /tmp/hack-zope.meta
|
|
40
|
+
|
|
41
|
+
Next, install this package in "development mod" in the newly-created
|
|
42
|
+
environment:
|
|
43
|
+
|
|
44
|
+
.. code-block:: sh
|
|
45
|
+
|
|
46
|
+
$ /tmp/hack-zope.meta/bin/pip install -e .
|
|
47
|
+
|
|
48
|
+
Running the tests
|
|
49
|
+
-----------------
|
|
50
|
+
|
|
51
|
+
You can install test tools using the ``test`` extra:
|
|
52
|
+
|
|
53
|
+
.. code-block:: sh
|
|
54
|
+
|
|
55
|
+
$ /tmp/hack-zope.meta/bin/pip install -e ".[test]"
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
That command installs the tools needed to run
|
|
59
|
+
the tests: in particular, the ``zope.testrunner`` (see
|
|
60
|
+
:external+testrunner:std:doc:`getting-started`) and
|
|
61
|
+
:external+coverage:std:doc:`index` tools.
|
|
62
|
+
|
|
63
|
+
To run the tests via ``zope.testrunner``:
|
|
64
|
+
|
|
65
|
+
.. code-block:: sh
|
|
66
|
+
|
|
67
|
+
$ /tmp/hack-zope.meta/bin/zope-testrunner --test-path=src
|
|
68
|
+
Running zope.testrunner.layer.UnitTests tests:
|
|
69
|
+
...
|
|
70
|
+
|
|
71
|
+
Running the tests under :mod:`coverage` lets you see how well the tests
|
|
72
|
+
cover the code:
|
|
73
|
+
|
|
74
|
+
.. code-block:: sh
|
|
75
|
+
|
|
76
|
+
$ /tmp/hack-zope.meta/bin/coverage run -m zope.testrunner \
|
|
77
|
+
--test-path=src
|
|
78
|
+
...
|
|
79
|
+
$ coverage report -i -m --fail-under=100
|
|
80
|
+
Name Stmts Miss Branch BrPart Cover Missing
|
|
81
|
+
----------------------------------------------------------------------------------
|
|
82
|
+
...
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
Building the documentation
|
|
86
|
+
--------------------------
|
|
87
|
+
|
|
88
|
+
:mod:`zope.meta` uses the nifty :mod:`Sphinx` documentation system
|
|
89
|
+
for building its docs. Using the same virtualenv you set up to run the
|
|
90
|
+
tests, you can build the docs:
|
|
91
|
+
|
|
92
|
+
The ``docs`` command alias downloads and installs Sphinx and its dependencies:
|
|
93
|
+
|
|
94
|
+
.. code-block:: sh
|
|
95
|
+
|
|
96
|
+
$ /tmp/hack-zope.meta/bin/pip install ".[docs]"
|
|
97
|
+
...
|
|
98
|
+
$ /tmp/hack-zope.meta/bin/sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html
|
|
99
|
+
...
|
|
100
|
+
build succeeded.
|
|
101
|
+
|
|
102
|
+
The HTML pages are in docs/_build/html.
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
Using :mod:`tox`
|
|
106
|
+
################
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
Running Tests on Multiple Python Versions
|
|
110
|
+
-----------------------------------------
|
|
111
|
+
|
|
112
|
+
`tox <http://tox.testrun.org/latest/>`_ is a Python-based test automation
|
|
113
|
+
tool designed to run tests against multiple Python versions. It creates
|
|
114
|
+
a virtual environment for each configured version, installs the current
|
|
115
|
+
package and configured dependencies into each environment, and then runs the
|
|
116
|
+
configured commands.
|
|
117
|
+
|
|
118
|
+
:mod:`zope.meta` configures the following :mod:`tox` environments via
|
|
119
|
+
its ``tox.ini`` file:
|
|
120
|
+
|
|
121
|
+
- The ``lint`` environment runs various "code quality" tests on the source,
|
|
122
|
+
and fails on any errors they find.
|
|
123
|
+
|
|
124
|
+
- The ``pyXX`` and ``pypy3`` environments each build an environment from the
|
|
125
|
+
corresponding
|
|
126
|
+
Python version, install :mod:`zope.meta` and testing dependencies,
|
|
127
|
+
and runs the tests. It then installs ``Sphinx`` and runs the doctest
|
|
128
|
+
snippets.
|
|
129
|
+
|
|
130
|
+
- The ``coverage`` environment builds a virtual environment,
|
|
131
|
+
installs :mod:`zope.meta` and dependencies, installs
|
|
132
|
+
:mod:`coverage`, and runs the tests with statement and branch
|
|
133
|
+
coverage.
|
|
134
|
+
|
|
135
|
+
- The ``docs`` environment builds a virtual environment, installs
|
|
136
|
+
:mod:`zope.meta` and dependencies, installs ``Sphinx`` and
|
|
137
|
+
dependencies, and then builds the docs and exercises the doctest snippets.
|
|
138
|
+
|
|
139
|
+
This example requires that you have a working ``python3.12`` on your path,
|
|
140
|
+
as well as installing ``tox``:
|
|
141
|
+
|
|
142
|
+
.. code-block:: sh
|
|
143
|
+
|
|
144
|
+
$ tox -e py312
|
|
145
|
+
py312: install_deps> python -I -m pip install 'setuptools<74' Sphinx
|
|
146
|
+
...
|
|
147
|
+
py312: commands[0]> zope-testrunner --test-path=src -vc
|
|
148
|
+
Running tests at level 1
|
|
149
|
+
Running zope.testrunner.layer.UnitTests tests:
|
|
150
|
+
Set up zope.testrunner.layer.UnitTests in 0.000 seconds.
|
|
151
|
+
Running:
|
|
152
|
+
.....
|
|
153
|
+
|
|
154
|
+
Running ``tox`` with no arguments runs all the configured environments,
|
|
155
|
+
including building the docs and testing their snippets.
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
Contributing to :mod:`zope.meta`
|
|
159
|
+
################################
|
|
160
|
+
|
|
161
|
+
Submitting a Bug Report
|
|
162
|
+
-----------------------
|
|
163
|
+
|
|
164
|
+
:mod:`zope.meta` tracks its bugs on Github:
|
|
165
|
+
|
|
166
|
+
https://github.com/zopefoundation/meta/issues
|
|
167
|
+
|
|
168
|
+
Please submit bug reports and feature requests there.
|
|
169
|
+
|
|
170
|
+
Sharing Your Changes
|
|
171
|
+
--------------------
|
|
172
|
+
|
|
173
|
+
.. note::
|
|
174
|
+
|
|
175
|
+
Please ensure that all tests are passing before you submit your code.
|
|
176
|
+
If possible, your submission should include new tests for new features
|
|
177
|
+
or bug fixes, although it is possible that you may have tested your
|
|
178
|
+
new code by updating existing tests.
|
|
179
|
+
|
|
180
|
+
Contributions to Plone/Zope Foundation packages require contributor status.
|
|
181
|
+
Please see https://www.zope.dev/developer/becoming-a-committer.html.
|
|
182
|
+
|
|
183
|
+
If you have made changes you would like to share, the best route is to create a
|
|
184
|
+
branch in the GitHub repository and push changes there, which requires
|
|
185
|
+
`contributor status
|
|
186
|
+
<https://www.zope.dev/developer/becoming-a-committer.html>`_. You can
|
|
187
|
+
also fork the GitHub repository, check out your fork, make your changes on a
|
|
188
|
+
branch in your fork, and then push them. A private fork makes it harder for
|
|
189
|
+
others and the package maintainers to work with your changes, so it is
|
|
190
|
+
discouraged. Either way, you can then submit a pull request from your branch:
|
|
191
|
+
|
|
192
|
+
https://github.com/zopefoundation/meta/pulls
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
:mod:`zope.meta` Documentation
|
|
2
|
+
==============================
|
|
3
|
+
|
|
4
|
+
This package provides helper functions and scripts to maintain package
|
|
5
|
+
configurations for the Zope Foundation packages.
|
|
6
|
+
|
|
7
|
+
Contents:
|
|
8
|
+
|
|
9
|
+
.. toctree::
|
|
10
|
+
:maxdepth: 2
|
|
11
|
+
|
|
12
|
+
narr
|
|
13
|
+
api
|
|
14
|
+
hacking
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
Indices and tables
|
|
19
|
+
==================
|
|
20
|
+
|
|
21
|
+
* :ref:`genindex`
|
|
22
|
+
* :ref:`modindex`
|
|
23
|
+
* :ref:`search`
|
|
24
|
+
|