Re: [Python-Dev] VS 2010 compiler

2015-09-30 Thread Paul Moore
On 30 September 2015 at 01:31, Chris Barker - NOAA Federal
 wrote:
> It may be -- I've still have to test. Neither Windows nor py3 are my
> primary production versions.

Part of the problem here is that people put up postings saying "do
this" having checked that it works for them, and then others say "but
it doesn't work", without giving any information as to why or
providing any means to improve the instructions.

I'm not suggesting here that you're going to do this - but those
instructions are in essence the "official" (not well documented,
conceded) advice at present, and they have been tested by a number of
people for whom they work. They have also been reported to fail, but
(as noted above) never in a way that allows us to improve them :-(
They will remain the official advice, I suspect, until we get better
feedback.

> But the last time I tried the SDK approach was for py2.7 on Win64, and
> it was both a pain, and impossible to set up to "just work" in my
> highly secure environment.

Well, I'd need more explanation of the issues. Was "install the SDK" a
problem? Or was "set the environment variable DISTUTILS_USE_SDK"? Or
did the instructions to do those two things not work? (I appreciate
we're talking about 2 different things here, and I think Python 3 is a
much less painful case than 2.7 on win64 was prior to the Visual C for
Python 2.7 package).

I suspect (from your mention of a highly secure environment) that
installing the SDK was the main pain point. That's been the case for a
number of people, I believe. But I don't think advice on how to
install the Windows SDK in various environments is something we'd want
to maintain in the Python documentation...

This of course is another aspect of the problem - the official answer
is "use a supported version of Windows, ensure you have the necessary
permissions to install the needed software, and off you go". But in
real life people want to build on an old laptop they had lying around,
or on a VM they created on Linux, or on their Linux box using Wine, or
on the box they use for a load of other development that has more SDKs
than you want to imagine already installed, some of which got broken
in the past, ... Or they need to use mingw, because a key library
can't be compiled with Visual Studio. These are all real problems, and
the people fighting them are doing a huge amount of good work building
binary distributions for the community. They document what they are
doing to solve their issues and those documents show up on Google,
causing people who just want to build a simple extension to find them
and get hopelessly confused.

> So at best, it needs some serious documentation. And no, it shouldn't
> be just a blog post somewhere (unless maybe Steve Dowers's blog).

OK, without wishing to minimise what I fully agree is a serious
problem, at a very high level the instructions are:

For Python 2.7:

1. Install "Visual C++ Compiler Package for Python 2.7"
2. Use (a recent version of) setuptools in your setup.py (pip will do
this for you, in any case).
3. Done.

For Python 3.4

1. Install "Windows SDK for Windows 7 and .NET Framework 4" (v7.1)
2. Work from an SDK command prompt (with the environment variables
set, and the SDK on PATH).
3. Set DISTUTILS_USE_SDK=1
4. Done.

For Python 3.5

1. Install Visual Studio 2015 Community Edition (or any later version,
when these are released).
2. Done.

> Thus whole issue has been dogging python on windows for many years --
> it never has been easy to find out what to do.
>
> In fact, there are all sorts of Blog posts out there, with various
> levels of out of date, conflicting, or just plain wrong advice.

And this is why it's hard to fix the problem - people don't look at
the documentation, they don't try to find "official" advice, they
simply google and get a load of confusing advice. See above as to why
some of those documents are there, and are more complex than the
average user needs.

> A definitive version in the official docs would be a very good thing.

Well, I'd happily put the above instructions in the packaging user
guide (packaging.python.org). Would that be sufficient for you?

Paul
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] VS 2010 compiler

2015-09-30 Thread Chris Barker - NOAA Federal
TL;DR -- yes, documenting this in packaging.python.org would be great!

> Part of the problem here is that people put up postings saying "do
> this" having checked that it works for them, and then others say "but
> it doesn't work", without giving any information as to why or
> providing any means to improve the instructions.

Exactly. Which is why a Blog post is not the answer. If I find a blog
post, I have no idea how well vetted and tested it is.

If you look at the history of the Cython Wiki page about this, it
becomes very clear how much confusion there is. (Though I think it's
in pretty god shape now-- wikis have the advantage of being able to
evolve and getter better).

> I'm not suggesting here that you're going to do this -

Absolutely not -- I would not post anything anywhere without review --
this's kind of the point. If I find it in an official source, I know
it's been reviewed.

> us to improve them :-(
> They will remain the official advice, I suspect, until we get better
> feedback.

Which is my point -- how do I currently know what the official advise
is? (Yes, I know now -- thanks!) But posting to python-dev is exactly
the wrong way to find out!

>> But the last time I tried the SDK approach was for py2.7 on Win64, and
>> it was both a pain, and impossible to set up to "just work" in my
>> highly secure environment.
>
> Well, I'd need more explanation of the issues. Was "install the SDK" a
> problem? Or was "set the environment variable DISTUTILS_USE_SDK"? Or
> did the instructions to do those two things not work?

The issue was not having permissions to alter the registry the way we
wanted. But again, I'll need to do some proper testing with up to date
everything and see what happens.

>  I think Python 3 is a
> much less painful case than 2.7 on win64 was prior to the Visual C for
> Python 2.7 package).

Good to know.

>  But I don't think advice on how to
> install the Windows SDK in various environments is something we'd want
> to maintain in the Python documentation...

Agreed -- if you can't install it you can't install it. And if it
can't be installed in user-space, that's between MS and your
sysadmins...

> This of course is another aspect of the problem - the official answer
> is "use a supported version of Windows, ensure you have the necessary
> permissions to install the needed software, and off you go".

Well, I for one think that's fine. Supporting open source software on
a closed-source OS is going to have these pain points.

> OK, without wishing to minimise what I fully agree is a serious
> problem, at a very high level the instructions are:
>
> For Python 2.7:
>
> 1. Install "Visual C++ Compiler Package for Python 2.7"
> 2. Use (a recent version of) setuptools in your setup.py (pip will do
> this for you, in any case).
> 3. Done.

That new MS installer is really really great.

> For Python 3.4
>
> 1. Install "Windows SDK for Windows 7 and .NET Framework 4" (v7.1)
> 2. Work from an SDK command prompt (with the environment variables
> set, and the SDK on PATH).
> 3. Set DISTUTILS_USE_SDK=1
> 4. Done.

This, unfortunately is non-trivial, and really a pain if you want to
automate builds.

Apparently, conda-build has got this automated under the hood. Maybe
that could be kludge do into setuptools?

>  - people don't look at
> the documentation, they don't try to find "official" advice, they
> simply google and get a load of confusing advice.

Well, yes, but when there is no official advice, looking for it doesn't help

I, for one, have looked for docs and official advise over and over
again for many years ( back when kept trying to remember if py2.6 was
built with VS2003 or VS2008, or ??

> Well, I'd happily put the above instructions in the packaging user
> guide (packaging.python.org). Would that be sufficient for you?

That would be great, thanks! An "official" source, but easier to
update that the regular docs.

Thanks,

-Chris
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] VS 2010 compiler

2015-09-30 Thread Paul Moore
On 30 September 2015 at 16:57, Chris Barker - NOAA Federal
 wrote:
>> 1. Install "Windows SDK for Windows 7 and .NET Framework 4" (v7.1)
>> 2. Work from an SDK command prompt (with the environment variables
>> set, and the SDK on PATH).
>> 3. Set DISTUTILS_USE_SDK=1
>> 4. Done.
>
> This, unfortunately is non-trivial, and really a pain if you want to
> automate builds.

Please clarify. What is non-trivial? Installing the SDK? I know, but
we said that's out of scope. Using an SDK command prompt? It is, sort
of, particularly if (like me) you use powershell. But again, not our
issue. I assume setting the environment variable isn't an issue - you
can do it for the session rather than globally, so even restrictive
permissions aren't a problem.

I appreciate you mightn't be intending this as criticism of the
instructions, but many people do criticise in exactly this sort of
way. Unix developers, in particular, who have limited Windows
knowledge, find this level of instruction really frustrating to deal
with. That's not a complaint - I have *huge* appreciation for
non-Windows users who bother to make builds for Windows users - but it
is an acknowledgement that often the audience for this sort of
instruction are stumped by Microsoft's less than intuitive install
processes...

For context, installing mingw is just as messy, complicated and error
prone (I speak from experience :-)) so it's unfair to complain that
the above is a non-trivial pain. I know of no install option that's
*less* straightforward than this (except of course for "install any
version of Visual Studio 2010, even the free ones" - if you have
access to those, use them!)

