Re: [Distutils] When can we kill Python 2.6 support?

2016-09-02 Thread Nick Coghlan
On 3 September 2016 at 07:47,   wrote:
> Nick might have something better to say about this, but I don’t think 
> catching enterprise-y linux distros like RHEL out of the blue is a good way 
> to go, so even if we decide right now to drop 2.6 support, it shouldn’t 
> actually ship with breaking changes for like... 3 months?  Maybe a little 
> more or little less.

It won't (or at least shouldn't) be out of the blue:
http://www.curiousefficiency.org/posts/2015/04/stop-supporting-python26.html
;)

From a specifically Red Hat perspective, it's probably worth
mentioning that Red Hat doesn't commercially support pip in
conjunction with any version of Python 2.6 - we only provide a Red Hat
supported pip for the Software Collections runtimes, and the lowest
version of Python we provide as an SCL is 2.7.

My "Developing in Python on Red Hat Platforms" talk with Graham
Dumpleton in the DevNation/Red Hat Summit cross-over track this year
[1] was also basically telling people "Stop using the system Python to
run your own stuff, especially on RHEL 6", and advocating the use of
higher level alternatives like OpenShift v3, Software Collections, and
Ansible instead (depending on whether you were writing network
services, client applications, or system administration scripts).

So if pip 9.0 were to deprecate Python 2.6 support, I think that would
be an entirely reasonable decision for PyPA to make from an upstream
maintainability perspective - if folks genuinely want long term
infrastructure software maintenance for Python projects, they need to
be pestering commercial redistributors about funding that, rather than
assuming volunteers will always deliver it for free even when they're
running newer Python versions themselves.

The deprecation cycle would then mainly be about giving pip's
*community* users a heads up that CI testing against Python 2.6 was
being dropped, with Python 2.7+ likely becoming a requirement in a
future version.

Cheers,
Nick.

[1] 
http://www.slideshare.net/ncoghlan_dev/developing-in-python-on-red-hat-platforms-devnation-2016

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


Re: [Distutils] What is the official position on distutils?

2016-09-02 Thread Nick Coghlan
On 2 September 2016 at 19:28, Paul Moore  wrote:
> On 2 September 2016 at 09:58, Sylvain Corlay  wrote:
>> My point here was that I don't think that the proposed feature has much to
>> do with the concerns that were raised about distutils in general, unless it
>> is decided that incremental improvements to the library even backward
>> compatible will not be accepted anymore.
>
> Agreed. I think your feature is only stalled for distutils by the lack
> of people sufficiently comfortable with the code to apply it. The
> suggestions to add it to setuptools are more in the way of practical
> advice on how to make the feature available, rather than expressions
> of a policy that "we don't make changes like that in the stdlib".

However, one of the other consequences of the status quo is that if
Jason's comfortable with a change for setuptools, there's very rarely
going to be anyone that will argue with him if he also considers it a
suitable addition to the next version of distutils :)

Since Jason's primary involvement in distutils-sig & PyPA is as the
lead setuptools maintainer, it's easy for folks to be unaware of the
fact that he's a distutils maintainer as well.

So perhaps that's what we should adopt as the official distutils-sig
policy? Any proposed distutils changes should *always* go into
setuptools, as that way they're available for all currently supported
Python versions, and then it's up to the setuptools project to
escalate changes or change proposals for stdlib inclusion when they
consider that an appropriate step.

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] setup_requires: the obvious option(?)

2016-09-02 Thread Nick Coghlan
On 2 September 2016 at 13:30, Antony Lee  wrote:
>> Similarly, it wouldn't astonish me if we eventually see an emergent
>> practice of people writing pyproject.toml.in files for complex
>> projects, in order to move some particular forms of complexity away
>> from build time and towards development time - this would be a similar
>> practice to folks using autoconf to generate a project's C Makefile.
>
> This actually formulates much better than I could have done the reasons why
> I dislike PEP518: it's only going to lead to reinventing the wheel (AKA
> autoconf, which is a pretty big wheel to reinvent).

Unlike autoconf, we don't need to support building arbitrary C/C++
projects - rather, we just want people to have a backend independent
way to tell Python-centric toolchains how to invoke their *existing*
build system (whether that's autoconf/make, CMake, Scons, waf, Meson,
yotta, etc).

