Products.PythonScripts 5.1__tar.gz → 5.2__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 (52) hide show
  1. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/.pre-commit-config.yaml +5 -5
  2. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/CHANGES.rst +10 -0
  3. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/CONTRIBUTING.md +1 -1
  4. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/PKG-INFO +26 -7
  5. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/pyproject.toml +14 -2
  6. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/setup.py +5 -12
  7. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/__init__.py +1 -1
  8. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products.PythonScripts.egg-info/PKG-INFO +26 -7
  9. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products.PythonScripts.egg-info/SOURCES.txt +0 -3
  10. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products.PythonScripts.egg-info/requires.txt +0 -1
  11. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/tox.ini +9 -9
  12. Products.PythonScripts-5.1/src/Products/__init__.py +0 -1
  13. Products.PythonScripts-5.1/src/Products.PythonScripts.egg-info/namespace_packages.txt +0 -1
  14. Products.PythonScripts-5.1/src/Products.PythonScripts.egg-info/not-zip-safe +0 -1
  15. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/COPYRIGHT.txt +0 -0
  16. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/LICENSE.txt +0 -0
  17. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/MANIFEST.in +0 -0
  18. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/README.rst +0 -0
  19. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/buildout.cfg +0 -0
  20. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/setup.cfg +0 -0
  21. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/Extensions/RemotePS.py +0 -0
  22. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/PythonScript.py +0 -0
  23. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/Utility.py +0 -0
  24. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/configure.zcml +0 -0
  25. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/standard.py +0 -0
  26. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/__init__.py +0 -0
  27. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/testBindings.py +0 -0
  28. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/testPythonScript.py +0 -0
  29. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/big_boolean.ps +0 -0
  30. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/boolean_map.ps +0 -0
  31. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/class.__name__.ps +0 -0
  32. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/complete.ps +0 -0
  33. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/complex_print.ps +0 -0
  34. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/fibonacci.ps +0 -0
  35. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/filepath.ps +0 -0
  36. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/for_loop.ps +0 -0
  37. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/global_is_declaration.ps +0 -0
  38. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/mutate_literals.ps +0 -0
  39. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/ns_bind.ps +0 -0
  40. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/ns_bind_invalid.ps +0 -0
  41. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/simple_print.ps +0 -0
  42. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/subversive_except.ps +0 -0
  43. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/try_except.ps +0 -0
  44. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/tuple_unpack_assignment.ps +0 -0
  45. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/tests/tscripts/while_loop.ps +0 -0
  46. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/www/default_content +0 -0
  47. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/www/pyScriptAdd.dtml +0 -0
  48. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/www/pyScriptEdit.dtml +0 -0
  49. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products/PythonScripts/www/pyScriptProxy.dtml +0 -0
  50. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products.PythonScripts.egg-info/dependency_links.txt +0 -0
  51. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products.PythonScripts.egg-info/entry_points.txt +0 -0
  52. {Products.PythonScripts-5.1 → products_pythonscripts-5.2}/src/Products.PythonScripts.egg-info/top_level.txt +0 -0
@@ -3,25 +3,25 @@
3
3
  minimum_pre_commit_version: '3.6'
4
4
  repos:
5
5
  - repo: https://github.com/pycqa/isort
6
- rev: "5.13.2"
6
+ rev: "7.0.0"
7
7
  hooks:
8
8
  - id: isort
9
9
  - repo: https://github.com/hhatto/autopep8
10
- rev: "v2.3.1"
10
+ rev: "v2.3.2"
11
11
  hooks:
12
12
  - id: autopep8
13
13
  args: [--in-place, --aggressive, --aggressive]
14
14
  - repo: https://github.com/asottile/pyupgrade
15
- rev: v3.17.0
15
+ rev: v3.21.0
16
16
  hooks:
17
17
  - id: pyupgrade
18
- args: [--py38-plus]
18
+ args: [--py310-plus]
19
19
  - repo: https://github.com/isidentical/teyit
20
20
  rev: 0.4.3
21
21
  hooks:
22
22
  - id: teyit
23
23
  - repo: https://github.com/PyCQA/flake8
24
- rev: "7.1.1"
24
+ rev: "7.3.0"
25
25
  hooks:
26
26
  - id: flake8
27
27
  additional_dependencies:
@@ -1,6 +1,16 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 5.2 (2025-11-20)
5
+ ----------------
6
+
7
+ - Switch to PEP 420 native namespace.
8
+
9
+ - Add support for Python 3.14.
10
+
11
+ - Drop support for Python 3.8 and 3.9.
12
+
13
+
4
14
  5.1 (2024-10-16)