For automation, why not use Appveyor? See
https://packaging.python.org/en/latest/appveyor/ Unless you meant
setting up a local build machine. If you want a simple "install a
Python build environment" process, you could look at
https://github.com/pfmoore/pybuild - I haven't used it in a while (as
it's of no relevance to me, because I have VS2010) but it does work. I
never publicised or distributed it, because I got too much pushback in
terms of "but it doesn't work right on my system" (typically because
the system in question usually *wasn't* a clean build of Windows) that
I didn't have time or energy to address. But if it works for you, go
for it.

I'll push an addition to packaging.python.org, probably tomorrow.

Paul
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] VS 2010 compiler

2015-09-30 Thread Carl Kleffner
Concerning the claims that mingw is difficult:

The mingwpy package is a sligthly modified mingw-w64 based gcc toolchain,
that is in development. It is designed for simple use and for much better
compatibility to the standard MSVC python builds. It should work out of the
box, as long as the \Scripts folder is in the PATH.

It is not 'officially' released and announced, due to the fact that some
features are missing, the documentation has to be written and the build
scripts for the toolchain are not (yet) published.

Install a prerelease of mingwpy with pip:

  pip install -i https://pypi.anaconda.org/carlkl/simple mingwpy

or with conda: (thanks to omnia-md)

  conda install -c https://conda.anaconda.org/omnia mingwpy

