On Mar 30, 2015, at 11:36 AM, Daniel Holth <dholth@gmail.com> wrote:
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.
Sure. Which is why that’s what we’ve essentially been doing. Like I said I have no problems with flit itself other than I think it needs to produce sdists to be a reasonable solution. I don’t personally think it’s much easier to work with than a simple setup.py (and in my experience, I often want a simple.py plus a little extra) but I have no problem with its existence as long as it learns how to produce sdists. --- Donald Stufft PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA