Hello all,
I've implemented the wheel side of Nick's suggestion from very early in
this thread to support a vendor-providable binary-compatibility.cfg.
https://bitbucket.org/pypa/wheel/pull-request/54/
If this is acceptable, I'll add support for it to the pip side. What else
should be implemented at this stage to get the PR accepted?
Thanks,
--nate
On Tue, Jul 28, 2015 at 12:21 PM, Wes Turner <wes....@gmail.com> wrote:
>> On Jul 28, 2015 10:02 AM, "Oscar Benjamin" <osca...@gmail.com>> wrote:> >> > On Fri, 24 Jul 2015 at 19:53 Chris Barker <chri...@noaa.gov> wrote:> >>> >> On Tue, Jul 21, 2015 at 9:38 AM, Oscar Benjamin <> osca...@gmail.com> wrote:> >>>> >>>> >>> I think it would be great to just package these up as wheels and put> them on PyPI.> >>> >>> >> that's the point -- there is no way with the current spec to specify a> wheel dependency as opposed to a package dependency. i.e this particular> binary numpy wheel depends on this other wheel, whereas the numpy source> pacakge does not have that dependency -- and, indeed, a wheel for one> platform may have different dependencies that\n other platforms.> >> >> > I thought it was possible to do this with wheels. It's already possible> to have wheels or sdists whose dependencies vary by platform I thought.> >> > The BLAS dependency is different. In particular the sdist is compatible> with more cases than a wheel would be so the built wheel would have a more> precise requirement than the sdist. Is that not possible with> pip/wheels/PyPI or is that a limitation of using setuptools to build the> wheel?> >> >>>> >>> So numpy could depend on "blas" and there could be a few different> distributions on PyPI that provide "blas" representing the different> underlying libraries. If I want to install numpy with a particular one I> can just do:> >>>> >>> pip install gotoblas # Installs the BLAS library within Python> dirs> >>> pip install numpy> >>> >>> >> well,different implementations of BLAS are theoretically ABI> compatible, but as I understand it, it's not actually that simple, so this> is particularly challenging.> >>> >>> >> But if it were, this would be a particular trick, because then that> numpy wheel would depend on _some_ BLAS wheel, but there may be more than> one option -- how would you express that????> >> >> > I imagined having numpy Require "blas OR openblas". Then openblas> package Provides "blas". Any other BLAS library also provides "blas". If> you do "pip install numpy" and "blas" is already provided then the numpy> wheel installs fine. Otherwise it falls back to installing openblas.> >> > Potentially "blas" is not specific enough so the label could be> "blas-gfortran" to express the ABI.>> BLAS may not be the best example, but should we expect such linked> interfaces to change over time? (And e.g. be versioned dependencies with> shim packages that have check functions)?>> ... How is an ABI constraint different from a package dependency?>> iiuc, ABI tags are thus combinatorial with package/wheel dependency> strings?>> Conda/pycosat solve this with "preprocessing selectors" :> http://conda.pydata.org/docs/building/meta-yaml.html#preprocessing-selectors> :>> ```> linux True if the platform is Linux> linux32 True if the platform is Linux and the Python architecture is 32-bit> linux64 True if the platform is Linux and the Python architecture is 64-bit> armv6 True if the platform is Linux and the Python architecture is armv6l> osx True if the platform is OS X> unix True if the platform is Unix (OS X or Linux)> win True if the platform is Windows> win32 True if the platform is Windows and the Python architecture is 32-bit> win64 True if the platform is Windows and the Python architecture is 64-bit> py The Python version as a two digit string (like '27'). See also the> CONDA_PY environment variable below.> py3k True if the Python major version is 3> py2k True if the Python major version is 2> py26 True if the Python version is 2.6> py27 True if the Python version is 2.7> py33 True if the Python version is 3.3> py34 True if the Python version is 3.4> np The NumPy version as a two digit string (like '17'). See also the> CONDA_NPY environment variable below.> Because the selector is any valid Python expression, complicated logic is> possible.> ```>> >> > --> > Oscar> >> > _______________________________________________> > Distutils-SIG maillist - Dist...@python.org> > https://mail.python.org/mailman/listinfo/distutils-sig> >>> _______________________________________________> Distutils-SIG maillist - Dist...@python.org> https://mail.python.org/mailman/listinfo/distutils-sig>>
_______________________________________________
Distutils-SIG maillist - Dist...@python.org
https://mail.python.org/mailman/listinfo/distutils-sig
Recent Messages in this Thread |
|
Nate Coraor |
Jul 16, 2015 05:41 pm |
|
Nick Coghlan |
Sep 06, 2015 11:32 pm |
|
Nick Coghlan |
Sep 05, 2015 02:56 am |
|
Marcus Smith |
Sep 07, 2015 04:11 am |
|
Nate Coraor |
Sep 03, 2015 05:22 pm |
|
Nick Coghlan |
Sep 07, 2015 04:26 am |
|
Daniel Holth |
Aug 20, 2015 07:22 pm |
|
Donald Stufft |
Aug 20, 2015 07:25 pm |
|
Donald Stufft |
Sep 02, 2015 11:45 pm |
|
Daniel Holth |
Sep 03, 2015 12:15 pm |
|
Nate Coraor |
Aug 24, 2015 03:03 pm |
|
Wes Turner |
Aug 24, 2015 05:51 pm |
|
Nick Coghlan |
Jul 17, 2015 08:22 am |
|
Chris Barker |
Jul 17, 2015 03:36 pm |
|
Antoine Pitrou |
Jul 17, 2015 03:46 pm |
|
Chris Barker |
Jul 17, 2015 03:53 pm |
|
Andrea Bedini |
Jul 18, 2015 07:00 am |
|
Tres Seaver |
Jul 21, 2015 03:25 am |
|
Leonardo Rochael Almeida |
Jul 21, 2015 03:07 pm |
|
Marcus Smith |
Jul 17, 2015 04:50 pm |
|
Olivier Grisel |
Jul 17, 2015 06:34 pm |
|
Daniel Holth |
Jul 17, 2015 08:18 pm |
|
Chris Barker - NOAA Federal |
Jul 18, 2015 01:13 am |
|
Daniel Holth |
Jul 18, 2015 02:11 am |
|
Paul Moore |
Jul 18, 2015 11:51 am |
|
Nick Coghlan |
Jul 20, 2015 05:50 am |
|
Chris Barker |
Jul 20, 2015 05:37 pm |
|
Paul Moore |
Jul 20, 2015 06:37 pm |
|
Nick Coghlan |
Jul 27, 2015 02:19 pm |
|
Nate Coraor |
Jul 27, 2015 07:07 pm |
|
Oscar Benjamin |
Jul 21, 2015 04:38 pm |
|
Chris Barker |
Jul 24, 2015 06:52 pm |
|
Oscar Benjamin |
Jul 28, 2015 03:02 pm |
|
Wes Turner |
Jul 28, 2015 04:21 pm |
Re: [Distutils] Working toward Linux wheel support |
Nate Coraor |
Aug 12, 2015 08:21 pm |
|
Robert Collins |
Aug 12, 2015 11:49 pm |
|
Nathaniel Smith |
Aug 13, 2015 01:05 am |
|
Nate Coraor |
Aug 13, 2015 02:07 pm |
|
Leonardo Rochael Almeida |
Aug 13, 2015 07:30 pm |
|
Wes Turner |
Aug 13, 2015 07:43 pm |
|
Nathaniel Smith |
Aug 14, 2015 01:47 am |
|
Wes Turner |
Aug 14, 2015 01:50 am |
|
Nathaniel Smith |
Aug 14, 2015 02:33 am |
|
Wes Turner |
Aug 14, 2015 02:41 am |
|
Leonardo Rochael Almeida |
Sep 08, 2015 07:18 pm |
|
Donald Stufft |
Sep 08, 2015 07:22 pm |
|
Leonardo Rochael Almeida |
Sep 08, 2015 07:39 pm |
|
Nathaniel Smith |
Aug 14, 2015 01:25 am |
|
Robert Collins |
Aug 14, 2015 01:31 am |
|
Wes Turner |
Aug 14, 2015 01:38 am |
|
Robert Collins |
Aug 14, 2015 01:44 am |
|
Wes Turner |
Aug 14, 2015 01:44 am |
|
Nathaniel Smith |
Aug 14, 2015 02:14 am |
|
Wes Turner |
Aug 14, 2015 02:24 am |
|
Robert Collins |
Aug 14, 2015 02:27 am |
|
Nathaniel Smith |
Aug 14, 2015 07:38 am |
|
David Cournapeau |
Aug 13, 2015 05:52 pm |
|
Nathaniel Smith |
Aug 14, 2015 04:07 am |
|
Chris Barker |
Aug 14, 2015 04:04 pm |
|
David Cournapeau |
Aug 14, 2015 04:20 pm |
|
Chris Barker |
Aug 14, 2015 04:00 pm |
|
Leonardo Rochael Almeida |
Jul 20, 2015 01:42 am |
|
Nick Coghlan |
Jul 20, 2015 06:00 am |
|
Chris Barker |
Jul 20, 2015 05:39 pm |
|
Marcus Smith |
Sep 06, 2015 04:09 pm |
|
Nick Coghlan |
Sep 05, 2015 08:35 am |
|
Nick Coghlan |
Sep 05, 2015 06:44 am |
|
Nick Coghlan |
Sep 05, 2015 06:43 am |
|
Nathaniel Smith |
Sep 05, 2015 06:46 am |
|
Donald Stufft |
Sep 05, 2015 03:06 am |
|
Wes Turner |
Sep 08, 2015 07:14 pm |
|
Daniel Holth |
Sep 08, 2015 07:32 pm |
|
Nathaniel Smith |
Sep 09, 2015 11:49 pm |
|
Nate Coraor |
Sep 21, 2015 03:33 pm |
|
Nate Coraor |
Sep 09, 2015 03:06 pm |
|
Donald Stufft |
Sep 08, 2015 06:33 pm |
|
Donald Stufft |
Sep 07, 2015 04:02 pm |
|
Marcus Smith |
Sep 07, 2015 05:51 pm |
|
Wes Turner |
Sep 07, 2015 10:16 pm |
|
Nate Coraor |
Sep 03, 2015 02:04 pm |
|
Daniel Holth |
Sep 03, 2015 01:56 pm |
|
Antoine Pitrou |
Aug 20, 2015 07:51 pm |
|
Nate Coraor |
Aug 20, 2015 07:40 pm |
|
Donald Stufft |
Aug 20, 2015 07:19 pm |
|
Antoine Pitrou |
Aug 20, 2015 07:14 pm |
|
Steve Dower |
Aug 14, 2015 04:17 pm |
|
Daniel Holth |
Aug 20, 2015 06:38 pm |
|
Chris Barker |
Aug 14, 2015 08:16 pm |
|
Alexander Walters |
Aug 14, 2015 10:32 pm |
|
Nate Coraor |
Aug 20, 2015 06:26 pm |
|
Nick Coghlan |
Sep 05, 2015 02:12 am |
|
Daniel Holth |
Sep 01, 2015 01:57 pm |
|
Wes Turner |
Aug 26, 2015 01:42 am |
|
Nate Coraor |
Aug 27, 2015 07:21 pm |
|
Ben Finney |
Sep 06, 2015 11:42 pm |