zope.processlifetime 2.4__tar.gz → 3.1__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.
Files changed (30) hide show
  1. zope_processlifetime-3.1/.pre-commit-config.yaml +28 -0
  2. zope_processlifetime-3.1/.readthedocs.yaml +25 -0
  3. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/CHANGES.rst +18 -0
  4. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/CONTRIBUTING.md +1 -1
  5. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/MANIFEST.in +2 -0
  6. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/PKG-INFO +32 -14
  7. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/docs/conf.py +38 -30
  8. zope_processlifetime-3.1/docs/requirements.txt +3 -0
  9. zope_processlifetime-3.1/pyproject.toml +21 -0
  10. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/setup.cfg +1 -4
  11. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/setup.py +8 -11
  12. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/src/zope/processlifetime/__init__.py +3 -3
  13. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/src/zope.processlifetime.egg-info/PKG-INFO +32 -14
  14. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/src/zope.processlifetime.egg-info/SOURCES.txt +4 -0
  15. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/tox.ini +32 -41
  16. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/COPYRIGHT.txt +0 -0
  17. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/LICENSE.txt +0 -0
  18. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/README.rst +0 -0
  19. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/buildout.cfg +0 -0
  20. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/docs/Makefile +0 -0
  21. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/docs/changelog.rst +0 -0
  22. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/docs/index.rst +0 -0
  23. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/docs-requirements.txt +0 -0
  24. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/src/zope/__init__.py +0 -0
  25. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/src/zope/processlifetime/tests.py +0 -0
  26. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/src/zope.processlifetime.egg-info/dependency_links.txt +0 -0
  27. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/src/zope.processlifetime.egg-info/namespace_packages.txt +0 -0
  28. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/src/zope.processlifetime.egg-info/not-zip-safe +0 -0
  29. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/src/zope.processlifetime.egg-info/requires.txt +0 -0
  30. {zope.processlifetime-2.4 → zope_processlifetime-3.1}/src/zope.processlifetime.egg-info/top_level.txt +0 -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: "6.0.0"
