marshmallow_dataclass
marshmallow_dataclass copied to clipboard
Specify build backend
Specify project package build backend (setuptools).
This modernises the build process, moving away from the legacy setuptools pip build flow.
Also switch to build for building the sdist and wheel, to not use the deprecated setup.py-based package build.
Downsides: python setup.py
stops working (desired), requires pip v19 (from 2019)
Downsides:
python setup.py
stops working (desired), requires pip v19 (from 2019)
I don't have strong feelings on this either way, other than that I think it is confusing to have a setup.py
if it doesn't work.
I think the project metadata could be moved to setup.cfg
(and then setup.py
deleted) while still remaining buildable under Python 3.6. But that's probably not worth it, since the longer-term goal is to move the metadata to pyproject.toml
(#242) which, it appears, can not be done while maintaining Python 3.6 compatibility.
So, I guess, I would rather hold off on this until we drop Python 3.6 support (which is "imminent"), at which point we can fold this PR into #242.
I don't have strong feelings on this either way, other than that I think it is confusing to have a setup.py if it doesn't work.
Invoking setup.py as a script will stop working (because setuptools may not be installed), which is fine as at some point setuptools will drop support for this. setup.py can still be used to specify project configuration.