Skip to content

Commit 7d10fbf

Browse files
committed
- Create Zope 5.x branch that uses pkg_resources-style namespaces
1 parent 78b3ef5 commit 7d10fbf

File tree

15 files changed

+42
-57
lines changed

15 files changed

+42
-57
lines changed

.github/workflows/tests.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ jobs:
3030
- ["3.11", "py311"]
3131
- ["3.12", "py312"]
3232
- ["3.13", "py313"]
33-
- ["3.14", "py314"]
3433
- ["3.11", "docs"]
3534
- ["3.11", "coverage"]
3635
exclude:

CHANGES.rst

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,14 @@
11
Change log
22
==========
33

4-
These are all the changes for Zope since the first Zope 5 alpha release.
4+
These are all the changes for Zope 5 since the first Zope 5 alpha release.
55

66
The change log for Zope 4 is at
77
https://github.com/zopefoundation/Zope/blob/4.x/CHANGES.rst
88

99

10-
6.0 (unreleased)
11-
----------------
12-
13-
- Update to newest compatible versions of dependencies.
14-
15-
16-
6.0b1 (2025-11-22)
17-
------------------
18-
19-
- Replace ``pkg_resources`` namespaces with PEP 420 native namespaces.
20-
This change requires using ``zc.buildout`` version 5.
21-
22-
- Drop support for Python 3.9.
10+
5.14 (unreleased)
11+
-----------------
2312

2413
- Switch from `z3c.checkversions` to `plone.versioncheck` to detect outdated
2514
dependency pins as `z3c.checkversions` no longer works and seems abandoned.
@@ -30,6 +19,8 @@ https://github.com/zopefoundation/Zope/blob/4.x/CHANGES.rst
3019
- Enable multipart/form-data and application/x-www-form-urlencoded support
3120
for PATCH requests.
3221

22+
- Drop support for Python 3.9.
23+
3324

3425
5.13 (2025-03-18)
3526
-----------------

constraints.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ MultiMapping==5.0
1515
Paste==3.10.1
1616
PasteDeploy==3.1.0
1717
Persistence==5.4
18-
Products.BTreeFolder2==6.0
18+
Products.BTreeFolder2==5.1
1919
Products.ZCatalog==7.2.1
2020
Pygments==2.19.2
2121
Record==4.1
@@ -79,9 +79,9 @@ urllib3==2.5.0
7979
waitress==3.0.2
8080
z3c.pt==5.1
8181
zExceptions==5.0
82-
zc.lockfile==4.0
83-
zc.recipe.egg==4.0.0
84-
zc.recipe.testrunner==4.0
82+
zc.lockfile==3.0.post1
83+
zc.recipe.egg==3.0.0
84+
zc.recipe.testrunner==3.2
8585
zodbpickle==4.3
8686
zope.annotation==6.0
8787
zope.browser==4.0

docs/INSTALL.rst

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ available:
1212

1313
- A supported version of Python, including the development support if
1414
installed from system-level packages. Supported versions include
15-
**3.10** up to **3.14**.
15+
**3.10** up to **3.13**.
1616

1717
- Zope needs the Python ``zlib`` module to be importable. If you are
1818
building your own Python from source, please be sure that you have the
@@ -57,15 +57,20 @@ steps:
5757
- Create a buildout configuration file ``buildout.cfg``
5858
- Run the buildout
5959

60-
The following examples are from Linux and use Zope version 6.0. Just replace
60+
61+
.. note::
62+
63+
Zope 5 requires using ``zc.buildout`` version 4. Version 5 will not work.
64+
65+
The following examples are from Linux and use Zope version 5.0. Just replace
6166
that version number with your desired version.
6267

6368
.. code-block:: console
6469
6570
$ python3.13 -m venv zope
6671
$ cd zope
6772
<create buildout.cfg in this folder, see examples below>
68-
$ bin/pip install -U pip wheel zc.buildout
73+
$ bin/pip install -U pip wheel 'zc.buildout<5'
6974
$ bin/buildout
7075
7176
Using the simplest possible configuration
@@ -77,7 +82,7 @@ built-in ``bin/mkwsgiinstance`` script to create a Zope instance:
7782
7883
[buildout]
7984
extends =
80-
https://zopefoundation.github.io/Zope/releases/6.0/versions-prod.cfg
85+
https://zopefoundation.github.io/Zope/releases/5.0/versions-prod.cfg
8186
parts =
8287
zopescripts
8388
@@ -100,7 +105,7 @@ options, please see the
100105
101106
[buildout]
102107
extends =
103-
https://zopefoundation.github.io/Zope/releases/6.0/versions-prod.cfg
108+
https://zopefoundation.github.io/Zope/releases/5.0/versions-prod.cfg
104109
parts =
105110
zopeinstance
106111
@@ -139,7 +144,7 @@ steps:
139144

