Skip to content

Move from setup.py mostly to pyproject.tomlΒ #315

@mauritsvanrees

Description

@mauritsvanrees

The Zope meta package has a script now to translate setup.py to pyproject.toml. In the end, setup.py will still be there, but only contain from setuptools import setup; setup(). You need to eyeball the results to see if it did not make any mistakes, but apparently it works on all zopefoundation repos. BTW, I did not try it.

I think this would be good for Plone as well.

This can also help as a stepping stone to moving to hatchling or something else, if we ever want that. See discussion in #235 from last year.

This needs some changes in plone.meta: currently you should not manually edit that file, because plone.meta handles everything.

Easiest may be to have a start and end marker in pyproject.toml:

# Generated from:
# https://github.com/plone/meta/tree/main/src/plone/meta/default
# See the inline comments on how to expand/tweak this configuration file
[build-system]
requires = ["setuptools>=68.2,<80", "wheel"]

# START-MARKER-MANUAL-CONFIG
[project]
name = "Products.CMFPlone"
version = "6.2.0.dev0"
...
# END-MARKER-MANUAL-CONFIG

[tool.towncrier]
...

Anything between the start and end marker would be left untouched by plone.meta.

I would want to leave the build-system at the top for clarity, although in the end it does not really matter.

If we want to do this, we probably need our own copy of the script from Zope meta, at least to add the two markers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions