Re: [Distutils] Distribution format for Python3 libraries

2013-11-19 Thread PJ Eby
On Tue, Nov 19, 2013 at 5:24 PM, Nick Coghlan  wrote:
> Perhaps it would be worth breaking the environment markers out as their own
> PEP?

As I said back then, I think *everything* in PEP 426 is worth breaking
out into its own PEP.  ;-)

Less jokingly, I think that the scope of PEP 426 includes many things
that have different (if overlapping) audiences, and splitting it into
smaller pieces will help those audiences concentrate on the bits
relevant to them.

The audience for markers is a subset of the audience for requirement
specs, which is a subset of the audience for version syntax.  Lots of
other subtopics are of interest mainly to build tool and distro
makers, so there's little point in making everybody read everything.
(Also, a lot of these smaller things are (hopefully) easier to reach
consensus on, at which point the PEPs are settled and allow moving
discussion on to the more open issues.)

So, yes, good idea to break out environment markers.  ;-)
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Distribution format for Python3 libraries

2013-11-19 Thread Nick Coghlan
On 20 Nov 2013 03:33, "PJ Eby"  wrote:
>
> On Tue, Nov 19, 2013 at 6:22 AM, Nick Coghlan  wrote:
> > On 19 November 2013 15:09, PJ Eby  wrote:
> >> On Sun, Nov 17, 2013 at 8:44 AM, Nick Coghlan 
wrote:
> >>> More accurately, it appears setuptools *does* support PEP 345 style
> >>> environment markers, it just isn't documented at
> >>>
http://pythonhosted.org/setuptools/setuptools.html#declaring-dependencies
> >>> *sigh*
> >>
> >> That's because it's technically an experimental feature I hacked into
> >> 0.6c12 development shortly before the distribute merge in order to
> >> handle setuptools' own requirements for SSL, so that setuptools could
> >> ship just one platform-independent egg and still have
> >> platform-specific dependencies.  ;-)
> >>
> >> I think Jason et al may have since upgraded it to a supported feature,
> >> but last I looked I think there may have still been issues with Jython
> >> support for the feature.
> >>
> >> So, the lack of documentation may still be a feature rather than a bug
ATM.  ;-)
> >
> > A fair point :)
> >
> > Regardless, it highlights the fact I need to ensure PEP 426 preserves
> > the legacy spellings for the markers that have dots in their names in
> > metadata 1.2 (https://bitbucket.org/pypa/pypi-metadata-formats/issue/12
).
>
> Eh?  I implemented PEP 426 (draft-at-the-time) markers in the feature
> I mentioned above.
>
> Hm.  Actually, looking over it now, I see the real reason it's
> experimental: it was implemented based on consensus-in-progress for
> PEP 426, so not a finalized PEP.  It also sort-of handles PEP 345.
> And the Jython fallback, IIRC, was maybe only doing PEP 345.  (And
> setuptools itself only needed the Python version and platform name.)
>
> So it's actually a bit of a mess -- which is why it wasn't documented,
> in order to avoid people forcing the new PEP's hand with another de
> facto standard.  I just figured it would get us most of the way there
> and when the PEP dust settled, the tests and code could be tweaked a
> bit to match, then documented with reference to the PEP.

Ah, that definitely makes sense - and then I went and postponed further
work on metadata 2.0 until after the Python 3.4 feature freeze once I
realised how far we could get with metadata 1.1 + the setuptools metadata
files.

So it turns out my *first* answer to the IPython folks was the most
accurate: technically, we need PEP 426 finalised before the static metadata
can handle their requirements.

Perhaps it would be worth breaking the environment markers out as their own
PEP?

Cheers,
Nick.
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


[Distutils] How setuptools reads requirements

2013-11-19 Thread Kura
Hey guys

I'm trying to dig in to how setuptools/distutils reads the [install_]requires 
keyword and how requirements.txt is handled.

I've tried running setup.py --requires but get an empty response back, this 
also fails when using >=x.x,<=x.y and causes a Python stack trace.

Was wondering if someone on here could shed some light on the topic for me.

It's for a Python dependency management/monitoring system I am writing so 
hopefully would benefit the overall community.


--
Kura