and use it at usual with pip install or python setup.py

You may need to configure %USERPROFILE%\pydistutils.cfg to use mingwpy if
you have an MSVC compiler installed:

[config]
compiler=mingw32
[build]
compiler=mingw32
[build_ext]
compiler=mingw32

Or you install the latest portable winpython distribution
https://winpython.github.io that contains the toolchain as well and works
out of the box.

Future releases of mingwpy will be deployed on Pypi.

That has to be said: the main emphasis of the toolchain is building python
binary extension (C, C++, GFORTRAN) on windows, not building python itself.

Carl

2015-09-30 21:15 GMT+02:00 Paul Moore :

> On 30 September 2015 at 16:57, Chris Barker - NOAA Federal
>  wrote:
> >> 1. Install "Windows SDK for Windows 7 and .NET Framework 4" (v7.1)
> >> 2. Work from an SDK command prompt (with the environment variables
> >> set, and the SDK on PATH).
> >> 3. Set DISTUTILS_USE_SDK=1
> >> 4. Done.
> >
> > This, unfortunately is non-trivial, and really a pain if you want to
> > automate builds.
>
> Please clarify. What is non-trivial? Installing the SDK? I know, but
> we said that's out of scope. Using an SDK command prompt? It is, sort
> of, particularly if (like me) you use powershell. But again, not our
> issue. I assume setting the environment variable isn't an issue - you
> can do it for the session rather than globally, so even restrictive
> permissions aren't a problem.
>
> I appreciate you mightn't be intending this as criticism of the
> instructions, but many people do criticise in exactly this sort of
> way. Unix developers, in particular, who have limited Windows
> knowledge, find this level of instruction really frustrating to deal
> with. That's not a complaint - I have *huge* appreciation for
> non-Windows users who bother to make builds for Windows users - but it
> is an acknowledgement that often the audience for this sort of
> instruction are stumped by Microsoft's less than intuitive install
> processes...
>
> For context, installing mingw is just as messy, complicated and error
> prone (I speak from experience :-)) so it's unfair to complain that
> the above is a non-trivial pain. I know of no install option that's
> *less* straightforward than this (except of course for "install any
> version of Visual Studio 2010, even the free ones" - if you have
> access to those, use them!)
>
> For automation, why not use Appveyor? See
> https://packaging.python.org/en/latest/appveyor/ Unless you meant
> setting up a local build machine. If you want a simple "install a
> Python build environment" process, you could look at
> https://github.com/pfmoore/pybuild - I haven't used it in a while (as
> it's of no relevance to me, because I have VS2010) but it does work. I
> never publicised or distributed it, because I got too much pushback in
> terms of "but it doesn't work right on my system" (typically because
> the system in question usually *wasn't* a clean build of Windows) that
> I didn't have time or energy to address. But if it works for you, go
> for it.
>
> I'll push an addition to packaging.python.org, probably tomorrow.
>
> Paul
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> https://mail.python.org/mailman/options/python-dev/cmkleffner%40gmail.com
>
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] VS 2010 compiler