It's the current *lack* of that ability to readily integrate with
existing build tools (whether written in Python or not) that prompts
people to reinvent the world.

Defining and support PEP 518 means that a possible future workflow for
autoconf using projects would be something like:

$ ./configure && make pyproject.toml && pip install -e .

In that kind of scenario, the "tell Python tools how to build our
Python bindings" file becomes just another output of a project's
existing build system, which is entirely feasible with a well
documented static format, but impractical with the current
underspecified and underdocumented setup.py based approach.

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] When can we kill Python 2.6 support?

2016-09-02 Thread tritium-list
Therein lies my suggestion.  Pick a date, announce, give 3 months, then stop 
testing on 2.6

> -Original Message-
> From: Donald Stufft [mailto:don...@stufft.io]
> Sent: Friday, September 2, 2016 6:18 PM
> To: tritium-l...@sdamon.com
> Cc: distutils sig 
> Subject: Re: [Distutils] When can we kill Python 2.6 support?
> 
> 
> > On Sep 2, 2016, at 5:47 PM, tritium-l...@sdamon.com wrote:
> >
> > Nick might have something better to say about this, but I don’t think
> catching enterprise-y linux distros like RHEL out of the blue is a good way to
> go, so even if we decide right now to drop 2.6 support, it shouldn’t actually
> ship with breaking changes for like... 3 months?  Maybe a little more or 
> little
> less.
> 
> 
> Right, I don’t specifically mean immediately ejecting support, but rather
> deprecate and then drop along whatever the normal timeline is for project
> (and stop worrying about 2.6 for new stuff).
> 
> —
> Donald Stufft
> 
> 


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


Re: [Distutils] When can we kill Python 2.6 support?

2016-09-02 Thread Donald Stufft

> On Sep 2, 2016, at 5:47 PM, tritium-l...@sdamon.com wrote:
> 
> Nick might have something better to say about this, but I don’t think 
> catching enterprise-y linux distros like RHEL out of the blue is a good way 
> to go, so even if we decide right now to drop 2.6 support, it shouldn’t 
> actually ship with breaking changes for like... 3 months?  Maybe a little 
> more or little less.


Right, I don’t specifically mean immediately ejecting support, but rather 
deprecate and then drop along whatever the normal timeline is for project (and 
stop worrying about 2.6 for new stuff).

—
Donald Stufft



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


Re: [Distutils] When can we kill Python 2.6 support?

2016-09-02 Thread tritium-list
Nick might have something better to say about this, but I don’t think catching 
enterprise-y linux distros like RHEL out of the blue is a good way to go, so 
even if we decide right now to drop 2.6 support, it shouldn’t actually ship 
with breaking changes for like... 3 months?  Maybe a little more or little less.