7
+ hooks:
8
+ - id: isort
9
+ - repo: https://github.com/hhatto/autopep8
10
+ rev: "v2.3.2"
11
+ hooks:
12
+ - id: autopep8
13
+ args: [--in-place, --aggressive, --aggressive]
14
+ - repo: https://github.com/asottile/pyupgrade
15
+ rev: v3.19.1
16
+ hooks:
17
+ - id: pyupgrade
18
+ args: [--py39-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: .
@@ -2,6 +2,24 @@
2
2
  Changes
3
3
  =========
4
4
 
5
+ 3.1 (2025-02-14)
6
+ ================
7
+
8
+ - Add support for Python 3.12, 3.13.
9
+
10
+ - Drop support for Python 3.7, 3.8.
11
+
12
+
13
+ 3.0 (2023-03-27)
14
+ ================
15
+
16
+ - Add support for Python 3.11.
17
+
18
+ - Drop support for Python 2.7, 3.5, 3.6.
19
+
20
+ - Drop support for deprecated ``python setup.py test``.
21
+
22
+
5
23
  2.4 (2022-08-26)
6
24
  ================
7
25
 
@@ -1,7 +1,7 @@
1
1
  <!--
2
2
  Generated from:
3
3
  https://github.com/zopefoundation/meta/tree/master/config/pure-python
4
- -->
4
+ -->
5
5
  # Contributing to zopefoundation projects
6
6
 
7
7
  The projects under the zopefoundation GitHub organization are open source and
@@ -5,6 +5,7 @@ include *.rst
5
5
  include *.txt
6
6
  include buildout.cfg
7
7
  include tox.ini
8
+ include .pre-commit-config.yaml
8
9
 
9
10
  recursive-include docs *.py
10
11
  recursive-include docs *.rst
@@ -12,3 +13,4 @@ recursive-include docs *.txt
12
13
  recursive-include docs Makefile
13
14
 
14
15
  recursive-include src *.py
16
+ include *.yaml
@@ -1,37 +1,39 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zope.processlifetime
3
- Version: 2.4
3
+ Version: 3.1
4
4
  Summary: Zope process lifetime events
5
5
  Home-page: http://github.com/zopefoundation/zope.processlifetime
6
6
  Author: Zope Foundation and Contributors
7
- Author-email: zope-dev@zope.org
8
- License: ZPL 2.1
7
+ Author-email: zope-dev@zope.dev
8
+ License: ZPL-2.1
9
9
  Keywords: zope process lifetime events
10
- Platform: UNKNOWN
11
10
  Classifier: Development Status :: 5 - Production/Stable
12
11
  Classifier: Environment :: Web Environment
13
12
  Classifier: Intended Audience :: Developers
14
13
  Classifier: License :: OSI Approved :: Zope Public License
15
14
  Classifier: Programming Language :: Python
16
- Classifier: Programming Language :: Python :: 2
17
- Classifier: Programming Language :: Python :: 2.7
18
15
  Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3.5
20
- Classifier: Programming Language :: Python :: 3.6
21
- Classifier: Programming Language :: Python :: 3.7
22
- Classifier: Programming Language :: Python :: 3.8
23
16
  Classifier: Programming Language :: Python :: 3.9
24
17
  Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
25
21
  Classifier: Programming Language :: Python :: Implementation :: CPython
26
22
  Classifier: Programming Language :: Python :: Implementation :: PyPy
27
23
  Classifier: Natural Language :: English
28
24
  Classifier: Operating System :: OS Independent
29
25
  Classifier: Topic :: Internet :: WWW/HTTP
30
26
  Classifier: Framework :: Zope :: 3
31
- Classifier: Framework :: Zope2
27
+ Classifier: Framework :: Zope :: 5
28
+ Requires-Python: >=3.9
29
+ License-File: LICENSE.txt
30
+ Requires-Dist: setuptools
31
+ Requires-Dist: zope.interface
32
32
  Provides-Extra: test
33
+ Requires-Dist: zope.testrunner; extra == "test"
33
34
  Provides-Extra: docs
34
- License-File: LICENSE.txt
35
+ Requires-Dist: Sphinx; extra == "docs"
36
+ Requires-Dist: repoze.sphinx.autointerface; extra == "docs"
35
37
 
36
38
  ==========================
37
39
  ``zope.processlifetime``
@@ -68,6 +70,24 @@ Documentation is hosted at https://zopeprocesslifetime.readthedocs.io/en/latest/
68
70
  Changes
69
71
  =========
70
72
 
73
+ 3.1 (2025-02-14)
74
+ ================
75
+
76
+ - Add support for Python 3.12, 3.13.
77
+
78
+ - Drop support for Python 3.7, 3.8.
79
+
80
+
81
+ 3.0 (2023-03-27)
82
+ ================
83
+
84
+ - Add support for Python 3.11.
85
+
86
+ - Drop support for Python 2.7, 3.5, 3.6.
87
+
88
+ - Drop support for deprecated ``python setup.py test``.
89
+
90
+
71
91
  2.4 (2022-08-26)
72
92
  ================
73
93
 
@@ -119,5 +139,3 @@ Documentation is hosted at https://zopeprocesslifetime.readthedocs.io/en/latest/
119
139
 
120
140
  - Split out event interfaces / implementations from ``zope.app.appsetup``
121
141
  version 3.10.2.
122
-
123
-
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  #
3
2
  # zope.app.apidoc documentation build configuration file, created by
4
3
  # sphinx-quickstart on Tue Sep 13 15:00:43 2016.
@@ -21,7 +20,10 @@
21
20
  # sys.path.insert(0, os.path.abspath('.'))
22
21
  import os
23
22
  import sys
23
+
24
24
  import pkg_resources
25
+
26
+
25
27
  sys.path.append(os.path.abspath('../src'))
26
28
  rqmt = pkg_resources.require('zope.processlifetime')[0]
27
29
 
@@ -49,7 +51,7 @@ templates_path = ['_templates']
49
51
  # You can specify multiple suffix as a list of string:
50
52
  #
51
53
  # source_suffix = ['.rst', '.md']
52
- source_suffix = '.rst'
54
+ source_suffix = {'.rst': 'restructuredtext'}
53
55
 
54
56
  # The encoding of source files.
55
57
  #
@@ -59,9 +61,9 @@ source_suffix = '.rst'
59
61
  master_doc = 'index'
60
62
 
61
63
  # General information about the project.
62
- project = u'zope.processlifetime'
63
- copyright = u'2017, Zope Community'
64
- author = u'Zope Community'
64
+ project = 'zope.processlifetime'
65
+ copyright = '2017-2025, Zope Community'
66
+ author = 'Zope Community'
65
67
 
66
68
  # The version info for the project you're documenting, acts as replacement for
67
69
  # |version| and |release|, also used in various other places throughout the
@@ -77,7 +79,7 @@ release = rqmt.version
77
79
  #
78
80
  # This is also used if you do content translation via gettext catalogs.
79
81
  # Usually you set "language" from the command line for these cases.
80
- language = None
82
+ language = 'en'
81
83
 
82
84
  # There are two options for replacing |today|: either, you set today to some
83
85
  # non-false value, then it is used:
@@ -156,15 +158,15 @@ html_theme = 'default'
156
158
  # html_logo = None
157
159
 
158
160
  # The name of an image file (relative to this directory) to use as a favicon of
159
- # the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
160
- # pixels large.
161
+ # the docs. This file should be a Windows icon file (.ico) being 16x16 or
162
+ # 32x32 pixels large.
161
163
  #
162
164
  # html_favicon = None
163
165
 
164
166
  # Add any paths that contain custom static files (such as style sheets) here,
165
167
  # relative to this directory. They are copied after the builtin static files,
166
168
  # so a file named "default.css" will overwrite the builtin "default.css".
167
- html_static_path = ['_static']
169
+ # html_static_path = ['_static']
168
170
 
169
171
  # Add any extra paths that contain custom files (such as robots.txt or
170
172
  # .htaccess) here, relative to this directory. These files are copied
@@ -249,29 +251,32 @@ htmlhelp_basename = 'zopeprocesslifetime'
249
251
  # -- Options for LaTeX output ---------------------------------------------
250
252
 
251
253
  latex_elements = {
252
- # The paper size ('letterpaper' or 'a4paper').
253
- #
254
- # 'papersize': 'letterpaper',
254
+ # The paper size ('letterpaper' or 'a4paper').
255
+ #
256
+ # 'papersize': 'letterpaper',
255
257
 
256
- # The font size ('10pt', '11pt' or '12pt').
257
- #
258
- # 'pointsize': '10pt',
258
+ # The font size ('10pt', '11pt' or '12pt').
259
+ #
260
+ # 'pointsize': '10pt',
259
261
 
260
- # Additional stuff for the LaTeX preamble.
261
- #
262
- # 'preamble': '',
262
+ # Additional stuff for the LaTeX preamble.
263
+ #
264
+ # 'preamble': '',
263
265
 
264
- # Latex figure (float) alignment
265
- #
266
- # 'figure_align': 'htbp',
266
+ # Latex figure (float) alignment
267
+ #
268
+ # 'figure_align': 'htbp',
267
269
  }
268
270
 
269
271
  # Grouping the document tree into LaTeX files. List of tuples
270
272
  # (source start file, target name, title,
271
273
  # author, documentclass [howto, manual, or own class]).
272
274
  latex_documents = [
273
- (master_doc, 'zopeprocesslifetime.tex', u'zope.processlifetime Documentation',
274
- u'Zope Community', 'manual'),
275
+ (master_doc,
276
+ 'zopeprocesslifetime.tex',
277
+ 'zope.processlifetime Documentation',
278
+ 'Zope Community',
279
+ 'manual'),
275
280
  ]
276
281
 
277
282
  # The name of an image file (relative to this directory) to place at the top of
@@ -312,7 +317,7 @@ latex_documents = [
312
317
  # One entry per manual page. List of tuples
313
318
  # (source start file, name, description, authors, manual section).
314
319
  man_pages = [
315
- (master_doc, 'zopeprocesslifetime', u'zope.processlifetime Documentation',
320
+ (master_doc, 'zopeprocesslifetime', 'zope.processlifetime Documentation',
316
321
  [author], 1)
317
322
  ]
318
323
 
@@ -327,7 +332,7 @@ man_pages = [
327
332
  # (source start file, target name, title, author,
328
333
  # dir menu entry, description, category)
329
334
  texinfo_documents = [
330
- (master_doc, 'zopeprocesslifetime', u'zope.processlifetime Documentation',
335
+ (master_doc, 'zopeprocesslifetime', 'zope.processlifetime Documentation',
331
336
  author, 'zopeprocesslifetime', 'One line description of project.',
332
337
  'Miscellaneous'),
333
338
  ]
@@ -351,13 +356,16 @@ texinfo_documents = [
351
356
 
352
357
  # Example configuration for intersphinx: refer to the Python standard library.
353
358
  intersphinx_mapping = {
354
- 'https://docs.python.org/': None,
359
+ 'python': ('https://docs.python.org/', None),
355
360
  }
356
361
 
357
- extlinks = {'issue': ('https://github.com/zopefoundation/zope.processlifetime/issues/%s',
358
- 'issue #'),
359
- 'pr': ('https://github.com/zopefoundation/zope.processlifetime/pull/%s',
360
- 'pull request #')}
362
+ extlinks = {
363
+ 'issue': (
364
+ 'https://github.com/zopefoundation/zope.processlifetime/issues/%s',
365
+ 'issue #'),
366
+ 'pr': (
367
+ 'https://github.com/zopefoundation/zope.processlifetime/pull/%s',
368
+ 'pull request #')}
361
369
 
362
370
  autodoc_default_flags = [
363
371
  'members',
@@ -0,0 +1,3 @@
1
+ Sphinx
2
+ repoze.sphinx.autointerface
3
+ zope.processlifetime
@@ -0,0 +1,21 @@
1
+ #
2
+ # Generated from:
3
+ # https://github.com/zopefoundation/meta/tree/master/config/pure-python
4
+
5
+ [build-system]
6
+ requires = ["setuptools <= 75.6.0"]
7
+ build-backend = "setuptools.build_meta"
8
+
9
+ [tool.coverage.run]
10
+ branch = true
11
+ source = ["zope.processlifetime"]
12
+
13
+ [tool.coverage.report]
14
+ fail_under = 100
15
+ precision = 2
16
+ ignore_errors = true
17
+ show_missing = true
18
+ exclude_lines = ["pragma: no cover", "pragma: nocover", "except ImportError:", "raise NotImplementedError", "if __name__ == '__main__':", "self.fail", "raise AssertionError", "raise unittest.Skip"]
19
+
20
+ [tool.coverage.html]
21
+ directory = "parts/htmlcov"
@@ -1,6 +1,3 @@
1
- [bdist_wheel]
2
- universal = 1
3
-
4
1
  [flake8]
5
2
  doctests = 1
6
3
 
@@ -14,7 +11,7 @@ ignore =
14
11
  force_single_line = True
15
12
  combine_as_imports = True
16
13
  sections = FUTURE,STDLIB,THIRDPARTY,ZOPE,FIRSTPARTY,LOCALFOLDER
17
- known_third_party = six, docutils, pkg_resources
14
+ known_third_party = docutils, pkg_resources, pytz
18
15
  known_zope =
19
16
  known_first_party =
20
17
  default_section = ZOPE
@@ -26,13 +26,13 @@ def read(*rnames):
26
26
 
27
27
  setup(
28
28
  name='zope.processlifetime',
29
- version='2.4',
29
+ version='3.1',
30
30
  author='Zope Foundation and Contributors',
31
- author_email='zope-dev@zope.org',
31
+ author_email='zope-dev@zope.dev',
32
32
  description="Zope process lifetime events",
33
33
  long_description=(read('README.rst') + '\n\n' +
34
34
  read('CHANGES.rst')),
35
- license='ZPL 2.1',
35
+ license='ZPL-2.1',
36
36
  keywords="zope process lifetime events",
37
37
  classifiers=[
38
38
  'Development Status :: 5 - Production/Stable',
@@ -40,28 +40,25 @@ setup(
40
40
  'Intended Audience :: Developers',
41
41
  'License :: OSI Approved :: Zope Public License',
42
42
  'Programming Language :: Python',
43
- 'Programming Language :: Python :: 2',
44
- 'Programming Language :: Python :: 2.7',
45
43
  'Programming Language :: Python :: 3',
46
- 'Programming Language :: Python :: 3.5',
47
- 'Programming Language :: Python :: 3.6',
48
- 'Programming Language :: Python :: 3.7',
49
- 'Programming Language :: Python :: 3.8',
50
44
  'Programming Language :: Python :: 3.9',
51
45
  'Programming Language :: Python :: 3.10',
46
+ 'Programming Language :: Python :: 3.11',
47
+ 'Programming Language :: Python :: 3.12',
48
+ 'Programming Language :: Python :: 3.13',
52
49
  'Programming Language :: Python :: Implementation :: CPython',
53
50
  'Programming Language :: Python :: Implementation :: PyPy',
54
51
  'Natural Language :: English',
55
52
  'Operating System :: OS Independent',
56
53
  'Topic :: Internet :: WWW/HTTP',
57
54
  'Framework :: Zope :: 3',
58
- 'Framework :: Zope2',
55
+ 'Framework :: Zope :: 5',
59
56
  ],
60
57
  url='http://github.com/zopefoundation/zope.processlifetime',
61
58
  packages=find_packages('src'),
62
59
  package_dir={'': 'src'},
63
- test_suite='zope.processlifetime.tests',
64
60
  namespace_packages=['zope'],
61
+ python_requires='>=3.9',
65
62
  install_requires=[
66
63
  'setuptools',
67
64
  'zope.interface',
@@ -25,7 +25,7 @@ class IDatabaseOpened(Interface):
25
25
 
26
26
 
27
27
  @implementer(IDatabaseOpened)
28
- class DatabaseOpened(object):
28
+ class DatabaseOpened:
29
29
  """
30
30
  Implementation of :class:`~zope.processlifetime.IDatabaseOpened`.
31
31
  """
@@ -45,7 +45,7 @@ class IDatabaseOpenedWithRoot(Interface):
45
45
 
46
46
 
47
47
  @implementer(IDatabaseOpenedWithRoot)
48
- class DatabaseOpenedWithRoot(object):
48
+ class DatabaseOpenedWithRoot:
49
49
  """
50
50
  Implementation of :class:`~zope.processlifetime.IDatabaseOpenedWithRoot`.
51
51
  """
@@ -60,7 +60,7 @@ class IProcessStarting(Interface):
60
60
 
61
61
 
62
62
  @implementer(IProcessStarting)
63
- class ProcessStarting(object):
63
+ class ProcessStarting:
64
64
  """
65
65
  Implementation of :class:`~zope.processlifetime.IProcessStarting`.
66
66
  """
@@ -1,37 +1,39 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zope.processlifetime
3
- Version: 2.4
3
+ Version: 3.1
4
4
  Summary: Zope process lifetime events
5
5
  Home-page: http://github.com/zopefoundation/zope.processlifetime
6
6
  Author: Zope Foundation and Contributors
7
- Author-email: zope-dev@zope.org
8
- License: ZPL 2.1
7
+ Author-email: zope-dev@zope.dev
8
+ License: ZPL-2.1
9
9
  Keywords: zope process lifetime events
10
- Platform: UNKNOWN
11
10
  Classifier: Development Status :: 5 - Production/Stable
12
11
  Classifier: Environment :: Web Environment
13
12
  Classifier: Intended Audience :: Developers
14
13
  Classifier: License :: OSI Approved :: Zope Public License
15
14
  Classifier: Programming Language :: Python
16
- Classifier: Programming Language :: Python :: 2
17
- Classifier: Programming Language :: Python :: 2.7
18
15
  Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3.5
20
- Classifier: Programming Language :: Python :: 3.6
21
- Classifier: Programming Language :: Python :: 3.7
22
- Classifier: Programming Language :: Python :: 3.8
23
16
  Classifier: Programming Language :: Python :: 3.9
24
17
  Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
25
21
  Classifier: Programming Language :: Python :: Implementation :: CPython
26
22
  Classifier: Programming Language :: Python :: Implementation :: PyPy
27
23
  Classifier: Natural Language :: English
28
24
  Classifier: Operating System :: OS Independent
29
25
  Classifier: Topic :: Internet :: WWW/HTTP
30
26
  Classifier: Framework :: Zope :: 3
31
- Classifier: Framework :: Zope2
27
+ Classifier: Framework :: Zope :: 5
28
+ Requires-Python: >=3.9
29
+ License-File: LICENSE.txt
30
+ Requires-Dist: setuptools
31
+ Requires-Dist: zope.interface
32
32
  Provides-Extra: test
33
+ Requires-Dist: zope.testrunner; extra == "test"
33
34
  Provides-Extra: docs
34
- License-File: LICENSE.txt
35
+ Requires-Dist: Sphinx; extra == "docs"
36
+ Requires-Dist: repoze.sphinx.autointerface; extra == "docs"
35
37
 
36
38
  ==========================
37
39
  ``zope.processlifetime``
@@ -68,6 +70,24 @@ Documentation is hosted at https://zopeprocesslifetime.readthedocs.io/en/latest/
68
70
  Changes
69
71
  =========
70
72
 
73
+ 3.1 (2025-02-14)
74
+ ================
75
+
76
+ - Add support for Python 3.12, 3.13.
77
+
78
+ - Drop support for Python 3.7, 3.8.
79
+
80
+
81
+ 3.0 (2023-03-27)
82
+ ================
83
+
84
+ - Add support for Python 3.11.
85
+
86
+ - Drop support for Python 2.7, 3.5, 3.6.
87
+
88
+ - Drop support for deprecated ``python setup.py test``.
89
+
90
+
71
91
  2.4 (2022-08-26)
72
92
  ================
73
93
 
@@ -119,5 +139,3 @@ Documentation is hosted at https://zopeprocesslifetime.readthedocs.io/en/latest/
119
139
 
120
140
  - Split out event interfaces / implementations from ``zope.app.appsetup``
121
141
  version 3.10.2.
122
-
123
-
@@ -1,3 +1,5 @@
1
+ .pre-commit-config.yaml
2
+ .readthedocs.yaml
1
3
  CHANGES.rst
2
4
  CONTRIBUTING.md
3
5
  COPYRIGHT.txt
@@ -6,6 +8,7 @@ MANIFEST.in
6
8
  README.rst
7
9
  buildout.cfg
8
10
  docs-requirements.txt
11
+ pyproject.toml
9
12
  setup.cfg
10
13
  setup.py
11
14
  tox.ini
@@ -13,6 +16,7 @@ docs/Makefile
13
16
  docs/changelog.rst
14
17
  docs/conf.py
15
18
  docs/index.rst
19
+ docs/requirements.txt
16
20
  src/zope/__init__.py
17
21
  src/zope.processlifetime.egg-info/PKG-INFO
18
22
  src/zope.processlifetime.egg-info/SOURCES.txt
@@ -3,49 +3,60 @@
3
3
  [tox]
4
4
  minversion = 3.18
5
5
  envlist =
6
+ release-check
6
7
  lint
7
- py27
8
- py35
9
- py36
10
- py37
11
- py38
12
8
  py39
13
9
  py310
14
- pypy
10
+ py311
11
+ py312
12
+ py313
15
13
  pypy3
16
14
  docs
17
15
  coverage
18
16
 
19
17
  [testenv]
20
18
  usedevelop = true
19
+ package = wheel
20
+ wheel_build_env = .pkg
21
21
  deps =
22
+ setuptools <= 75.6.0
22
23
  commands =
23
24
  zope-testrunner --test-path=src {posargs:-vc}
24
25
  extras =
25
26
  test
26
27
 
27
- [testenv:lint]
28
+ [testenv:setuptools-latest]
29
+ basepython = python3
30
+ deps =
31
+ git+https://github.com/pypa/setuptools.git\#egg=setuptools
32
+
33
+ [testenv:release-check]
34
+ description = ensure that the distribution is ready to release
28
35
  basepython = python3
29
36
  skip_install = true
30
- commands =
31
- isort --check-only --diff {toxinidir}/src {toxinidir}/setup.py
32
- flake8 src setup.py
33
- check-manifest
34
- check-python-versions
35
37
  deps =
38
+ setuptools <= 75.6.0
39
+ twine
40
+ build
36
41
  check-manifest
37
- check-python-versions >= 0.19.1
42
+ check-python-versions >= 0.20.0
38
43
  wheel
39
- flake8
40
- isort
44
+ commands_pre =
45
+ commands =
46
+ check-manifest
47
+ check-python-versions --only setup.py,tox.ini,.github/workflows/tests.yml
48
+ python -m build --sdist --no-isolation
49
+ twine check dist/*
41
50
 
42
- [testenv:isort-apply]
51
+ [testenv:lint]
52
+ description = This env runs all linters configured in .pre-commit-config.yaml
43
53
  basepython = python3
44
- commands_pre =
54
+ skip_install = true
45
55
  deps =
46
- isort
56
+ pre-commit
57
+ commands_pre =
47
58
  commands =
48
- isort {toxinidir}/src {toxinidir}/setup.py []
59
+ pre-commit run --all-files --show-diff-on-failure
49
60
 
50
61
  [testenv:docs]
51
62
  basepython = python3
@@ -61,29 +72,9 @@ basepython = python3
61
72
  allowlist_externals =
62
73
  mkdir
63
74
  deps =
64
- coverage
65
- coverage-python-version
75
+ coverage[toml]
66
76
  commands =
67
77
  mkdir -p {toxinidir}/parts/htmlcov
68
78
  coverage run -m zope.testrunner --test-path=src {posargs:-vc}
69
79
  coverage html
70
- coverage report -m --fail-under=100
71
-
72
- [coverage:run]
73
- branch = True
74
- plugins = coverage_python_version
75
- source = zope.processlifetime
76
-
77
- [coverage:report]
78
- precision = 2
79
- exclude_lines =
80
- pragma: no cover
81
- pragma: nocover
82
- except ImportError:
83
- raise NotImplementedError
84
- if __name__ == '__main__':
85
- self.fail
86
- raise AssertionError
87
-
88
- [coverage:html]
89
- directory = parts/htmlcov
80
+ coverage report