Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Vinay Sajip
Donald Stufft donald at stufft.io writes: Mounting Wheels seems like a bad idea, it was one of the things Daniel explicitly removed (since Wheels are basically cleaned up eggs). Adding it back in ex post facto seems like it's an idea that's going down the wrong track. Like I said, the sky

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Paul Moore
On 21 August 2013 07:36, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: Donald Stufft donald at stufft.io writes: Mounting Wheels seems like a bad idea, it was one of the things Daniel explicitly removed (since Wheels are basically cleaned up eggs). Adding it back in ex post facto seems like

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Vinay Sajip
Paul Moore p.f.moore at gmail.com writes: I'm concerned that you need extra metadata (not described in the wheel spec) to do this. It means that there are in effect two subtly different types of wheel. To be specific, if I create a wheel for (say) pyzmq using distil, and mount it, everything

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 3:32 AM, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: Paul Moore p.f.moore at gmail.com writes: I'm concerned that you need extra metadata (not described in the wheel spec) to do this. It means that there are in effect two subtly different types of wheel. To be specific,

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Paul Moore
On 21 August 2013 08:45, Donald Stufft don...@stufft.io wrote: My basic problem is if the library we're pointing at to be the reference implementation of all of these things is adding new features it's confusing what is standard and what are just distlib's extensions. So basically I want

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 4:07 AM, Paul Moore p.f.mo...@gmail.com wrote: OK, so here's a concrete question for distutils-sig. If I want to use wheels in my app (built them, install them, whatever) what should I use as my reference implementation. I don't want to implement the code myself, I just

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Vinay Sajip
Donald Stufft donald at stufft.io writes: However what I don't really want is to be using someones personal testbed for features they think is cool. There's nothing *wrong* with you trying new ideas out in distlib, it just means that distib isn't the library I want to build tooling around.

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Paul Moore
On 21 August 2013 09:09, Donald Stufft don...@stufft.io wrote: On Aug 21, 2013, at 4:07 AM, Paul Moore p.f.mo...@gmail.com wrote: OK, so here's a concrete question for distutils-sig. If I want to use wheels in my app (built them, install them, whatever) what should I use as my reference

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 4:23 AM, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: Donald Stufft donald at stufft.io writes: However what I don't really want is to be using someones personal testbed for features they think is cool. There's nothing *wrong* with you trying new ideas out in distlib, it

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Paul Moore
On 21 August 2013 09:56, Donald Stufft don...@stufft.io wrote: ISTM distlib is not yet that reference library - it's just another library for most people, judging from the low level of feedback I've had overall. That's totally fine. We just need to be clear that it's not the reference

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 5:27 AM, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 09:56, Donald Stufft don...@stufft.io wrote: ISTM distlib is not yet that reference library - it's just another library for most people, judging from the low level of feedback I've had overall. That's

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Paul Moore
On 21 August 2013 10:29, Donald Stufft don...@stufft.io wrote: Can you send me a list (or post them here) of what issues you've hit? The biggest one i'm aware of is the scripts problem which is a fundamental problem with the 1.0 Wheel (or rather that any library with console entry points

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 5:46 AM, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 10:29, Donald Stufft don...@stufft.io wrote: Can you send me a list (or post them here) of what issues you've hit? The biggest one i'm aware of is the scripts problem which is a fundamental problem with

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Paul Moore
On 21 August 2013 10:48, Donald Stufft don...@stufft.io wrote: I think Wheel files are (and should be) independent of the particular metadata version used. That file should contain the required information in order to know what version of the metadata is included with the Wheel. This means

Re: [Distutils] What does it mean for Python to bundle pip?

2013-08-21 Thread Oscar Benjamin
On 21 August 2013 08:04, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: Oscar Benjamin oscar.j.benjamin at gmail.com writes: I think that they are responsible for installing the f2py script in each of my Scripts directories. I never use this script and I don't know what numpy wants with it (my

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 6:17 AM, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 10:48, Donald Stufft don...@stufft.io wrote: I think Wheel files are (and should be) independent of the particular metadata version used. That file should contain the required information in order to know

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 6:29 AM, Donald Stufft don...@stufft.io wrote: introspecting the author email address Of course I wrote that and then did summary because the location of the author email address changed between Metadata 1.x and 2.x and I didn't feel like looking up the exact difference.

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Paul Moore
On 21 August 2013 11:30, Donald Stufft don...@stufft.io wrote: On Aug 21, 2013, at 6:29 AM, Donald Stufft don...@stufft.io wrote: introspecting the author email address Of course I wrote that and then did summary because the location of the author email address changed between Metadata 1.x

Re: [Distutils] What does it mean for Python to bundle pip?

2013-08-21 Thread Paul Moore
On 21 August 2013 11:29, Oscar Benjamin oscar.j.benja...@gmail.com wrote: I may have misunderstood it but looking at this https://github.com/numpy/numpy/blob/master/tools/win32build/nsis_scripts/numpy-superinstaller.nsi.in#L147 I think that the installer ships variants for each architecture

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 6:36 AM, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 11:30, Donald Stufft don...@stufft.io wrote: On Aug 21, 2013, at 6:29 AM, Donald Stufft don...@stufft.io wrote: introspecting the author email address Of course I wrote that and then did summary because

Re: [Distutils] What does it mean for Python to bundle pip?

2013-08-21 Thread Oscar Benjamin
On 21 August 2013 11:39, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 11:29, Oscar Benjamin oscar.j.benja...@gmail.com wrote: I may have misunderstood it but looking at this https://github.com/numpy/numpy/blob/master/tools/win32build/nsis_scripts/numpy-superinstaller.nsi.in#L147 I

Re: [Distutils] What does it mean for Python to bundle pip?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 6:46 AM, Oscar Benjamin oscar.j.benja...@gmail.com wrote: On 21 August 2013 11:39, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 11:29, Oscar Benjamin oscar.j.benja...@gmail.com wrote: I may have misunderstood it but looking at this

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Vinay Sajip
Paul Moore p.f.moore at gmail.com writes: My problem is that as someone who wants to implement code that uses the new features like wheels, I want a usable reference implementation that covers the (agreed) standards. I don't particularly want my application to incorporate support for

Re: [Distutils] What does it mean for Python to bundle pip?

2013-08-21 Thread Paul Moore
On 21 August 2013 11:47, Donald Stufft don...@stufft.io wrote: Metadata 2.0 includes the ability to have a post install script, but Wheel is not yet using Metadata 2.0 (and it's not yet finalized). But when Metadata 2.0 support is available, what you (Oscar) suggest does sound like a

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 6:56 AM, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: Paul Moore p.f.moore at gmail.com writes: My problem is that as someone who wants to implement code that uses the new features like wheels, I want a usable reference implementation that covers the (agreed) standards. I

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Paul Moore
On 21 August 2013 11:56, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: But I think we have a reasonable consensus on how scripts should work, Do we? To the level of wheels builders should write metadata that defines the scripts and wheel installers should generate the necessary wrappers then

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Vinay Sajip
Paul Moore p.f.moore at gmail.com writes: Another one IIRC was that distlib didn't put entry-points.txt in the .dist-info directory in the wheel (which breaks entry points). I think that's fixed now (and again, the Wheel spec is silent on what is correct behaviour here). Right. The recent

[Distutils] State of the wheel spec (Was: How to handle launcher script importability?)

2013-08-21 Thread Paul Moore
On 21 August 2013 13:01, Paul Moore p.f.mo...@gmail.com wrote: If you want to say distlib won't support pre-Metadata 2.0 specifications of script metadata, then that's your choice - it's not contrary to the standards but I'd view it as a quality of implementation choice. I view the

Re: [Distutils] State of the wheel spec (Was: How to handle launcher script importability?)

2013-08-21 Thread Vinay Sajip
Paul Moore p.f.moore at gmail.com writes: BUT, this means that there is no spec of the current behaviour, and no implementation of the Wheel 1.0 spec anywhere. [snip] or the wheel spec needs a review reasonably soon. I think it's this. I'm not sure to what extent wheels are being used in anger

[Distutils] Installing from a wheel

2013-08-21 Thread Oscar Benjamin
This is the first time that I've tested using wheels and I have a couple of questions. Here's what I did (is this right?): $ cat spam.py # spam.py print('running spam from:', __file__) $ cat setup.py from setuptools import setup setup(name='spam', version='1.0', py_modules=['spam'])

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Vinay Sajip
Donald Stufft donald at stufft.io writes: I think the way you view distlib and the way other are viewing distlib are different (and that's ok). We just need to know what distlib is so we can have reasonable expectations of it. What i'm getting from you is that, at least right now, distlib

Re: [Distutils] Installing from a wheel

2013-08-21 Thread Paul Moore
On 21 August 2013 13:59, Oscar Benjamin oscar.j.benja...@gmail.com wrote: This is the first time that I've tested using wheels and I have a couple of questions. Here's what I did (is this right?): $ cat spam.py # spam.py print('running spam from:', __file__) $ cat setup.py from

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Daniel Holth
On Wed, Aug 21, 2013 at 8:01 AM, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 12:22, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: Paul Moore p.f.moore at gmail.com writes: Another one IIRC was that distlib didn't put entry-points.txt in the .dist-info directory in the wheel (which

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 9:02 AM, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: Donald Stufft donald at stufft.io writes: I think the way you view distlib and the way other are viewing distlib are different (and that's ok). We just need to know what distlib is so we can have reasonable

Re: [Distutils] Installing from a wheel

2013-08-21 Thread Oscar Benjamin
On 21 August 2013 14:08, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 13:59, Oscar Benjamin oscar.j.benja...@gmail.com wrote: $ cat spam.py # spam.py print('running spam from:', __file__) [snip] Looks good. You might want to add the (undocumented) universal flag to setup.cfg, as

Re: [Distutils] Installing from a wheel

2013-08-21 Thread Paul Moore
On 21 August 2013 14:28, Oscar Benjamin oscar.j.benja...@gmail.com wrote: So I tried updating everything e.g.: $ pip install -U wheel pip setuptools [lots omitted for brevity] Some thoughts. pip 1.3.1 predates pip's wheel support so you wouldn't have had pip install --use-wheel there. The

Re: [Distutils] Installing from a wheel

2013-08-21 Thread Oscar Benjamin
On 21 August 2013 14:56, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 14:28, Oscar Benjamin oscar.j.benja...@gmail.com wrote: So I tried updating everything e.g.: $ pip install -U wheel pip setuptools [lots omitted for brevity] Some thoughts. pip 1.3.1 predates pip's wheel

Re: [Distutils] Installing from a wheel

2013-08-21 Thread Daniel Holth
A fresh virtualenv would have been the humane way to get a working 'pip install wheel'. Wheel's built in installer isn't intended to replace or be better than pip in any way. It's just for reference or bootstrapping. FYI if you point pip directly at the .whl file you can omit --use-wheel. PS I

Re: [Distutils] Installing from a wheel

2013-08-21 Thread Paul Moore
On 21 August 2013 15:48, Oscar Benjamin oscar.j.benja...@gmail.com wrote: For people watching at home, upgrading pip really isn't this scary :-) I'm just making it sound scary (a) because I don't know the precise upgrade instructions for setuptools and (b) because you need to do setuptools

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Vinay Sajip
Donald Stufft donald at stufft.io writes: I think you're using a completely different definition of reference implementation than I've ever seen used. A reference implementation Quite possibly, but I feel justified in this case ... I'll say why below. by definition cannot contain

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 11:30 AM, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: Donald Stufft donald at stufft.io writes: I think you're using a completely different definition of reference implementation than I've ever seen used. A reference implementation Quite possibly, but I feel justified

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Carl Meyer
On 08/21/2013 03:29 AM, Donald Stufft wrote: Can you send me a list (or post them here) of what issues you've hit? The biggest one i'm aware of is the scripts problem which is a fundamental problem with the 1.0 Wheel (or rather that any library with console entry points cannot be universal).

Re: [Distutils] Installing from a wheel

2013-08-21 Thread Oscar Benjamin
On 21 August 2013 15:57, Daniel Holth dho...@gmail.com wrote: A fresh virtualenv would have been the humane way to get a working 'pip install wheel'. Good point. I think I learned an important point going through that upgrade mess though: uninstall/reinstall is safer than upgrade. Wheel's

Re: [Distutils] Installing from a wheel

2013-08-21 Thread Oscar Benjamin
On 21 August 2013 15:57, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 15:48, Oscar Benjamin oscar.j.benja...@gmail.com wrote: Is it perhaps safer to suggest the following? a) uninstall pip/setuptools/distribute b) run ez_setup.py c) run get-pip.py It probably is. I've heard

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread PJ Eby
On Wed, Aug 21, 2013 at 9:24 AM, Donald Stufft don...@stufft.io wrote: An example is the wsgiref from the standard library. It's an example, alright, but not for your side. ;-) The wsgiref library doesn't just implement the spec, it implements a ton of utility classes for use with the spec.

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Donald Stufft
On Aug 21, 2013, at 12:31 PM, PJ Eby p...@telecommunity.com wrote: Personally, I'm very happy to see Vinay's extensions, because they are IMO important validations of whether the new specs are likely to be useful for replacing all of setuptools' functionality. There are people who need to

Re: [Distutils] Installing from a wheel

2013-08-21 Thread Paul Moore
On 21 August 2013 17:21, Oscar Benjamin oscar.j.benja...@gmail.com wrote: Okay I've just tried that and that's definitely the way I want to use it. So basically: $ python setup.py bdist_wheel # Makes wheels With pip and wheel installed pip wheel . will also build a wheel from the current

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Carl Meyer
On 08/21/2013 10:32 AM, Daniel Holth wrote: 2) Wheel's decision to follow distutils' documentation rather than distutils' behavior when it comes to the location for installing data_files with relative paths; see

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Daniel Holth
On Wed, Aug 21, 2013 at 11:52 AM, Carl Meyer c...@oddbird.net wrote: On 08/21/2013 03:29 AM, Donald Stufft wrote: Can you send me a list (or post them here) of what issues you've hit? The biggest one i'm aware of is the scripts problem which is a fundamental problem with the 1.0 Wheel (or

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Marcus Smith
1) Wheel's conversion of - to _ in version strings embedded in filenames, which breaks with setuptools precedent; see https://github.com/pypa/pip/issues/1150 and https://bitbucket.org/dholth/wheel/issue/78/wheel-rewrites-versions-preventing No good solution to this one just yet. not

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Vinay Sajip
Paul Moore p.f.moore at gmail.com writes: That implies that any wheel reference implementation needs to expose APIs for reading and writing the metadata to/from the wheel. Not necessarily. For example, distlib's approach side-steps the need for such a write API: you tell Wheel.build which

