On Mar 8, 2014, at 9:19 AM, Jason R. Coombs <jar...@jaraco.com> wrote:

>  
>  
> From: Distutils-SIG 
> [mailto:distutils-sig-bounces+jaraco=jaraco....@python.org] On Behalf Of 
> Marcus Smith
> Sent: Thursday, 06 March, 2014 16:16
> To: DistUtils mailing list
> Subject: Re: [Distutils] tourist here, with a dumb RTFM question
>  
>  
>  
> 
> On Thu, Mar 6, 2014 at 10:37 AM, Michael Bayer <mike...@zzzcomputing.com> 
> wrote:
> 
> On Mar 6, 2014, at 1:07 PM, Daniel Holth <dho...@gmail.com> wrote:
> 
> > pje said:
> >
> > The "Feature()" facility was never completely implemented or
> > supported, and even if it were, it should be deprecated now, as it
> > will not be compatible with the coming packaging systems based on PEP
> > 426. If you need separate features, use separate distributions and
> > "extras" instead.
> 
> wait, ok this is that thing.  “separate distributions” means….
> 
> 
> SQLAlchemy-0.9.3-nocext.tar.gz
> SQLAlchemy-0.9.3-cext.tar.gz
>  
> I'm new to understanding setuptools "Feature" myself, so don't crank too 
> much, if I get anything wrong.
>  
> afaik, it means something like:
>  
> SQLAlchemy-X.Y.tar.gz
> SQLAlchemy-cext-X.Y.tar.gz
>  
> i.e. isolating the feature into a separate project.
>  
> and then instead of having the handy  "--with-cext" option,  it has to be  
> "pip install SQLAlchemy[SQLAlchemy-cext]
>  
> PJ, Jason: can you clarify what the alternative is supposed to look like?
>  
> I’m new to understanding Features as well, but based on PJ’s post, I would 
> agree with Marcus here. This is how I interpreted the use of extras to 
> supersede Features. I see a lot of advantages to this approach over 
> build-time selection. Because it decouples the main project from the 
> C-extension speedups, it gives the installer control over what behavior is 
> present. It also gives deployment tools visibility over what capability is 
> present (with features, it’s harder to tell if the C-extension speedups are 
> present; with extras, one can query pkg_resources).


If there’s an easy way to do this from setup.py it wouldn’t be so bad:

python setup.py —without-cext sdist upload   

python setup.py sdist upload

but it still seems kind of strange to deliver the exact same source files with 
some flag somewhere different?   I’d assume that flag is in setup.cfg, which 
means, it’s a setup.py flag in any case!   not to mention its still needed as 
part of the “sdist” and other commands to build dists.

I think the issue of “you should have individual projects on pypi with 
different options to make life easier for builders” is orthogonal to “setup.py 
should or should not support flags”.










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

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

Reply via email to