Skip to content

Commit 932d370

Browse files
committed
- Move package metadata from setup.py to pyproject.toml
1 parent b3951c1 commit 932d370

3 files changed

Lines changed: 76 additions & 79 deletions

File tree

CHANGES.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
6.2 (unreleased)
66
================
77

8+
- Move package metadata from setup.py to pyproject.toml.
9+
810
- Add support for Python 3.14.
911

1012
- Drop support for Python 3.9.

pyproject.toml

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,80 @@
11
# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
22
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
3-
43
[build-system]
54
requires = [
65
"setuptools >= 78.1.1,< 81",
76
"wheel",
87
]
98
build-backend = "setuptools.build_meta"
109

10+
11+
[project]
12+
name = "ZODB"
13+
version = "6.2.dev0"
14+
license = "ZPL-2.1"
15+
classifiers = [
16+
"Intended Audience :: Developers",
17+
"Programming Language :: Python",
18+
"Programming Language :: Python :: 3",
19+
"Programming Language :: Python :: 3.10",
20+
"Programming Language :: Python :: 3.11",
21+
"Programming Language :: Python :: 3.12",
22+
"Programming Language :: Python :: 3.13",
23+
"Programming Language :: Python :: 3.14",
24+
"Programming Language :: Python :: Implementation :: CPython",
25+
"Programming Language :: Python :: Implementation :: PyPy",
26+
"Topic :: Database",
27+
"Topic :: Software Development :: Libraries :: Python Modules",
28+
"Operating System :: Microsoft :: Windows",
29+
"Operating System :: Unix",
30+
"Framework :: ZODB",
31+
]
32+
dynamic = ["readme"]
33+
requires-python = ">=3.10"
34+
authors = [
35+
{name = "Jim Fulton",email = "jim@zope.com"},
36+
]
37+
maintainers = [
38+
{name = "Plone Foundation and contributors",email = "zope-dev@zope.dev"},
39+
]
40+
dependencies = [
41+
"persistent >= 4.4.0",
42+
"BTrees >= 4.2.0",
43+
"ZConfig",
44+
"transaction >= 2.4",
45+
"zc.lockfile",
46+
"zope.interface",
47+
"zodbpickle >= 1.0.1",
48+
]
49+
keywords = ["database", "nosql", "python", "zope"]
50+
51+
[project.scripts]
52+
fsdump = "ZODB.FileStorage.fsdump:main"
53+
fsoids = "ZODB.scripts.fsoids:main"
54+
fsrefs = "ZODB.scripts.fsrefs:main"
55+
fstail = "ZODB.scripts.fstail:Main"
56+
repozo = "ZODB.scripts.repozo:main"
57+
58+
[project.optional-dependencies]
59+
test = [
60+
"manuel",
61+
"zope.testing",
62+
"zope.testrunner >= 4.4.6",
63+
]
64+
docs = [
65+
"Sphinx < 7",
66+
"ZODB",
67+
"j1m.sphinxautozconfig",
68+
"sphinx_rtd_theme",
69+
"sphinxcontrib_zopeext",
70+
]
71+
72+
[project.urls]
73+
Documentation = "http://zodb-docs.readthedocs.io"
74+
Issues = "https://github.com/zopefoundation/ZODB/issues"
75+
Source = "https://github.com/zopefoundation/ZODB"
76+
Changelog = "https://github.com/zopefoundation/ZODB/blob/master/CHANGES.rst"
77+
1178
[tool.coverage.run]
1279
branch = true
1380
source = ["ZODB"]
@@ -30,3 +97,7 @@ exclude_lines = [
3097

3198
[tool.coverage.html]
3299
directory = "parts/htmlcov"
100+
101+
[tool.setuptools.dynamic]
102+
readme = {file = ["README.rst", "CHANGES.rst"]}
103+

setup.py

Lines changed: 2 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -11,84 +11,8 @@
1111
# FOR A PARTICULAR PURPOSE.
1212
#
1313
##############################################################################
14-
from setuptools import find_packages
1514
from setuptools import setup
1615

1716

18-
def read(path):
19-
with open(path) as f:
20-
return f.read()
21-
22-
23-
long_description = read("README.rst") + "\n\n" + read("CHANGES.rst")
24-
25-
26-
setup(
27-
name="ZODB",
28-
version='6.2.dev0',
29-
author="Jim Fulton",
30-
author_email="jim@zope.com",
31-
maintainer="Zope Foundation and Contributors",
32-
maintainer_email="zodb-dev@zope.dev",
33-
keywords="database nosql python zope",
34-
packages=find_packages('src'),
35-
package_dir={'': 'src'},
36-
url='http://zodb-docs.readthedocs.io',
37-
license="ZPL-2.1",
38-
platforms=["any"],
39-
classifiers=[
40-
"Intended Audience :: Developers",
41-
"License :: OSI Approved :: Zope Public License",
42-
"Programming Language :: Python",
43-
"Programming Language :: Python :: 3",
44-
"Programming Language :: Python :: 3.10",
45-
"Programming Language :: Python :: 3.11",
46-
"Programming Language :: Python :: 3.12",
47-
"Programming Language :: Python :: 3.13",
48-
"Programming Language :: Python :: 3.14",
49-
"Programming Language :: Python :: Implementation :: CPython",
50-
"Programming Language :: Python :: Implementation :: PyPy",
51-
"Topic :: Database",
52-
"Topic :: Software Development :: Libraries :: Python Modules",
53-
"Operating System :: Microsoft :: Windows",
54-
"Operating System :: Unix",
55-
"Framework :: ZODB",
56-
],
57-
description=long_description.split('\n', 2)[1],
58-
long_description=long_description,
59-
long_description_content_type='text/x-rst',
60-
extras_require={
61-
'test': [
62-
'manuel',
63-
'zope.testing',
64-
'zope.testrunner >= 4.4.6',
65-
],
66-
'docs': [
67-
'Sphinx < 7',
68-
'ZODB',
69-
'j1m.sphinxautozconfig',
70-
'sphinx_rtd_theme',
71-
'sphinxcontrib_zopeext',
72-
],
73-
},
74-
install_requires=[
75-
'persistent >= 4.4.0',
76-
'BTrees >= 4.2.0',
77-
'ZConfig',
78-
'transaction >= 2.4',
79-
'zc.lockfile',
80-
'zope.interface',
81-
'zodbpickle >= 1.0.1',
82-
],
83-
zip_safe=False,
84-
entry_points="""
85-
[console_scripts]
86-
fsdump = ZODB.FileStorage.fsdump:main
87-
fsoids = ZODB.scripts.fsoids:main
88-
fsrefs = ZODB.scripts.fsrefs:main
89-
fstail = ZODB.scripts.fstail:Main
90-
repozo = ZODB.scripts.repozo:main
91-
""",
92-
include_package_data=True,
93-
python_requires='>=3.10',
94-
)
17+
# See pyproject.toml for package metadata
18+
setup()

0 commit comments

Comments
 (0)