<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Wed, Oct 21, 2015 at 5:52 PM David Cournapeau <<a href="mailto:cournape@gmail.com">cournape@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Oct 21, 2015 at 10:25 PM, Antoine Pitrou <span dir="ltr"><<a href="mailto:solipsis@pitrou.net" target="_blank">solipsis@pitrou.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Wed, 21 Oct 2015 21:41:35 +0100<br>
Paul Moore <<a href="mailto:p.f.moore@gmail.com" target="_blank">p.f.moore@gmail.com</a>> wrote:<br>
> On 21 October 2015 at 20:41, Chris Barker <<a href="mailto:chris.barker@noaa.gov" target="_blank">chris.barker@noaa.gov</a>> wrote:<br>
> > As I understand it, the current "API" that pip knows about is:<br>
> ><br>
> > "some subset of what setuptools provides"<br>
> ><br>
> > So my proposal is here is to provide a way for users to easily use jsut that<br>
> > subset.<br>
><br>
> <a href="https://pip.pypa.io/en/stable/reference/pip_install/#build-system-interface" rel="noreferrer" target="_blank">https://pip.pypa.io/en/stable/reference/pip_install/#build-system-interface</a><br>
><br>
> All you need to do is write a setup.py, which can do *anything you<br>
> like*,<br>
<br>
</span>Reading this, the CLI options which have to be implemented are<br>
completely tied to setuptools' own view of the world.<br>
`--single-version-externally-managed`? `--install-headers`? Why should<br>
a random build system care about that gunk? What should it do with it?<br></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>I agree it is not ideal, but it is not *that* hard. Regarding `--single-version-externally-managed`, if you don't care about setuptools interoperability, I believe it is safe to just ignore the flag (or more exactly do like what distutils does, that is installed directly in site-packages, and make `--single-version-externally-managed` a no-op). install_headers, I am not sure how many projects depend on that. The only projects I know that install headers (numpy, etc...) are not using the setuptools mechanism.</div><div><br></div><div>If that's deemed useful, I could write a simple implementation that does not use distutils/setuptools but support that interface as an example (I have something similar enough times that I unfortunately know the ropes :) )</div></div></div></div></blockquote><div><br></div><div>Also, it's no longer necessary to implement 'setup.py install' at all; you can just implement bdist_wheel and pip will go from there.</div><div><br></div><div>Of course if pip can beat us to a better interface that would be great too, but a setup.py shim would be a fun little project that someone could do alone.</div></div></div>