t: @kuramanga [https://twitter.com/kuramanga]
w: https://kura.io [https://kura.io]
k: https://kura.io/static/files/kura.asc [https://kura.io/static/files/kura.asc]___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Distribution format for Python3 libraries

2013-11-19 Thread PJ Eby
On Tue, Nov 19, 2013 at 6:22 AM, Nick Coghlan  wrote:
> On 19 November 2013 15:09, PJ Eby  wrote:
>> On Sun, Nov 17, 2013 at 8:44 AM, Nick Coghlan  wrote:
>>> More accurately, it appears setuptools *does* support PEP 345 style
>>> environment markers, it just isn't documented at
>>> http://pythonhosted.org/setuptools/setuptools.html#declaring-dependencies
>>> *sigh*
>>
>> That's because it's technically an experimental feature I hacked into
>> 0.6c12 development shortly before the distribute merge in order to
>> handle setuptools' own requirements for SSL, so that setuptools could
>> ship just one platform-independent egg and still have
>> platform-specific dependencies.  ;-)
>>
>> I think Jason et al may have since upgraded it to a supported feature,
>> but last I looked I think there may have still been issues with Jython
>> support for the feature.
>>
>> So, the lack of documentation may still be a feature rather than a bug ATM.  
>> ;-)
>
> A fair point :)
>
> Regardless, it highlights the fact I need to ensure PEP 426 preserves
> the legacy spellings for the markers that have dots in their names in
> metadata 1.2 (https://bitbucket.org/pypa/pypi-metadata-formats/issue/12).

Eh?  I implemented PEP 426 (draft-at-the-time) markers in the feature
I mentioned above.

Hm.  Actually, looking over it now, I see the real reason it's
experimental: it was implemented based on consensus-in-progress for
PEP 426, so not a finalized PEP.  It also sort-of handles PEP 345.
And the Jython fallback, IIRC, was maybe only doing PEP 345.  (And
setuptools itself only needed the Python version and platform name.)

So it's actually a bit of a mess -- which is why it wasn't documented,
in order to avoid people forcing the new PEP's hand with another de
facto standard.  I just figured it would get us most of the way there
and when the PEP dust settled, the tests and code could be tweaked a
bit to match, then documented with reference to the PEP.
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] sdist README.rst without MANIFEST

2013-11-19 Thread Lennart Regebro
Possibly, but not that I remember. Moving it into setup.cfg, perhaps.

On Tue, Nov 19, 2013 at 4:15 PM, anatoly techtonik  wrote:
> On Tue, Nov 19, 2013 at 12:15 PM, Lennart Regebro  wrote:
>> For plain distutils, I don't think so. Setuptools will include it if
>> it's included in the version control, but it seems that consensus is
>> moving towards always having a MANIFEST.in.
>
> Was there a discussion of moving MANIFEST.in into setup.py?
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] sdist README.rst without MANIFEST

2013-11-19 Thread anatoly techtonik
On Tue, Nov 19, 2013 at 12:15 PM, Lennart Regebro  wrote:
> For plain distutils, I don't think so. Setuptools will include it if
> it's included in the version control, but it seems that consensus is
> moving towards always having a MANIFEST.in.

Was there a discussion of moving MANIFEST.in into setup.py?
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Distribution format for Python3 libraries

2013-11-19 Thread Nick Coghlan
On 19 November 2013 15:09, PJ Eby  wrote:
> On Sun, Nov 17, 2013 at 8:44 AM, Nick Coghlan  wrote:
>> More accurately, it appears setuptools *does* support PEP 345 style
>> environment markers, it just isn't documented at
>> http://pythonhosted.org/setuptools/setuptools.html#declaring-dependencies
>> *sigh*
>
> That's because it's technically an experimental feature I hacked into
> 0.6c12 development shortly before the distribute merge in order to
> handle setuptools' own requirements for SSL, so that setuptools could
> ship just one platform-independent egg and still have
> platform-specific dependencies.  ;-)
>
> I think Jason et al may have since upgraded it to a supported feature,
> but last I looked I think there may have still been issues with Jython
> support for the feature.
>
> So, the lack of documentation may still be a feature rather than a bug ATM.  
> ;-)

A fair point :)

Regardless, it highlights the fact I need to ensure PEP 426 preserves
the legacy spellings for the markers that have dots in their names in
metadata 1.2 (https://bitbucket.org/pypa/pypi-metadata-formats/issue/12).

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] sdist README.rst without MANIFEST

2013-11-19 Thread Lennart Regebro
For plain distutils, I don't think so. Setuptools will include it if
it's included in the version control, but it seems that consensus is
moving towards always having a MANIFEST.in.

check-manifest is a useful tool here:

https://pypi.python.org/pypi/check-manifest/0.17

It integrates nicely with zest.releaser as well.
https://pypi.python.org/pypi/zest.releaser


On Tue, Nov 19, 2013 at 9:18 AM, anatoly techtonik  wrote:
> I use this in setup.py:
> ..
> long_description = open('README.rst', 'rb').read(),
> ..
>
> Which fails during installation, because README.rst is not shipped.
> The usual way to include is through MANIFEST.in
>
> http://docs.python.org/2/distutils/sourcedist.html
>
> Is it possible to include README.rst with source distribution, but
> without creating yet another file? Is it possible to specify includes
> in setup.py?
> --
> anatoly t.
> ___
> 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


[Distutils] sdist README.rst without MANIFEST

2013-11-19 Thread anatoly techtonik
I use this in setup.py:
..
long_description = open('README.rst', 'rb').read(),
..

Which fails during installation, because README.rst is not shipped.
The usual way to include is through MANIFEST.in

http://docs.python.org/2/distutils/sourcedist.html

Is it possible to include README.rst with source distribution, but
without creating yet another file? Is it possible to specify includes
in setup.py?
--
anatoly t.
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig