| Store | Cart

[Distutils] PEP for dependencies on libraries like BLAS (was: Re: Working toward Linux wheel support)

From: Nathaniel Smith <n...@pobox.com>
Wed, 12 Aug 2015 17:51:07 -0700
On Aug 12, 2015 16:49, "Robert Collins" <robe...@robertcollins.net> wrote:
>> I'm not sure what will be needed to get the PR accepted; At PyCon AU> Tennessee Leuwenberg started drafting a PEP for the expression of> dependencies on e.g. BLAS - its been given number 497, and is in the> packaging-peps repo; I'm working on updating it now.

I wanted to take a look at this PEP, but I can't seem to find it. PEP 497:
  https://www.python.org/dev/peps/pep-0497/
appears to be something else entirely?

I'm a bit surprised to hear that such a PEP is needed. We (= numpy devs)
have actively been making plans to ship a BLAS wheel on windows, and AFAICT
this is totally doable now -- the blocker is windows toolchain issues, not
pypa-related infrastructure.

Specifically the idea is to have a wheel that contains the shared library
as a regular old data file, plus a stub python package that knows how to
find this data file and how to make it accessible to the linker. So
numpy/__init__.py would start by calling:

import pyopenblas1
# on Linux modifies LD_LIBRARY_PATH,
# on Windows uses ctypes to preload... whatever
pyopenblas1.enable()

and then get on with things, or the build system might do:

import pyopenblas1
pyopenblas1.get_header_directories()
pyopenblas1.get_linker_directories()

This doesn't help if you want to declare dependencies on external, system
managed libraries and have those be automatically somehow provided or
checked for, but to me that sounds like an impossible boil-the-ocean
project anyway, while the above is trivial and should just work.

-n

_______________________________________________
Distutils-SIG maillist  -  Dist...@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Recent Messages in this Thread
Nathaniel Smith Aug 13, 2015 12:51 am
James Polley Aug 13, 2015 01:02 am
Olivier Grisel Aug 13, 2015 03:06 am
Robert Collins Aug 13, 2015 03:10 am
Nathaniel Smith Aug 13, 2015 06:08 am
David Cournapeau Aug 14, 2015 09:59 am
Reinout van Rees Aug 17, 2015 02:07 pm
Donald Stufft Aug 17, 2015 02:15 pm
Reinout van Rees Aug 17, 2015 08:56 pm
Nick Coghlan Aug 20, 2015 10:05 am
Wes Turner Aug 20, 2015 05:15 pm
Brett Cannon Aug 21, 2015 05:41 pm
Wes Turner Aug 21, 2015 06:30 pm
Wes Turner Aug 21, 2015 07:27 pm
Wes Turner Aug 21, 2015 07:34 pm
Wes Turner Aug 21, 2015 08:28 pm
Nick Coghlan Aug 22, 2015 10:33 am
Antoine Pitrou Aug 22, 2015 07:22 pm
Messages in this thread