2015-09-30 Thread Laurent Gautier
Hi Carl,

Looks promising.

Any chance the effort would consider cross-compiling (from Linux) as a
possible objective ?

Best,

Laurent

On Wed, Sep 30, 2015, 3:58 PM Carl Kleffner  wrote:

> Concerning the claims that mingw is difficult:
>
> The mingwpy package is a sligthly modified mingw-w64 based gcc toolchain,
> that is in development. It is designed for simple use and for much better
> compatibility to the standard MSVC python builds. It should work out of the
> box, as long as the \Scripts folder is in the PATH.
>
> It is not 'officially' released and announced, due to the fact that some
> features are missing, the documentation has to be written and the build
> scripts for the toolchain are not (yet) published.
>
> Install a prerelease of mingwpy with pip:
>
>   pip install -i https://pypi.anaconda.org/carlkl/simple mingwpy
>
> or with conda: (thanks to omnia-md)
>
>   conda install -c https://conda.anaconda.org/omnia mingwpy
>
> and use it at usual with pip install or python setup.py
>
> You may need to configure %USERPROFILE%\pydistutils.cfg to use mingwpy if
> you have an MSVC compiler installed:
>
> [config]
> compiler=mingw32
> [build]
> compiler=mingw32
> [build_ext]
> compiler=mingw32
>
> Or you install the latest portable winpython distribution
> https://winpython.github.io that contains the toolchain as well and works
> out of the box.
>
> Future releases of mingwpy will be deployed on Pypi.
>
> That has to be said: the main emphasis of the toolchain is building python
> binary extension (C, C++, GFORTRAN) on windows, not building python itself.
>
> Carl
>
> 2015-09-30 21:15 GMT+02:00 Paul Moore :
>
>> On 30 September 2015 at 16:57, Chris Barker - NOAA Federal
>>  wrote:
>> >> 1. Install "Windows SDK for Windows 7 and .NET Framework 4" (v7.1)
>> >> 2. Work from an SDK command prompt (with the environment variables
>> >> set, and the SDK on PATH).
>> >> 3. Set DISTUTILS_USE_SDK=1
>> >> 4. Done.
>> >
>> > This, unfortunately is non-trivial, and really a pain if you want to
>> > automate builds.
>>
>> Please clarify. What is non-trivial? Installing the SDK? I know, but
>> we said that's out of scope. Using an SDK command prompt? It is, sort
>> of, particularly if (like me) you use powershell. But again, not our
>> issue. I assume setting the environment variable isn't an issue - you
>> can do it for the session rather than globally, so even restrictive
>> permissions aren't a problem.
>>
>> I appreciate you mightn't be intending this as criticism of the
>> instructions, but many people do criticise in exactly this sort of
>> way. Unix developers, in particular, who have limited Windows
>> knowledge, find this level of instruction really frustrating to deal
>> with. That's not a complaint - I have *huge* appreciation for
>> non-Windows users who bother to make builds for Windows users - but it
>> is an acknowledgement that often the audience for this sort of
>> instruction are stumped by Microsoft's less than intuitive install
>> processes...
>>
>> For context, installing mingw is just as messy, complicated and error
>> prone (I speak from experience :-)) so it's unfair to complain that
>> the above is a non-trivial pain. I know of no install option that's
>> *less* straightforward than this (except of course for "install any
>> version of Visual Studio 2010, even the free ones" - if you have
>> access to those, use them!)
>>
>> For automation, why not use Appveyor? See
>> https://packaging.python.org/en/latest/appveyor/ Unless you meant
>> setting up a local build machine. If you want a simple "install a
>> Python build environment" process, you could look at
>> https://github.com/pfmoore/pybuild - I haven't used it in a while (as
>> it's of no relevance to me, because I have VS2010) but it does work. I
>> never publicised or distributed it, because I got too much pushback in
>> terms of "but it doesn't work right on my system" (typically because
>> the system in question usually *wasn't* a clean build of Windows) that
>> I didn't have time or energy to address. But if it works for you, go
>> for it.
>>
>> I'll push an addition to packaging.python.org, probably tomorrow.
>>
>> Paul
>>
> ___
>> Python-Dev mailing list
>> Python-Dev@python.org
>> https://mail.python.org/mailman/listinfo/python-dev
>>
> Unsubscribe:
>> https://mail.python.org/mailman/options/python-dev/cmkleffner%40gmail.com
>>
>
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> https://mail.python.org/mailman/options/python-dev/lgautier%40gmail.com
>
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] VS 2010 compiler