> -Original Message-
> From: Distutils-SIG [mailto:distutils-sig-bounces+tritium-
> list=sdamon@python.org] On Behalf Of Donald Stufft
> Sent: Friday, September 2, 2016 5:06 PM
> To: distutils sig 
> Subject: [Distutils] When can we kill Python 2.6 support?
> 
> The packaging tools generally support 2.6+ and 3.(2|3)+ and that's sort of
> been
> where they've been at for a while now. I would like to think about what we
> need
> to be to start considering Python 2.6 as "too old" to support. In pip we
> generally follow a usage based deprecation/removal of supported Pythons
> but we
> don't have any real guidelines for when something is at a low enough usage
> to
> consider it no longer supported and we instead just sort of wait until
> someone
> makes a case that it's "low enough".
> 
> This issue tends to impact more than just pip, because once pip drops
> support
> for something people tend to start dropping it across the entire ecosystem
> and
> use pip's no longer supporting it as justification for doing so.
> 
> I would like to take a look at Python 2.6 and try and figure out if we're at a
> point that we can deprecate and drop it, and if not what is such a point.
> 
> Looking at pure usage numbers for "modern" versions of pip (6, 7, and 8) for
> downloading from PyPI I see the usage is ~3% of downloads are via Python
> 2.6.
> The only thing lower than Python 2.6 that is still supported is Python 3.3.
> 
> Python 2.6 itself has been EOL since 2013-10-29 which is now just about 3
> years
> ago. It's SSL module is not generally secure and requires the use of 
> additional
> installed modules to get it to be so. I believe the only place to get a
> Python 2.6 that is "supported" is through the Enterprise-y Linux Distributions
> like RHEL/CentOS/etc.
> 
> Do we think that a ~3% usage of Python 2.6 and being end-of-life'd for ~3
> years
> is enough to start deprecating and dropping 2.6? If not what sort of threshold
> do we think is enough? It'd be nice to get the albatross of Python 2.6 support
> off from around our necks but I'm not sure how others feel. Obviously all of
> the existing versions of all of the tooling will still be fully functional so
> Python 2.6 users will simply need to not upgrade their tooling to continue to
> work, *but* it also means that they will be left out of new packaging features
> (and likewise, people can't rely on them if they still wish to support 2.6).
> 
> Thoughts?
> 
> —
> Donald Stufft
> 
> 
> 
> ___
> 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


Re: [Distutils] When can we kill Python 2.6 support?

2016-09-02 Thread David Mertz
Kill it with fire!

On Sep 2, 2016 2:06 PM, "Donald Stufft"  wrote:

> The packaging tools generally support 2.6+ and 3.(2|3)+ and that's sort of
> been
> where they've been at for a while now. I would like to think about what we
> need
> to be to start considering Python 2.6 as "too old" to support. In pip we
> generally follow a usage based deprecation/removal of supported Pythons
> but we
> don't have any real guidelines for when something is at a low enough usage
> to
> consider it no longer supported and we instead just sort of wait until
> someone
> makes a case that it's "low enough".
>
> This issue tends to impact more than just pip, because once pip drops
> support
> for something people tend to start dropping it across the entire ecosystem
> and
> use pip's no longer supporting it as justification for doing so.
>
> I would like to take a look at Python 2.6 and try and figure out if we're
> at a
> point that we can deprecate and drop it, and if not what is such a point.
>
> Looking at pure usage numbers for "modern" versions of pip (6, 7, and 8)
> for
> downloading from PyPI I see the usage is ~3% of downloads are via Python
> 2.6.
> The only thing lower than Python 2.6 that is still supported is Python 3.3.
>
> Python 2.6 itself has been EOL since 2013-10-29 which is now just about 3
> years
> ago. It's SSL module is not generally secure and requires the use of
> additional
> installed modules to get it to be so. I believe the only place to get a
> Python 2.6 that is "supported" is through the Enterprise-y Linux
> Distributions
> like RHEL/CentOS/etc.
>
> Do we think that a ~3% usage of Python 2.6 and being end-of-life'd for ~3
> years
> is enough to start deprecating and dropping 2.6? If not what sort of
> threshold
> do we think is enough? It'd be nice to get the albatross of Python 2.6
> support
> off from around our necks but I'm not sure how others feel. Obviously all
> of
> the existing versions of all of the tooling will still be fully functional
> so
> Python 2.6 users will simply need to not upgrade their tooling to continue
> to
> work, *but* it also means that they will be left out of new packaging
> features
> (and likewise, people can't rely on them if they still wish to support
> 2.6).
>
> Thoughts?
>
> —
> Donald Stufft
>
>
>
> ___
> 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] When can we kill Python 2.6 support?

2016-09-02 Thread Donald Stufft
The packaging tools generally support 2.6+ and 3.(2|3)+ and that's sort of been
where they've been at for a while now. I would like to think about what we need
to be to start considering Python 2.6 as "too old" to support. In pip we
generally follow a usage based deprecation/removal of supported Pythons but we
don't have any real guidelines for when something is at a low enough usage to
consider it no longer supported and we instead just sort of wait until someone
makes a case that it's "low enough".

This issue tends to impact more than just pip, because once pip drops support
for something people tend to start dropping it across the entire ecosystem and
use pip's no longer supporting it as justification for doing so.

I would like to take a look at Python 2.6 and try and figure out if we're at a
point that we can deprecate and drop it, and if not what is such a point.

