marshmallow_dataclass icon indicating copy to clipboard operation
marshmallow_dataclass copied to clipboard

Specify build backend

Open EpicWink opened this issue 1 year ago • 2 comments

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)

EpicWink avatar May 03 '23 03:05 EpicWink

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.

dairiki avatar May 03 '23 17:05 dairiki

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.

EpicWink avatar May 03 '23 21:05 EpicWink