[SciPy-dev] [Numpy-discussion] Announcing toydist, improving distribution and packaging situation

Darren Dale dsdale24 at gmail.com
Wed Dec 30 16:06:56 EST 2009


On Wed, Dec 30, 2009 at 11:16 AM, David Cournapeau <cournape at gmail.com> wrote:
> On Wed, Dec 30, 2009 at 11:26 PM, Darren Dale <dsdale24 at gmail.com> wrote:
>> Hi David,
>>
>> On Mon, Dec 28, 2009 at 9:03 AM, David Cournapeau <cournape at gmail.com> wrote:
>>> Executable: grin
>>>    module: grin
>>>    function: grin_main
>>>
>>> Executable: grind
>>>    module: grin
>>>    function: grind_main
>>
>> Have you thought at all about operations that are currently performed
>> by post-installation scripts? For example, it might be desirable for
>> the ipython or MayaVi windows installers to create a folder in the
>> Start menu that contains links the the executable and the
>> documentation. This is probably a secondary issue at this point in
>> toydist's development, but I think it is an important feature in the
>> long run.
>>
>> Also, have you considered support for package extras (package variants
>> in Ports, allowing you to specify features that pull in additional
>> dependencies like traits[qt4])? Enthought makes good use of them in
>> ETS, and I think they would be worth keeping.
>
> Does this example covers what you have in mind ? I am not so familiar
> with this feature of setuptools:
>
> Name: hello
> Version: 1.0
>
> Library:
>    BuildRequires: paver, sphinx, numpy
>    if os(windows)
>        BuildRequires: pywin32
>    Packages:
>        hello
>    Extension: hello._bar
>        sources:
>            src/hellomodule.c
>    if os(linux)
>        Extension: hello._linux_backend
>            sources:
>                src/linbackend.c
>
> Note that instead of os(os_name), you can use flag(flag_name), where
> flag are boolean variables which can be user defined:
>
> http://github.com/cournape/toydist/blob/master/examples/simples/conditional/toysetup.info
>
> http://github.com/cournape/toydist/blob/master/examples/var_example/toysetup.info

I should defer to the description of extras in the setuptools
documentation. It is only a few paragraphs long:

http://peak.telecommunity.com/DevCenter/setuptools#declaring-extras-optional-features-with-their-own-dependencies

Darren



More information about the SciPy-Dev mailing list