Re: [Distutils] What does it mean for Python to bundle pip?

2013-08-21 Thread Nick Coghlan
On 21 Aug 2013 20:40, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 11:29, Oscar Benjamin oscar.j.benja...@gmail.com wrote: I may have misunderstood it but looking at this https://github.com/numpy/numpy/blob/master/tools/win32build/nsis_scripts/numpy-superinstaller.nsi.in#L147 I

Re: [Distutils] State of the wheel spec (Was: How to handle launcher script importability?)

2013-08-21 Thread Nick Coghlan
On 21 Aug 2013 22:42, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: Paul Moore p.f.moore at gmail.com writes: BUT, this means that there is no spec of the current behaviour, and no implementation of the Wheel 1.0 spec anywhere. [snip] or the wheel spec needs a review reasonably soon. I

Re: [Distutils] State of the wheel spec (Was: How to handle launcher script importability?)

2013-08-21 Thread Paul Moore
On 21 August 2013 21:40, Nick Coghlan ncogh...@gmail.com wrote: Um, the current wheel spec uses PEP 345 + setuptools metadata only. If distlib is expecting PEP 426 metadata in wheel files, it is not compliant with the spec. There won't be a new version of the wheel spec until after PEP 426

Re: [Distutils] What does it mean for Python to bundle pip?