5
15
  ----------------
6
16
 
@@ -1,7 +1,7 @@
1
1
  <!--
2
2
  Generated from:
3
3
  https://github.com/zopefoundation/meta/tree/master/config/zope-product
4
- -->
4
+ -->
5
5
  # Contributing to zopefoundation projects
6
6
 
7
7
  The projects under the zopefoundation GitHub organization are open source and
@@ -1,11 +1,11 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: Products.PythonScripts
3
- Version: 5.1
3
+ Version: 5.2
4
4
  Summary: Provides support for restricted execution of Python scripts in Zope.
5
5
  Home-page: https://github.com/zopefoundation/Products.PythonScripts
6
6
  Author: Zope Foundation and Contributors
7
7
  Author-email: zope-dev@zope.dev
8
- License: ZPL 2.1
8
+ License: ZPL-2.1
9
9
  Project-URL: Issue Tracker, https://github.com/zopefoundation/Products.PythonScripts/issues
10
10
  Project-URL: Sources, https://github.com/zopefoundation/Products.PythonScripts
11
11
  Classifier: Development Status :: 6 - Mature
@@ -16,16 +16,14 @@ Classifier: License :: OSI Approved :: Zope Public License
16
16
  Classifier: Operating System :: OS Independent
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3.8
20
- Classifier: Programming Language :: Python :: 3.9
21
19
  Classifier: Programming Language :: Python :: 3.10
22
20
  Classifier: Programming Language :: Python :: 3.11
23
21
  Classifier: Programming Language :: Python :: 3.12
24
22
  Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
25
24
  Classifier: Programming Language :: Python :: Implementation :: CPython
26
- Requires-Python: >=3.8
25
+ Requires-Python: >=3.10
27
26
  License-File: LICENSE.txt
28
- Requires-Dist: setuptools
29
27
  Requires-Dist: AccessControl
30
28
  Requires-Dist: Acquisition
31
29
  Requires-Dist: DateTime
@@ -33,6 +31,17 @@ Requires-Dist: DocumentTemplate
33
31
  Requires-Dist: RestrictedPython>=4.0b5
34
32
  Requires-Dist: zExceptions
35
33
  Requires-Dist: Zope>=4.1.2
34
+ Dynamic: author
35
+ Dynamic: author-email
36
+ Dynamic: classifier
37
+ Dynamic: description
38
+ Dynamic: home-page
39
+ Dynamic: license
40
+ Dynamic: license-file
41
+ Dynamic: project-url
42
+ Dynamic: requires-dist
43
+ Dynamic: requires-python
44
+ Dynamic: summary
36
45
 
37
46
  .. image:: https://github.com/zopefoundation/Products.PythonScripts/actions/workflows/tests.yml/badge.svg
38
47
  :target: https://github.com/zopefoundation/Products.PythonScripts/actions/workflows/tests.yml
@@ -126,6 +135,16 @@ in the Products directory.
126
135
  Changelog
127
136
  =========
128
137
 
138
+ 5.2 (2025-11-20)
139
+ ----------------
140
+
141
+ - Switch to PEP 420 native namespace.
142
+
143
+ - Add support for Python 3.14.
144
+
145
+ - Drop support for Python 3.8 and 3.9.
146
+
147
+
129
148
  5.1 (2024-10-16)
130
149
  ----------------
131
150
 
@@ -3,7 +3,10 @@
3
3
  # https://github.com/zopefoundation/meta/tree/master/config/zope-product
4
4
 
5
5
  [build-system]
6
- requires = ["setuptools < 74"]
6
+ requires = [
7
+ "setuptools >= 78.1.1,< 81",
8
+ "wheel",
9
+ ]
7
10
  build-backend = "setuptools.build_meta"
8
11
 
9
12
  [tool.coverage.run]
@@ -15,7 +18,16 @@ fail_under = 83
15
18
  precision = 2
16
19
  ignore_errors = true
17
20
  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"]
21
+ exclude_lines = [
22
+ "pragma: no cover",
23
+ "pragma: nocover",
24
+ "except ImportError:",
25
+ "raise NotImplementedError",
26
+ "if __name__ == '__main__':",
27
+ "self.fail",
28
+ "raise AssertionError",
29
+ "raise unittest.Skip",
30
+ ]
19
31
 
20
32
  [tool.coverage.html]
21
33
  directory = "parts/htmlcov"
@@ -12,12 +12,11 @@
12
12
  #
