diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cbc3729..c28fa26 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -69,7 +69,7 @@ repos: rev: "0.24.2" hooks: - id: check-python-versions - args: ['--only', 'setup.py,tox.ini'] + args: ['--only', 'pyproject.toml,tox.ini'] - repo: https://github.com/collective/i18ndude rev: "6.3.0" hooks: diff --git a/news/+setup-to-pyproject.internal b/news/+setup-to-pyproject.internal new file mode 100644 index 0000000..72ce34a --- /dev/null +++ b/news/+setup-to-pyproject.internal @@ -0,0 +1,2 @@ +Move package metadata from ``setup.py`` to ``pyproject.toml``. +[plone devs] diff --git a/pyproject.toml b/pyproject.toml index e9e6cb4..4b400fc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,66 @@ [build-system] requires = ["setuptools>=68.2,<83", "wheel"] +# START-MARKER-MANUAL-CONFIG +# Anything from here until END-MARKER-MANUAL-CONFIG +# will be kept by plone.meta + +[project] +name = "plone.app.viewletmanager" +version = "5.0.1.dev0" +description = "Configurable viewlet manager" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Web Environment", + "Framework :: Plone", + "Framework :: Plone :: 6.2", + "Framework :: Plone :: Core", + "Framework :: Zope", + "Framework :: Zope :: 5", + "Intended Audience :: Developers", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", +] +license = "GPL-2.0-only" +dynamic = ["readme"] +requires-python = ">=3.10" +authors = [ + {name = "Plone Foundation",email = "plone-developers@lists.sourceforge.net"}, +] +maintainers = [ + {name = "Plone Foundation and contributors",email = "plone-developers@lists.sourceforge.net"}, +] +dependencies = [ + "Products.CMFCore", + "Products.GenericSetup", + "Zope", + "persistent", + "zope.contentprovider", + "zope.viewlet", +] +keywords = ["viewlets"] + +[project.optional-dependencies] +test = [ + "Products.CMFPlone", + "plone.app.testing", + "plone.testing", + "zope.publisher", +] + +[project.urls] +Source = "https://github.com/plone/plone.app.viewletmanager" +Issues = "https://github.com/plone/Products.CMFPlone/issues" +Changelog = "https://github.com/plone/plone.app.viewletmanager/blob/master/CHANGES.rst" +[tool.setuptools.dynamic] +readme = {file = ["README.rst", "CHANGES.rst"]} +# END-MARKER-MANUAL-CONFIG [tool.towncrier] directory = "news/" diff --git a/setup.py b/setup.py index 2b4aea0..d5dbbc6 100644 --- a/setup.py +++ b/setup.py @@ -1,64 +1,4 @@ -from pathlib import Path from setuptools import setup -version = "5.0.1.dev0" - -long_description = ( - f"{Path('README.rst').read_text()}\n{Path('CHANGES.rst').read_text()}" -) - -extras_require = { - "test": [ - "Products.CMFPlone", - "plone.app.testing", - "plone.testing", - "zope.publisher", - ] -} - -install_requires = [ - "Products.GenericSetup", - "Products.CMFCore", - "Zope", - "persistent", - "zope.contentprovider", - "zope.viewlet", -] - -setup( - name="plone.app.viewletmanager", - version=version, - description="Configurable viewlet manager", - long_description=long_description, - long_description_content_type="text/x-rst", - # Get more strings from - # https://pypi.org/classifiers/ - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Environment :: Web Environment", - "Framework :: Plone", - "Framework :: Plone :: 6.2", - "Framework :: Plone :: Core", - "Framework :: Zope", - "Framework :: Zope :: 5", - "Intended Audience :: Developers", - "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Programming Language :: Python :: 3.14", - ], - keywords="viewlets", - author="Plone Foundation", - author_email="plone-developers@lists.sourceforge.net", - url="https://pypi.org/project/plone.app.viewletmanager", - license="GPL version 2", - python_requires=">=3.10", - include_package_data=True, - zip_safe=False, - extras_require=extras_require, - install_requires=install_requires, -) +# See pyproject.toml for package metadata +setup()