2013-08-21 Thread Paul Moore
On 21 August 2013 21:35, Nick Coghlan ncogh...@gmail.com wrote: I'm reasonably confident the wheel format *doesn't* meet the scientific community's needs in the general case, and can't be made to do so without a lot of additional complexity. That's why I explicitly support the hashdist/conda

Re: [Distutils] What does it mean for Python to bundle pip?

2013-08-21 Thread Nick Coghlan
On 22 Aug 2013 06:57, Paul Moore p.f.mo...@gmail.com wrote: On 21 August 2013 21:35, Nick Coghlan ncogh...@gmail.com wrote: I'm reasonably confident the wheel format *doesn't* meet the scientific community's needs in the general case, and can't be made to do so without a lot of additional

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Vinay Sajip
Nick Coghlan ncoghlan at gmail.com writes: Right. I wasn't really aware Vinay was adding experimental ideas to distlib, I thought it was just the proven stable core from distutils2, plus support for the draft PEPs, with the experimental stuff entirely in distil rather than in distlib. I've

Re: [Distutils] State of the wheel spec (Was: How to handle launcher script importability?)

2013-08-21 Thread Vinay Sajip
Nick Coghlan ncoghlan at gmail.com writes: Um, the current wheel spec uses PEP 345 + setuptools metadata only. If distlib is expecting PEP 426 metadata in wheel files, it is not compliant with the spec. I can certainly rectify that - I was possibly confused by the fact that the latest wheel

Re: [Distutils] How to handle launcher script importability?

2013-08-21 Thread Nick Coghlan
On 22 August 2013 08:12, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: I've been up front about what's in distlib all along - check the overview page in the distlib docs. Above all, I want the stuff I do to be *useful*, rather than tick boxes here and there. Right, you didn't do anything wrong,

Re: [Distutils] State of the wheel spec (Was: How to handle launcher script importability?)

2013-08-21 Thread Nick Coghlan
On 22 August 2013 08:20, Vinay Sajip vinay_sa...@yahoo.co.uk wrote: Nick Coghlan ncoghlan at gmail.com writes: Um, the current wheel spec uses PEP 345 + setuptools metadata only. If distlib is expecting PEP 426 metadata in wheel files, it is not compliant with the spec. I can certainly