Looking at pure usage numbers for "modern" versions of pip (6, 7, and 8) for
downloading from PyPI I see the usage is ~3% of downloads are via Python 2.6.
The only thing lower than Python 2.6 that is still supported is Python 3.3.

Python 2.6 itself has been EOL since 2013-10-29 which is now just about 3 years
ago. It's SSL module is not generally secure and requires the use of additional
installed modules to get it to be so. I believe the only place to get a
Python 2.6 that is "supported" is through the Enterprise-y Linux Distributions
like RHEL/CentOS/etc.

Do we think that a ~3% usage of Python 2.6 and being end-of-life'd for ~3 years
is enough to start deprecating and dropping 2.6? If not what sort of threshold
do we think is enough? It'd be nice to get the albatross of Python 2.6 support
off from around our necks but I'm not sure how others feel. Obviously all of
the existing versions of all of the tooling will still be fully functional so
Python 2.6 users will simply need to not upgrade their tooling to continue to
work, *but* it also means that they will be left out of new packaging features
(and likewise, people can't rely on them if they still wish to support 2.6).

Thoughts?

—
Donald Stufft



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


Re: [Distutils] Accepting PEP 527 (reducing the variety of file types supported by PyPI)

2016-09-02 Thread Donald Stufft
Thanks!

> On Sep 1, 2016, at 7:19 AM, Nick Coghlan  wrote:
> 
> Having reviewed the comments on the PEP 527 thread and the latest
> draft of the PEP, I'm now accepting the PEP. This means that:
> 
> * supported sdist types will be reduced to .tar.gz and .zip
> * projects will need to choose one or the other for future releases
> * supported binary formats will be reduced to bdist_wheel and bdist_egg
> 
> The problem that Maurits van Rees pointed out with ez_setup.py
> currently still specifically looking for a zip file and processing it
> accordingly can be resolved by setuptools settling on zip as its sdist
> publication format (unless/until ez_setup.py is changed to handle
> tar.gz).
> 
> Regards,
> Nick.
> 
> -- 
> Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
> ___
> Distutils-SIG maillist  -  Distutils-SIG@python.org
> https://mail.python.org/mailman/listinfo/distutils-sig


—
Donald Stufft



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


Re: [Distutils] What is the official position on distutils?

2016-09-02 Thread Paul Moore
On 2 September 2016 at 09:58, Sylvain Corlay  wrote:
> My point here was that I don't think that the proposed feature has much to
> do with the concerns that were raised about distutils in general, unless it
> is decided that incremental improvements to the library even backward
> compatible will not be accepted anymore.

Agreed. I think your feature is only stalled for distutils by the lack
of people sufficiently comfortable with the code to apply it. The
suggestions to add it to setuptools are more in the way of practical
advice on how to make the feature available, rather than expressions
of a policy that "we don't make changes like that in the stdlib".

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


Re: [Distutils] What is the official position on distutils?

2016-09-02 Thread Sylvain Corlay
Hi Brett,

On Mon, Aug 29, 2016 at 9:52 PM, Brett Cannon  wrote:

>
>
>> As we discussed earlier, even though it is not a concern with C, checking
>> for availability of a compiler flag becomes crucial when building
>> extensions with C++ since new flavors of the language emerge every couple
>> of years now. It is important to be able to output meaningful error
>> messages when the compiler does not support C++[11/14/17] features if they
>> are needed for a given extension. This is a new aspect of the landscape in
>> this area.
>>
>> Finally, adding this method is a very straightforward change. `has_flag`
>> simply comes aside `has_function` as a method of ccompiler. I don't see a
>> more natural place for it. It would be a very weird design decision in my
>> opinion to not add it there, and instead to add it to distutils.ccompiler
>> by monkeypatching it in setuptools.
>>
>
> Honestly I have no comment on your feature, Sylvain, and I'm sorry your
> proposal happens to be the catalyst to this discussion. I'm just trying to
> get a general alignment from the PyPA group as the "distutils problem"
> comes up and has the same points made every time with no general decision
> on how to handle it long-term.
>
> -Brett
>
>

My point here was that I don't think that the proposed feature has much to
do with the concerns that were raised about distutils in general, unless it
is decided that incremental improvements to the library even backward
compatible will not be accepted anymore.

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