You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Over the last few months, I've been using setup.cfg more, and I find the syntax and types and such to be super counter-intuitive. I don't find TOML to be a breeze per se, but it's at least a lot clearer to me how to specify a string, a list, etc. We also hear a lot of cries to move towards supporting pyproject.toml as the "one file" for setup configuration, in favor of setup.cfg. I'm not terribly opposed to this, but I want to open up the discussion for a few options:
Add pyproject.toml as a second supported way to do a declarative configuration, alongside setup.cfg.
Stay the course with setup.cfg indefinitely.
I am deeply concerned with the large amount of churn that we're introducing into the Python packaging space, so I don't want to make a lot of changes for the sake of changes, but I do think that at least having the option to use a pyproject.toml would be a real benefit, so I'm basically in favor of option 2.
I think the biggest downside of option 2 is that it means maintaining, testing and documenting three separate locations for all of our options - how to do it in setup.cfg, how to do it in pyproject.toml, and how to do it in setup.py. I think the hard part is going from 1 way to do everything to 2 ways. Our documentation is a mess anyway, but my beautiful vision for the future is that all our examples have "tabs" that allow you to toggle them between setup.cfg and setup.py. Adding a pyproject.toml in there would probably not be the worst thing.
Over the last few months, I've been using
setup.cfgmore, and I find the syntax and types and such to be super counter-intuitive. I don't find TOML to be a breeze per se, but it's at least a lot clearer to me how to specify a string, a list, etc. We also hear a lot of cries to move towards supportingpyproject.tomlas the "one file" for setup configuration, in favor ofsetup.cfg. I'm not terribly opposed to this, but I want to open up the discussion for a few options:pyproject.tomlas the one true way to do declarative builds, moving allsetuptoolsconfiguration over there and deprecatingsetup.cfg(partially what is discussed in Merge setup.cfg spec with pyproject.toml one and deprecate setup.py and setup.cfg #1160, and if we decide on that option we can move over to that issue).pyproject.tomlas a second supported way to do a declarative configuration, alongsidesetup.cfg.setup.cfgindefinitely.I am deeply concerned with the large amount of churn that we're introducing into the Python packaging space, so I don't want to make a lot of changes for the sake of changes, but I do think that at least having the option to use a
pyproject.tomlwould be a real benefit, so I'm basically in favor of option 2.I think the biggest downside of option 2 is that it means maintaining, testing and documenting three separate locations for all of our options - how to do it in
setup.cfg, how to do it inpyproject.toml, and how to do it insetup.py. I think the hard part is going from 1 way to do everything to 2 ways. Our documentation is a mess anyway, but my beautiful vision for the future is that all our examples have "tabs" that allow you to toggle them betweensetup.cfgandsetup.py. Adding apyproject.tomlin there would probably not be the worst thing.