13
13
  ##############################################################################
14
14
 
15
- from setuptools import find_packages
16
15
  from setuptools import setup
17
16
 
18
17
 
19
18
  setup(name='Products.PythonScripts',
20
- version='5.1',
19
+ version='5.2',
21
20
  url='https://github.com/zopefoundation/Products.PythonScripts',
22
21
  project_urls={
23
22
  'Issue Tracker': ('https://github.com/zopefoundation/'
@@ -25,16 +24,13 @@ setup(name='Products.PythonScripts',
25
24
  'Sources': ('https://github.com/zopefoundation/'
26
25
  'Products.PythonScripts'),
27
26
  },
28
- license='ZPL 2.1',
27
+ license='ZPL-2.1',
29
28
  description='Provides support for restricted execution of Python '
30
29
  'scripts in Zope.',
31
30
  author='Zope Foundation and Contributors',
32
31
  author_email='zope-dev@zope.dev',
33
32
  long_description=('{}\n{}'.format(open('README.rst').read(),
34
33
  open('CHANGES.rst').read())),
35
- packages=find_packages('src'),
36
- namespace_packages=['Products'],
37
- package_dir={'': 'src'},
38
34
  classifiers=[
39
35
  'Development Status :: 6 - Mature',
40
36
  'Environment :: Web Environment',
@@ -44,17 +40,15 @@ setup(name='Products.PythonScripts',
44
40
  'Operating System :: OS Independent',
45
41
  'Programming Language :: Python',
46
42
  'Programming Language :: Python :: 3',
47
- 'Programming Language :: Python :: 3.8',
48
- 'Programming Language :: Python :: 3.9',
49
43
  'Programming Language :: Python :: 3.10',
50
44
  'Programming Language :: Python :: 3.11',
51
45
  'Programming Language :: Python :: 3.12',
52
46
  'Programming Language :: Python :: 3.13',
47
+ 'Programming Language :: Python :: 3.14',
53
48
  'Programming Language :: Python :: Implementation :: CPython',
54
49
  ],
55
- python_requires='>=3.8',
50
+ python_requires='>=3.10',
56
51
  install_requires=[
57
- 'setuptools',
58
52
  'AccessControl',
59
53
  'Acquisition',
60
54
  'DateTime',
@@ -63,11 +57,10 @@ setup(name='Products.PythonScripts',
63
57
  'zExceptions',
64
58
  'Zope >= 4.1.2',
65
59
  ],
66
- include_package_data=True,
67
- zip_safe=False,
68
60
  entry_points={
69
61
  'zodbupdate.decode': [
70
62
  'decodes = Products.PythonScripts:zodbupdate_decode_dict',
71
63
  ],
72
64
  },
65
+ include_package_data=True,
73
66
  )
@@ -43,7 +43,7 @@ def initialize(context):
43
43
  icon='www/pyscript.gif',
44
44
  )
45
45
 
46
- global _m
46
+ global _m # noqa: F824
47
47
  _m['recompile'] = recompile
48
48
  _m['recompile__roles__'] = ('Manager',)
49
49
 
@@ -1,11 +1,11 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: Products.PythonScripts
3
- Version: 5.1
3
+ Version: 5.2
4
4
  Summary: Provides support for restricted execution of Python scripts in Zope.
5
5
  Home-page: https://github.com/zopefoundation/Products.PythonScripts
6
6
  Author: Zope Foundation and Contributors
7
7
  Author-email: zope-dev@zope.dev
8
- License: ZPL 2.1
8
+ License: ZPL-2.1
9
9
  Project-URL: Issue Tracker, https://github.com/zopefoundation/Products.PythonScripts/issues
10
10
  Project-URL: Sources, https://github.com/zopefoundation/Products.PythonScripts
11
11
  Classifier: Development Status :: 6 - Mature
@@ -16,16 +16,14 @@ Classifier: License :: OSI Approved :: Zope Public License
16
16
  Classifier: Operating System :: OS Independent
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3.8
20
- Classifier: Programming Language :: Python :: 3.9
21
19
  Classifier: Programming Language :: Python :: 3.10
22
20
  Classifier: Programming Language :: Python :: 3.11
23
21
  Classifier: Programming Language :: Python :: 3.12
24
22
  Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
25
24
  Classifier: Programming Language :: Python :: Implementation :: CPython
26
- Requires-Python: >=3.8
25
+ Requires-Python: >=3.10
27
26
  License-File: LICENSE.txt
28
- Requires-Dist: setuptools
29
27
  Requires-Dist: AccessControl
30
28
  Requires-Dist: Acquisition
31
29
  Requires-Dist: DateTime
@@ -33,6 +31,17 @@ Requires-Dist: DocumentTemplate
33
31
  Requires-Dist: RestrictedPython>=4.0b5
34
32
  Requires-Dist: zExceptions
35
33
  Requires-Dist: Zope>=4.1.2
34
+ Dynamic: author
35
+ Dynamic: author-email
36
+ Dynamic: classifier
37
+ Dynamic: description
38
+ Dynamic: home-page
39
+ Dynamic: license
40
+ Dynamic: license-file
41
+ Dynamic: project-url
42
+ Dynamic: requires-dist
43
+ Dynamic: requires-python
44
+ Dynamic: summary
36
45
 
37
46
  .. image:: https://github.com/zopefoundation/Products.PythonScripts/actions/workflows/tests.yml/badge.svg
38
47
  :target: https://github.com/zopefoundation/Products.PythonScripts/actions/workflows/tests.yml
@@ -126,6 +135,16 @@ in the Products directory.
126
135
  Changelog
127
136
  =========
128
137
 
138
+ 5.2 (2025-11-20)
139
+ ----------------
140
+
141
+ - Switch to PEP 420 native namespace.
142
+
143
+ - Add support for Python 3.14.
144
+
145
+ - Drop support for Python 3.8 and 3.9.
146
+
147
+
129
148
  5.1 (2024-10-16)
130
149
  ----------------
131
150
 
@@ -10,13 +10,10 @@ pyproject.toml
10
10
  setup.cfg
11
11
  setup.py
12
12
  tox.ini
13
- src/Products/__init__.py
14
13
  src/Products.PythonScripts.egg-info/PKG-INFO
15
14
  src/Products.PythonScripts.egg-info/SOURCES.txt
16
15
  src/Products.PythonScripts.egg-info/dependency_links.txt
17
16
  src/Products.PythonScripts.egg-info/entry_points.txt
18
- src/Products.PythonScripts.egg-info/namespace_packages.txt
19
- src/Products.PythonScripts.egg-info/not-zip-safe
20
17
  src/Products.PythonScripts.egg-info/requires.txt
21
18
  src/Products.PythonScripts.egg-info/top_level.txt
22
19
  src/Products/PythonScripts/PythonScript.py
@@ -1,4 +1,3 @@
1
- setuptools
2
1
  AccessControl
3
2
  Acquisition
4
3
  DateTime
@@ -5,20 +5,19 @@ minversion = 3.18
5
5
  envlist =
6
6
  release-check
7
7
  lint
8
- py38
9
- py39
10
8
  py310
11
9
  py311
12
10
  py312
13
11
  py313
12
+ py314
14
13
  coverage
15
14
 
16
15
  [testenv]
17
16
  skip_install = true
18
17
  deps =
19
- setuptools < 74
20
- zc.buildout >= 3.1
21
- wheel > 0.37
18
+ setuptools >= 78.1.1,< 81
19
+ zc.buildout
20
+ wheel
22
21
  setenv =
23
22
  commands_pre =
24
23
  {envbindir}/buildout -nc {toxinidir}/buildout.cfg buildout:directory={envdir} buildout:develop={toxinidir} install test
@@ -29,8 +28,8 @@ commands =
29
28
  basepython = python3
30
29
  deps =
31
30
  git+https://github.com/pypa/setuptools.git\#egg=setuptools
32
- zc.buildout >= 3.1
33
- wheel > 0.37
31
+ zc.buildout
32
+ wheel
34
33
 
35
34
 
36
35
  [testenv:release-check]
@@ -38,7 +37,8 @@ description = ensure that the distribution is ready to release
38
37
  basepython = python3
39
38
  skip_install = true
40
39
  deps =
41
- setuptools < 74
40
+ setuptools >= 78.1.1,< 81
41
+ wheel
42
42
  twine
43
43
  build
44
44
  check-manifest
@@ -47,7 +47,7 @@ deps =
47
47
  commands_pre =
48
48
  commands =
49
49
  check-manifest
50
- check-python-versions --only setup.py,tox.ini,.github/workflows/tests.yml
50
+ check-python-versions --only pyproject.toml,setup.py,tox.ini,.github/workflows/tests.yml
51
51
  python -m build --sdist --no-isolation
52
52
  twine check dist/*
53
53
 
@@ -1 +0,0 @@
1
- __import__('pkg_resources').declare_namespace(__name__)