2015-09-30 Thread Carl Kleffner
It should be possible with Wine.
Am 30.09.2015 22:50 schrieb "Laurent Gautier" :

> Hi Carl,
>
> Looks promising.
>
> Any chance the effort would consider cross-compiling (from Linux) as a
> possible objective ?
>
> Best,
>
> Laurent
>
> On Wed, Sep 30, 2015, 3:58 PM Carl Kleffner  wrote:
>
>> Concerning the claims that mingw is difficult:
>>
>> The mingwpy package is a sligthly modified mingw-w64 based gcc toolchain,
>> that is in development. It is designed for simple use and for much better
>> compatibility to the standard MSVC python builds. It should work out of the
>> box, as long as the \Scripts folder is in the PATH.
>>
>> It is not 'officially' released and announced, due to the fact that some
>> features are missing, the documentation has to be written and the build
>> scripts for the toolchain are not (yet) published.
>>
>> Install a prerelease of mingwpy with pip:
>>
>>   pip install -i https://pypi.anaconda.org/carlkl/simple mingwpy
>>
>> or with conda: (thanks to omnia-md)
>>
>>   conda install -c https://conda.anaconda.org/omnia mingwpy
>>
>> and use it at usual with pip install or python setup.py
>>
>> You may need to configure %USERPROFILE%\pydistutils.cfg to use mingwpy
>> if you have an MSVC compiler installed:
>>
>> [config]
>> compiler=mingw32
>> [build]
>> compiler=mingw32
>> [build_ext]
>> compiler=mingw32
>>
>> Or you install the latest portable winpython distribution
>> https://winpython.github.io that contains the toolchain as well and
>> works out of the box.
>>
>> Future releases of mingwpy will be deployed on Pypi.
>>
>> That has to be said: the main emphasis of the toolchain is building
>> python binary extension (C, C++, GFORTRAN) on windows, not building python
>> itself.
>>
>> Carl
>>
>> 2015-09-30 21:15 GMT+02:00 Paul Moore :
>>
>>> On 30 September 2015 at 16:57, Chris Barker - NOAA Federal
>>>  wrote:
>>> >> 1. Install "Windows SDK for Windows 7 and .NET Framework 4" (v7.1)
>>> >> 2. Work from an SDK command prompt (with the environment variables
>>> >> set, and the SDK on PATH).
>>> >> 3. Set DISTUTILS_USE_SDK=1
>>> >> 4. Done.
>>> >
>>> > This, unfortunately is non-trivial, and really a pain if you want to
>>> > automate builds.
>>>
>>> Please clarify. What is non-trivial? Installing the SDK? I know, but
>>> we said that's out of scope. Using an SDK command prompt? It is, sort
>>> of, particularly if (like me) you use powershell. But again, not our
>>> issue. I assume setting the environment variable isn't an issue - you
>>> can do it for the session rather than globally, so even restrictive
>>> permissions aren't a problem.
>>>
>>> I appreciate you mightn't be intending this as criticism of the
>>> instructions, but many people do criticise in exactly this sort of
>>> way. Unix developers, in particular, who have limited Windows
>>> knowledge, find this level of instruction really frustrating to deal
>>> with. That's not a complaint - I have *huge* appreciation for
>>> non-Windows users who bother to make builds for Windows users - but it
>>> is an acknowledgement that often the audience for this sort of
>>> instruction are stumped by Microsoft's less than intuitive install
>>> processes...
>>>
>>> For context, installing mingw is just as messy, complicated and error
>>> prone (I speak from experience :-)) so it's unfair to complain that
>>> the above is a non-trivial pain. I know of no install option that's
>>> *less* straightforward than this (except of course for "install any
>>> version of Visual Studio 2010, even the free ones" - if you have
>>> access to those, use them!)
>>>
>>> For automation, why not use Appveyor? See
>>> https://packaging.python.org/en/latest/appveyor/ Unless you meant
>>> setting up a local build machine. If you want a simple "install a
>>> Python build environment" process, you could look at
>>> https://github.com/pfmoore/pybuild - I haven't used it in a while (as
>>> it's of no relevance to me, because I have VS2010) but it does work. I
>>> never publicised or distributed it, because I got too much pushback in
>>> terms of "but it doesn't work right on my system" (typically because
>>> the system in question usually *wasn't* a clean build of Windows) that
>>> I didn't have time or energy to address. But if it works for you, go
>>> for it.
>>>
>>> I'll push an addition to packaging.python.org, probably tomorrow.
>>>
>>> Paul
>>>
>> ___
>>> Python-Dev mailing list
>>> Python-Dev@python.org
>>> https://mail.python.org/mailman/listinfo/python-dev
>>>
>> Unsubscribe:
>>> https://mail.python.org/mailman/options/python-dev/cmkleffner%40gmail.com
>>>
>>
>> ___
>> Python-Dev mailing list
>> Python-Dev@python.org
>> https://mail.python.org/mailman/listinfo/python-dev
>> Unsubscribe:
>> https://mail.python.org/mailman/options/python-dev/lgautier%40gmail.com
>>
>
___
Python-Dev mailing list
Python-Dev@python.org
https://m

[Python-Dev] PEP acceptance and SIGs

2015-09-30 Thread Alexander Belopolsky
It has been my understanding that some PEPs may be discussed on specialized
mailings lists, but a notice would be given on python-dev prior to any
acceptance.

I have recently received a notification that since PEP 470 has been
accepted, I can no longer use external hosting for one of the packages that
I published on PyPI.

The PEP refers to a notice [1] posted on distutils-sig, but I cannot find
any discussion of PEP 470 on either python-dev or python-ideas.

[1]:
https://mail.python.org/pipermail/distutils-sig/2015-September/026789.html
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP acceptance and SIGs

2015-09-30 Thread Donald Stufft
On September 30, 2015 at 8:20:53 PM, Alexander Belopolsky 
(alexander.belopol...@gmail.com) wrote:
> It has been my understanding that some PEPs may be discussed on specialized
> mailings lists, but a notice would be given on python-dev prior to any
> acceptance.
>  

I don’t see any requirement to post PEPs to python-dev if they have a 
Discussions-To header in PEP 1. I don’t really think it makes sense in this 
case either tbh, PyPI, pip, and setuptools are not under python-dev’s banner. 
We use PEPs because they are a convenient way to manage change (and we’ve even 
discussed recently not using PEPs for packaging things that don’t have anything 
to do with the standard library and moving to a more lightweight process more 
akin to the Rust RFC process for various reasons).

-
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA


___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP acceptance and SIGs

2015-09-30 Thread Alexander Belopolsky
On Wed, Sep 30, 2015 at 8:32 PM, Donald Stufft  wrote:
>
> I don’t see any requirement to post PEPs to python-dev if they have a
Discussions-To header in PEP 1.


When I faced a similar situation with PEP 495, Guido's advise was "I think
that a courtesy message to python-dev is appropriate, with a link to the
PEP and an invitation to discuss its merits on datetime-sig." [1]

Maybe it is time to clarify that in PEP 1.

> I don’t really think it makes sense in this case either tbh, PyPI, pip,
and setuptools are not under python-dev’s banner.

Given that ensurepip is part of stdlib, I am not sure this is an accurate
statement.  Even if it was, did you make any effort to discuss the proposal
outside of a small group subscribed to distutils ML?

My main issue with PEP 470 is that it came shortly after PEP 438 and
replaced it.   PEP 438 created a solution that was not very convenient, but
possible to implement.  With PEP 470, you are punishing the developers who
took your advise and created verified external distribution assuming that
it would remain available for a foreseeable future.   By your own count,
[2] 59 projects implemented PEP 438 verification in two years since the PEP
was published.  You compare that to 931 that remain vulnerable and conclude
that the solution did not work.  Given that information about PEP 438
features was very thinly disseminated, I think 59 is a large number and it
would be appropriate to involve the developers of those packages in the
discussion that led to PEP 470.

[1]: https://mail.python.org/pipermail/datetime-sig/2015-August/000262.html
[2]: https://www.python.org/dev/peps/pep-0470/#impact
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP acceptance and SIGs

2015-09-30 Thread Barry Warsaw
On Sep 30, 2015, at 09:14 PM, Alexander Belopolsky wrote:

>When I faced a similar situation with PEP 495, Guido's advise was "I think
>that a courtesy message to python-dev is appropriate, with a link to the
>PEP and an invitation to discuss its merits on datetime-sig." [1]

Certainly Discussions-To PEPs can be discussed and resolved on mailing lists
other than python-dev, and the Resolution header must be set to the URL of the
message in that other list that resolves the PEP.  A courtesy email to
python-dev should go out for all such PEPs, both before resolution (e.g. "hey
we're discussing PEP 4000 over on py-in-the-sky-t...@python.org") and after.

I do think Standards-Track PEPs (i.e. those that change the language or
stdlib) must be discussed and/or posted on python-dev prior to resolution.

Cheers,
-Barry
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP acceptance and SIGs

2015-09-30 Thread Donald Stufft
On September 30, 2015 at 9:14:42 PM, Alexander Belopolsky 
(alexander.belopol...@gmail.com) wrote:
> On Wed, Sep 30, 2015 at 8:32 PM, Donald Stufft wrote:
> >
> > I don’t see any requirement to post PEPs to python-dev if they have a
> Discussions-To header in PEP 1.
>  
>  
> When I faced a similar situation with PEP 495, Guido's advise was "I think
> that a courtesy message to python-dev is appropriate, with a link to the
> PEP and an invitation to discuss its merits on datetime-sig." [1]
>  
> Maybe it is time to clarify that in PEP 1.

An obvious difference is that PEP 495 modifies the standard library and PEP 470
does not (nor do most of the packaging related PEPs, the one that did was
discussed on python-dev).

>  
> > I don’t really think it makes sense in this case either tbh, PyPI, pip,
> and setuptools are not under python-dev’s banner.
>  
> Given that ensurepip is part of stdlib, I am not sure this is an accurate
> statement.

PEP 453 states:

    The bootstrapped software will still remain external to CPython and this
    PEP does not include CPython subsuming the development responsibilities or
    design decisions of the bootstrapped software.

It was an explicit decision in PEP 453 that these projects still remain
independent precisely for this reason.

> Even if it was, did you make any effort to discuss the proposal
> outside of a small group subscribed to distutils ML?

Did I personally? No.

The discussion that started PEP 470 actually started on python-dev over a year
ago and moved to distutils-sig because people told us to take the packaging
stuff off python-dev. However, since it was a PEP, all CPython core developers
should have gotten notifications for every modification to the text via the
python-checkins mailing list, which all Cpython core developers are expected to
be subscribed to. In addition to that, it was also posted as an article to LWN
towards the begining of the discussion around it [1].

I don't think it's unreasonable to say that if you want a say in how things are
changed, then you should be subscribed to the location where changes get
discussed, in this case, distutils-sig.

>  
> My main issue with PEP 470 is that it came shortly after PEP 438 and
> replaced it. PEP 438 created a solution that was not very convenient, but
> possible to implement. With PEP 470, you are punishing the developers who
> took your advise and created verified external distribution assuming that
> it would remain available for a foreseeable future. By your own count,
> [2] 59 projects implemented PEP 438 verification in two years since the PEP
> was published. You compare that to 931 that remain vulnerable and conclude
> that the solution did not work. Given that information about PEP 438
> features was very thinly disseminated, I think 59 is a large number and it
> would be appropriate to involve the developers of those packages in the
> discussion that led to PEP 470.

Two years is not a short amount of time in the current pace of Python's
packaging evolution. Honestly though, we tried PEP 438 and the end result was
pip's users were regularly confused. In hindsight, PEP 438 was not a very good
PEP. It was impossible to implement in a way that wasn't massively confusing
to end users and indeed, our issue tracker, and my personal email, and IRC got
fairly regular complaints from end users due to the confusing state that
PEP 438 left us in.

With my pip core developer hat on, I decided that it was no longer tennable and
I fully planned to implement something to replace PEP 438 regardless of if
there was a PEP to back it or not (and as an external project, pip is not bound
to follow any PEP, our unofficial policy is to attempt to follow all PEPs
unless they are harmful or useless). However I decided that it would be a
better overall outcome if PEP 438 was replaced with something that didn't have
the problems of PEP 438 and to give folks who cared enough to "show up" to
discuss it to have a chance to weigh in on it.

I should also mention that it wasn't 59 projects implemented PEP 438 in two
years, PEP 438 was explicitly implemented in a way that matched the way that a
few projects were already using to get verified downloads. If my memory is
correct, there were ~30 some projects that already had PEP 438 compliant URLs
so realistically, only ~20 some projects willfully and knowingly took advantage
of PEP 438, the rest were just left overs from before. Of those ~20, a handful
of them were small projects that were utilities to make PEP 438 easier which
aren't really relevant when discussing if PEP 438 was successful or not.

>  
> [1]: https://mail.python.org/pipermail/datetime-sig/2015-August/000262.html  
> [2]: https://www.python.org/dev/peps/pep-0470/#impact
> 

[1]: https://lwn.net/Articles/599793/

-
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA


___
Python-Dev mailing list
Python-Dev@

Re: [Python-Dev] PEP acceptance and SIGs

2015-09-30 Thread Nick Coghlan
On 1 October 2015 at 10:19, Alexander Belopolsky
 wrote:
> It has been my understanding that some PEPs may be discussed on specialized
> mailings lists, but a notice would be given on python-dev prior to any
> acceptance.

No, that only applies for changes that actually impact the reference
interpreter or the standard library - those still need to be discussed
and approved on python-dev.

For changes that are wholly decoupled from the reference interpreter
(like PyPI behavioural changes), the delegation of authority to the
relevant SIG is more complete:

=
PEP review and resolution may also occur on a list other than
python-dev (for example, distutils-sig for packaging related PEPs that
don't immediately affect the standard library). In this case, the
"Discussions-To" heading in the PEP will identify the appropriate
alternative list where discussion, review and pronouncement on the PEP
will occur.
=

(From https://www.python.org/dev/peps/pep-0001/#pep-review-resolution )

Regards,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com