140145
- Install Zope and its dependencies
141146

142-
Example steps on Linux. Replace the version number "6.0" with the latest
147+
Example steps on Linux. Replace the version number "5.0" with the latest
143148
version you find on https://zopefoundation.github.io/Zope/:
144149

145150
.. code-block:: console
@@ -148,7 +153,7 @@ version you find on https://zopefoundation.github.io/Zope/:
148153
$ cd zope
149154
$ bin/pip install -U pip wheel
150155
$ bin/pip install Zope[wsgi] \
151-
-c https://zopefoundation.github.io/Zope/releases/6.0/constraints.txt
156+
-c https://zopefoundation.github.io/Zope/releases/5.0/constraints.txt
152157
153158
You can also install Zope using a single requirements file. **Note that this
154159
installation method might install packages that are not actually needed** (i. e.
@@ -157,21 +162,21 @@ more than are listed in the ``dependencies`` section of ``pyproject.toml``):
157162
.. code-block:: console
158163
159164
$ bin/pip install \
160-
-r https://zopefoundation.github.io/Zope/releases/6.0/requirements-full.txt
165+
-r https://zopefoundation.github.io/Zope/releases/5.0/requirements-full.txt
161166
162167
163168
Building the documentation
164169
--------------------------
165170
You can build the documentation locally. Example steps on Linux. Replace the
166-
version number "6.0" with the latest version you find on
171+
version number "5.0" with the latest version you find on
167172
https://zopefoundation.github.io/Zope/:
168173

169174
.. code-block:: console
170175
171176
$ git clone https://github.com/zopefoundation/Zope.git
172177
$ cd Zope
173178
$ python3.13 -m venv .
174-
$ bin/pip install -U pip wheel zc.buildout tox
179+
$ bin/pip install -U pip wheel 'zc.buildout<5' tox
175180
$ bin/tox -edocs
176181
177182
The HTML output will be in ``docs/_build/html/``.

docs/news.rst

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,6 @@ supported and for how long.
1515
:ref:`zope4migration` documentation
1616

1717

18-
What's new in Zope 6
19-
--------------------
20-
21-
Added support for newer Python versions
22-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23-
24-
* Zope 6.0 and newer support Python 3.14.
25-
26-
Packaging updates
27-
~~~~~~~~~~~~~~~~~
28-
29-
Zope 6.0 and all dependencies that contain namespace packages have switched
30-
from the deprecated ``pkg_resources`` style to the newer PEP 420 style
31-
namespace package configuration.
32-
33-
3418
What's new in Zope 5
3519
--------------------
3620

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ build-backend = "setuptools.build_meta"
1111

1212
[project]
1313
name = "Zope"
14-
version = "6.0.dev0"
14+
version = "5.14.dev0"
1515
description = "Zope application server / web framework"
1616
readme = "README.rst"
1717
requires-python = ">=3.10"
@@ -36,7 +36,6 @@ classifiers = [
3636
"Programming Language :: Python :: 3.11",
3737
"Programming Language :: Python :: 3.12",
3838
"Programming Language :: Python :: 3.13",
39-
"Programming Language :: Python :: 3.14",
4039
"Programming Language :: Python :: Implementation :: CPython",
4140
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
4241
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",

requirements-full.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ transaction==5.0
3232
waitress==3.0.2
3333
z3c.pt==5.1
3434
zExceptions==5.0
35-
zc.lockfile==4.0
36-
zc.recipe.egg==4.0.0
35+
zc.lockfile==3.0.post1
36+
zc.recipe.egg==3.0.0
3737
zodbpickle==4.3
3838
zope.annotation==6.0
3939
zope.browser==4.0

setup.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@
1212
#
1313
##############################################################################
1414

15+
from setuptools import find_packages
1516
from setuptools import setup
1617

1718

1819
# See pyproject.toml for package metadata
19-
setup()
20+
setup(packages=find_packages('src'),
21+
namespace_packages=['Products', 'Shared', 'Shared.DC', 'zmi'],
22+
package_dir={'': 'src'},
23+
)

src/Products/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
__import__("pkg_resources").declare_namespace(__name__)

src/Shared/DC/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
__import__("pkg_resources").declare_namespace(__name__)

0 commit comments

Comments
 (0)