![](https://secure.gravatar.com/avatar/d7ff36e4d7c8060fadaa7c20f4a5649e.jpg?s=120&d=mm&r=g)
On Mon, Mar 30, 2015 at 11:34 AM, Donald Stufft <donald@stufft.io> wrote:
On Mar 30, 2015, at 11:18 AM, Daniel Holth <dholth@gmail.com> wrote:
setup.py as implemented with distutils/setuptools has a bit of a Goldilocks problem: it's just right for a medium-complexity project but when your project is very simple it's too hard, and when you get to the point where you are trying to extend distutils by writing a 10,000 line extension, yikes. So it's fantastic to be able to just avoid distutils entirely if it isn't the right size for your project. This example, flit, does not invoke any code from distutils, setuptools or bdist_wheel to do its thing.
A source release could just be an archive of the repository.
An archive of the repository is not the same thing as a source release.
Honestly, most of my setup.py’s look basically the same as a flit ini file, just inside of python instead of ini. For example, I’m not sure how something like https://github.com/pypa/packaging/blob/master/setup.py or https://github.com/pypa/warehouse/blob/master/setup.py or https://github.com/pypa/twine/blob/master/setup.py or https://github.com/pypa/readme/blob/master/setup.py would be improved by moving it to a ini file instead of a python file.
The current toolchain absolutely has some problems, but I’m not convinced that shuffling around the same data into different locations is the answer to those problems.
The way to solve the problems is to allow anyone to try by providing good hooks that do not require extending distutils.