Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Vinay Sajip
Antoine Pitrou solipsis at pitrou.net writes:


 I don't understand why a zip file makes this easier (especially the
 update selectively part).

Not a zip file specifically - just a binary stream which organises scripts to be
installed. If each class in a hierarchy has access to a binary stream, then
subclasses have access to the streams for base classes as well as their own
stream, and can install selectively from base class streams and their own 
stream.

class Base:
scripts = ... # zip stream containing scripts A, B

def install_scripts(self, stream):
# ...

def setup_scripts(self):
self.install_scripts(self.scripts)

class Derived:
scripts = ... # zip stream containing modified script B, new script C

def setup_scripts(self):
self.install_scripts(Base.scripts) # adds A, B
self.install_scripts(self.scripts) # adds C, overwrites B

I'm not saying you couldn't do this with e.g. directory trees; it just seems
neater to have the scripts in a black box once they're deployed, with a zip file
representing that black box.

Regards,

Vinay Sajip


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


Re: [Python-Dev] Packaging and binary distributions

2011-10-31 Thread Vinay Sajip
Paul Moore p.f.moore at gmail.com writes:

 Hang on. I'm talking here about repackaging the binary files in the
 MSI file for use in a pysetup install invocation. As pysetup has no
 GUI, and doesn't integrate with Add/Remove, there's no issue here. If
 you want a GUI and Add/Remove integration, just run the MSI. Or am I
 missing something? We seem to be at cross purposes here, I suspect I'm
 missing your point.

As you say later in your post, we're probably just coming at this from two
different perspectives. I think you mentioned the possible need to install to a
temporary location just to extract files from the CAB; then you would
presumably need to uninstall again to remove the Add/Remove Programs entry
created when you installed to the temporary location (or else I misunderstood
your meaning here).
 
 It would be important to retain the flexibility offered by setup.cfg
 hooks, as I don't believe any out-of-the-box approach will work for the
 range of use cases on Windows (think Powershell scripts, Visio templates
 and other Microsoft Office integration components).
 
 Why? Again, if this is purely as a means to consume bdist_xxx files,
 then the only flexibility needed is enough to cater for any variations
 in data stored in the bdist_xxx format. The wininst format is easy
 here - it has directories PLATLIB, PURELIB, DATA, SCRIPTS and HEADERS
 (corresponding to the installation --install-xxx parameters) and
 that's all. As long as the module is flexible enough to deal with
 that, it can read anything bdist_wininst can produce.

My point is really that a one-size-fits-all DATA location is unlikely to cater
to all use cases. The flexibility offered by setup.cfg together with hooks gets
around the limitation of a single location for data.

 Ah, I think I see what you are getting at. If someone uses the new
 features and flexibility of packaging to create a fancy custom install
 scheme, how do they bundle up a binary distribution from that? My
 (current) answer is that I don't know. The packaging module as it
 stands only offers the legacy bdist_xxx formats, so the answer is run
 pysetup run bdist_wininst on it. If that breaks (as it is likely to -
 wininst format isn't very flexible) then tough, you're out of luck.

Yes, that's what I was getting at.

Regards,

Vinay Sajip

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


Re: [Python-Dev] Packaging and binary distributions

2011-10-31 Thread Eric V. Smith
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/30/2011 5:14 PM, Tres Seaver wrote:
 On 10/30/2011 02:04 PM, Ned Deily wrote:
 In article 
 cacac1f-cmbkryagzrcawdndm7-vn4yjo99fbd9vvccmbhcv...@mail.gmail.com,

 
 
 Paul Moore p.f.mo...@gmail.com wrote:
 
 I'd like to reopen the discussions on how the new packaging 
 module will handle/support binary distributions in Python 3.3. 
 The previous thread (see 
 http://mail.python.org/pipermail/python-dev/2011-October/113956.html)



 
included a lot of good information and discussion, but ultimately
 didn't reach any firm conclusions.
 
 First question - is this a Windows only problem, or do 
 Unix/MacOS users want binary support? My feeling is that it's
 not an issue for them, at least not enough that anyone has
 done anything about it in the past, so I'll focus on Windows
 here.
 
 I haven't been following this discussion that closely but I'm 
 rather surprised that the need for binary distributions for
 Python packages on non-Windows platforms would be in question.
 Just as on Windows, it's not a given that all Unix or Mac OS X
 end-user systems will have the necessary development tools
 installed (C compiler, etc) to build C extension modules.  Today,
 the most platform-independent way of distributing these are with
 binary eggs: the individual binary eggs are, of course, not 
 platform-independent but the distribution and installation 
 mechanism is or should be.  Sure, there are other ways, like 
 pushing the problem back to the OS distributor (e.g. Debian, Red
  Hat, et al) or, as in the case of Mac OS X where there isn't a 
 system package manager in the same sense, to a third-party
 package distributor (like MacPorts, Homebrew, or Fink).  Or you
 can produce platform-specific installers for each platform which
 also seems heavy-weight.

I don't pushing it back to the OS vendor solves the problem. Say I
want to install these binary packages with buildout: How would it go
about consuming an RPM to install in an isolated buildout directory?

 Has anyone analyzed the current packages on PyPI to see how many 
 provide binary distributions and in what format?
 
 Practically speaking, nobody but Windows consumers *needs* binary 
 packages on PyPI:  even if the target (production) box is 
 crippled^Wstripped of its compiler, such environments always have 
 staging hosts which can be used to build binary packages for 
 internal distribution.


It might be true that such systems don't need binary packages on PyPI,
but the original question is about binary package support for the
packaging module on non-Windows systems. I think the answer is clearly
yes: I have such systems without compilers. If I build packages on a
staging server, I would want to put them on an internal PyPI-like
server, for consumption by packaging. So packaging would need to
consume these binary packages.

Eric.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJOrnFiAAoJENxauZFcKtNxLG0H/03d0uRXw/MvlCA9q92OlwWk
+X2PqpZ/F5aFBuN3lsichr/qLiHm69tNu3K++JyLXypT7hzbiB8QEbVUn5Z8X2ds
is/6wKIX5Hmd//UlX+VtlYZQSXd/1k7FbqFY0CPTRFGrE+I9ipfCnO3h1OiBwHpY
eejoR4Lr/6MXZ+v7DdlyRC9mWZV/uNKnR0ec5ABbQIEC13/j91gR/57ua/ryhRmT
hco4ssRSP9pqO058aVJ1ivw2q+9364f7DgWynafRjkrcTy80gZ90LTz7WtteeFPr
QO2yFW8ZI0UsxUxNRsDBj1N91AVHngU6HJa1evgegUPRjl94neSQLLWLla37qfQ=
=2b7E
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Packaging and binary distributions

2011-10-31 Thread Martin v. Löwis
Am 31.10.2011 09:07, schrieb Vinay Sajip:
 Paul Moore p.f.moore at gmail.com writes:
 
 Hang on. I'm talking here about repackaging the binary files in the
 MSI file for use in a pysetup install invocation. As pysetup has no
 GUI, and doesn't integrate with Add/Remove, there's no issue here. If
 you want a GUI and Add/Remove integration, just run the MSI. Or am I
 missing something? We seem to be at cross purposes here, I suspect I'm
 missing your point.
 
 As you say later in your post, we're probably just coming at this from two
 different perspectives. I think you mentioned the possible need to install to 
 a
 temporary location just to extract files from the CAB; then you would
 presumably need to uninstall again to remove the Add/Remove Programs entry
 created when you installed to the temporary location (or else I misunderstood
 your meaning here).

This presumption is false (as is the claim that you need to install the
MSI to get at the files). It's quite possible to extract the files from
the MSI without performing the installation. There are actually two ways
to do that:
a) perform an administrative installation, which unpacks the files to
   disk but doesn't actually perform any installation procedure, or
b) use the MSI API to extract first the CAB file, and then the files in
   the CAB file. This would be a bit work to do if you want to find out
   the full path names of the individual files, but it could work in
   theory.

 Why? Again, if this is purely as a means to consume bdist_xxx files,
 then the only flexibility needed is enough to cater for any variations
 in data stored in the bdist_xxx format. The wininst format is easy
 here - it has directories PLATLIB, PURELIB, DATA, SCRIPTS and HEADERS
 (corresponding to the installation --install-xxx parameters) and
 that's all. As long as the module is flexible enough to deal with
 that, it can read anything bdist_wininst can produce.
 
 My point is really that a one-size-fits-all DATA location is unlikely to cater
 to all use cases. The flexibility offered by setup.cfg together with hooks 
 gets
 around the limitation of a single location for data.

I'm sure bdist_wininst can be augmented to support arbitrary base
prefixes (assuming that is the flexibility you talk about). It would
just need a list of what directory names are prefixes,

The MSI format is designed to provide exactly that flexibility of
arbitrarily mapping source folders to destination folders during
installation. bdist_msi would just need to be taught to interpret
setup.cfg files.

 Ah, I think I see what you are getting at. If someone uses the new
 features and flexibility of packaging to create a fancy custom install
 scheme, how do they bundle up a binary distribution from that? My
 (current) answer is that I don't know. The packaging module as it
 stands only offers the legacy bdist_xxx formats, so the answer is run
 pysetup run bdist_wininst on it. If that breaks (as it is likely to -
 wininst format isn't very flexible) then tough, you're out of luck.
 
 Yes, that's what I was getting at.

Hmm. You are just describing a bug, not an inherent limitation.

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


Re: [Python-Dev] Packaging and binary distributions

2011-10-31 Thread Paul Moore
On 31 October 2011 10:42, Martin v. Löwis mar...@v.loewis.de wrote:
 Am 31.10.2011 09:07, schrieb Vinay Sajip:
 This presumption is false (as is the claim that you need to install the
 MSI to get at the files). It's quite possible to extract the files from
 the MSI without performing the installation. There are actually two ways
 to do that:
 a) perform an administrative installation, which unpacks the files to
   disk but doesn't actually perform any installation procedure, or
 b) use the MSI API to extract first the CAB file, and then the files in
   the CAB file. This would be a bit work to do if you want to find out
   the full path names of the individual files, but it could work in
   theory.

Yes, I'm currently doing an administrative install via msiexec to get
the files out. It's simple enough to do.

 My point is really that a one-size-fits-all DATA location is unlikely to 
 cater
 to all use cases. The flexibility offered by setup.cfg together with hooks 
 gets
 around the limitation of a single location for data.

 I'm sure bdist_wininst can be augmented to support arbitrary base
 prefixes (assuming that is the flexibility you talk about). It would
 just need a list of what directory names are prefixes,

 The MSI format is designed to provide exactly that flexibility of
 arbitrarily mapping source folders to destination folders during
 installation. bdist_msi would just need to be taught to interpret
 setup.cfg files.

Agreed - the one size fits all data location is a limitation. I'm
not sure that in practical terms it is a big issue, though - it's been
like that since the wininst format was designed, and nobody has ever
complained. There are certainly cases where packages have needed to
implement more or less clumsy workarounds (for example, not including
documentation in binary distributions) but it's obviously never been
enough of an issue to prompt people to fix it. The egg format has the
same limitation, as far as I'm aware, so clearly even the eggs solve
everything crowd don't feel it's a real issue :-)

 Ah, I think I see what you are getting at. If someone uses the new
 features and flexibility of packaging to create a fancy custom install
 scheme, how do they bundle up a binary distribution from that? My
 (current) answer is that I don't know. The packaging module as it
 stands only offers the legacy bdist_xxx formats, so the answer is run
 pysetup run bdist_wininst on it. If that breaks (as it is likely to -
 wininst format isn't very flexible) then tough, you're out of luck.

 Yes, that's what I was getting at.

 Hmm. You are just describing a bug, not an inherent limitation.

Precisely. And it's a bug that no-one has felt the need to fix in many
years. The flexibility is not new - distutils had at least as much
flexibility if not more.

I'd love to see a binary format that was as flexible and powerful as
building from source, which allowed OS integration where the user
wanted it while still supporting venvs and non-system installations,
and which was widely adopted by distribution authors. Oh, and can I
have a pony? :-) Sadly, I don't have the time or understanding of the
various requirements to deliver something like that.

Realistically, I'd just like to be able to benefit from the generosity
of existing distribution authors who make compiled versions of their
code available, however they choose to do so. Hence my current focus
on consuming existing formats (and even the bdist_simple
proposal/patch was little more than a tidied up bdist_wininst made
OS-neutral).

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


Re: [Python-Dev] Packaging and binary distributions

2011-10-31 Thread Vinay Sajip
Paul Moore p.f.moore at gmail.com writes:

 Agreed - the one size fits all data location is a limitation. I'm
 not sure that in practical terms it is a big issue, though - it's been
 like that since the wininst format was designed, and nobody has ever
 complained. There are certainly cases where packages have needed to
 implement more or less clumsy workarounds (for example, not including
 documentation in binary distributions) but it's obviously never been
 enough of an issue to prompt people to fix it. The egg format has the
 same limitation, as far as I'm aware, so clearly even the eggs solve
 everything crowd don't feel it's a real issue 

Yes, but with setup.py you had the option of running any Python code to move
things around using a post-install script, so people could get around those
limitations, albeit in a completely ad hoc way. So there was nothing to fix, but
no standard way of achieving what you wanted in out-of-the-ordinary scenarios.

 I'd love to see a binary format that was as flexible and powerful as
 building from source, which allowed OS integration where the user
 wanted it while still supporting venvs and non-system installations,
 and which was widely adopted by distribution authors. Oh, and can I
 have a pony?  Sadly, I don't have the time or understanding of the
 various requirements to deliver something like that.

Well, from the point of view of venvs and PEP 404, it's certainly topical and
worth trying to get some traction behind this particular pony. If bdist_pony is
easy enough to use and doesn't close any existing doors, then there's no obvious
reason why distribution authors wouldn't use it for future releases of their
distributions.

Regards,

Vinay Sajip

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


Re: [Python-Dev] Packaging and binary distributions

2011-10-31 Thread Vinay Sajip
Martin v. Löwis martin at v.loewis.de writes:


 This presumption is false (as is the claim that you need to install the
 MSI to get at the files). It's quite possible to extract the files from
 the MSI without performing the installation. There are actually two ways
 to do that:
 a) perform an administrative installation, which unpacks the files to
disk but doesn't actually perform any installation procedure, or
 b) use the MSI API to extract first the CAB file, and then the files in
the CAB file. This would be a bit work to do if you want to find out
the full path names of the individual files, but it could work in
theory.

I'd completely forgotten about the administrative installation - thanks for
reminding me.

 The MSI format is designed to provide exactly that flexibility of
 arbitrarily mapping source folders to destination folders during
 installation. bdist_msi would just need to be taught to interpret
 setup.cfg files.

I agree in principle, but one thing you get with setup.cfg which seems harder to
achieve with MSI is the use of Python to do things at installation time. For
example, with setup.cfg hooks, you can use ctypes to make Windows API calls at
installation time to decide where to put things. While this same flexibility
exists in the MSI format (with custom actions and so forth) it's not as readily
accessible to someone who wants to use Python to code this type of installation
logic.

 
 Hmm. You are just describing a bug, not an inherent limitation.
 

You're right that it's not an inherent limitation, but I'm not sure which bug
you're referring to. Do you mean just a current limitation?

Regards,

Vinay Sajip


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


Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Carl Meyer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/28/2011 05:10 PM, Chris McDonough wrote:
 Why not modify sys.prefix?
 - --

 As discussed above under `Backwards Compatibility`_, this PEP proposes
 to add ``sys.site_prefix`` as the prefix relative to which
 site-package directories are found. This maintains compatibility with
 the documented meaning of ``sys.prefix`` (as the location relative to
 which the standard library can be found), but means that code assuming
 that site-packages directories are found relative to ``sys.prefix``
 will not respect the virtual environment correctly.

 Since it is unable to modify ``distutils``/``sysconfig``,
 `virtualenv`_ is forced to instead re-point ``sys.prefix`` at the
 virtual environment.

 An argument could be made that this PEP should follow virtualenv's
 lead here (and introduce something like ``sys.base_prefix`` to point
 to the standard library and header files), since virtualenv already
 does this and it doesn't appear to have caused major problems with
 existing code.

 Another argument in favor of this is that it would be preferable to
 err on the side of greater, rather than lesser, isolation. Changing
 ``sys.prefix`` to point to the virtual environment and introducing a
 new ``sys.base_prefix`` attribute would err on the side of greater
 isolation in the face of existing code's use of ``sys.prefix``.
 
 It would seem to make sense to me to err on the side of greater
 isolation, introducing sys.base_prefix to indicate the base prefix (as
 opposed to sys.site_prefix indicating the venv prefix).  Bugs introduced
 via a semi-isolated virtual environment are very difficult to
 troubleshoot.  It would also make changes to existing code unnecessary.
 I have encountered no issues with virtualenv doing this so far.

I'm convinced that this is the better tradeoff. I'll begin working on a
branch of the reference implementation that does things this way. Thanks
for the feedback.

Carl
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk6uq2IACgkQ8W4rlRKtE2chHQCgik136LkoQ/JE6b3r4astWcog
kYYAoN7ESaPlZOaYeok5t0i9hMkb2L4g
=/Rn1
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Antoine Pitrou
On Mon, 31 Oct 2011 07:50:24 + (UTC)
Vinay Sajip vinay_sa...@yahoo.co.uk wrote:
 Antoine Pitrou solipsis at pitrou.net writes:
 
  I don't understand why a zip file makes this easier (especially the
  update selectively part).
 
 Not a zip file specifically - just a binary stream which organises scripts to 
 be
 installed. If each class in a hierarchy has access to a binary stream, then
 subclasses have access to the streams for base classes as well as their own
 stream, and can install selectively from base class streams and their own 
 stream.

Isn't that overengineered? We're talking about a couple of files.
It's not even obvious that third-party tools will want to modify them,
instead of writing their own (if the venv API is stable, it should be
relatively easy).

 I'm not saying you couldn't do this with e.g. directory trees; it just seems
 neater to have the scripts in a black box once they're deployed, with a zip 
 file
 representing that black box.

I don't know why it's neater. After all, we install .py files in their
original form, not in a zipfile (even though Python supports the
latter).

Regards

Antoine.


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


Re: [Python-Dev] Packaging and binary distributions

2011-10-31 Thread Antoine Pitrou
On Mon, 31 Oct 2011 05:59:09 -0400
Eric V. Smith e...@trueblade.com wrote:
 
 It might be true that such systems don't need binary packages on PyPI,
 but the original question is about binary package support for the
 packaging module on non-Windows systems. I think the answer is clearly
 yes: I have such systems without compilers. If I build packages on a
 staging server, I would want to put them on an internal PyPI-like
 server, for consumption by packaging. So packaging would need to
 consume these binary packages.

And it's not only compilers, it's also external libraries (which are
generally not installed by default).
For example, to compile pyOpenSSL, you first need to fetch the OpenSSL
development headers.

Regards

Antoine.


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


Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Vinay Sajip
Antoine Pitrou solipsis at pitrou.net writes:

 Isn't that overengineered? We're talking about a couple of files.

We're not talking about a lot of code to do this, either - just the interface to
the existing code (which is needed anyway to install the minimal scripts in the
venv).

 It's not even obvious that third-party tools will want to modify them,
 instead of writing their own (if the venv API is stable, it should be
 relatively easy).

Well, virtualenvwrapper is pretty popular addon to virtualenv which delivers
additional scripts, even though virtualenv already supplies more scripts than
we're proposing to do in the stdlib.

Example use cases for such scripts might be things like environment manipulation
when environments are activated/deactivated (e.g. for LD_LIBRARY_PATH) - we
can't always predict all the different needs that arise, so I'm just leaving the
door open to third parties to be able to do what they need.

 I don't know why it's neater. After all, we install .py files in their
 original form, not in a zipfile (even though Python supports the
 latter).

Perhaps it's a matter of taste. The files we're talking about are actually data
in the context we're discussing.

Regards,

Vinay Sajip

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


Re: [Python-Dev] Packaging and binary distributions

2011-10-31 Thread Paul Moore
On 31 October 2011 14:22, Antoine Pitrou solip...@pitrou.net wrote:
 On Mon, 31 Oct 2011 05:59:09 -0400
 Eric V. Smith e...@trueblade.com wrote:

 It might be true that such systems don't need binary packages on PyPI,
 but the original question is about binary package support for the
 packaging module on non-Windows systems. I think the answer is clearly
 yes: I have such systems without compilers. If I build packages on a
 staging server, I would want to put them on an internal PyPI-like
 server, for consumption by packaging. So packaging would need to
 consume these binary packages.

 And it's not only compilers, it's also external libraries (which are
 generally not installed by default).
 For example, to compile pyOpenSSL, you first need to fetch the OpenSSL
 development headers.

It sounds to me like there's a clear interest in some level of binary
distribution support from packaging. Could anyone comment on whether
the current level of support is sufficient? (My instinct says it
isn't, but I don't want to put words in people's mouths).

If not, a PEP may be the best way to move this forward, but as things
stand I'm not entirely clear what that PEP should be proposing. My
inclination (to make packaging and pysetup install capable of reading
existing binary formats) doesn't seem to be sufficient for most
people.

Does anyone want to work with me on coming up with a PEP?

Paul.

PS Should this discussion move somewhere else? Maybe python-ideas or
distutils-sig? I'm not sure it's well-formed enough for python-dev at
the moment...
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Carl Meyer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/30/2011 04:47 PM, Vinay Sajip wrote:
 Antoine Pitrou solipsis at pitrou.net writes:
 It would be even simpler not to process it at all, but install the
 scripts as-is (without the execute bit) :)
 Sure, but such an approach makes it difficult to provide a mechanism which is
 easily extensible; for example, with the current approach, it is 
 straightforward
 for third party tools to either easily replace completely, update selectively 
 or
 augment simply the scripts provided by base classes.

I don't understand this point either. It seems to me too that having the
scripts installed as plain data files inside a package is just as easy
or easier for third-party tools to work with flexibly in all of the ways
you mention, compared to having them available in any kind of zipped format.

The current os.name-based directory structure can still be used, and we
can still provide the helper to take such a directory structure and
install the appropriate scripts based on os.name.

I don't see any advantage to zipping. If done at install-time (which is
necessary to make the scripts maintainable in the source tree) it also
has the downside of introducing another difficulty in supporting source
builds equivalently to installed builds.

Carl
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk6uvkYACgkQ8W4rlRKtE2ezZwCfUv80rp7Vg//zRA471R9JJDlj
83gAn0e9r76c9WkjutLcpbRjeopFkmew
=Z0kj
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Vinay Sajip
Carl Meyer carl at oddbird.net writes:

 I don't see any advantage to zipping. If done at install-time (which is
 necessary to make the scripts maintainable in the source tree) it also
 has the downside of introducing another difficulty in supporting source
 builds equivalently to installed builds.

That's true, I hadn't thought of that. So then it sounds like the thing to do is
make venv a package and have the code in venv/__init__.py, then have the scripts
in a 'scripts' subdirectory below that. The API would then change to take the
absolute pathname of the scripts directory to install from, right?

Regards,

Vinay Sajip



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


Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Carl Meyer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/31/2011 09:35 AM, Vinay Sajip wrote:
 That's true, I hadn't thought of that. So then it sounds like the thing to do 
 is
 make venv a package and have the code in venv/__init__.py, then have the 
 scripts
 in a 'scripts' subdirectory below that. The API would then change to take the
 absolute pathname of the scripts directory to install from, right?

That sounds right to me.

Carl
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk6uwXEACgkQ8W4rlRKtE2fUQgCfb1Cn7OYZzt3/xoKzmJuCmvbt
B9sAn0kuBZzjVImIC1r8Jb506KbsRHBN
=lgga
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Carl Meyer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/30/2011 06:28 AM, Antoine Pitrou wrote:
 On Sun, 30 Oct 2011 12:10:18 + (UTC)
 Vinay Sajip vinay_sa...@yahoo.co.uk wrote:

 We already have Unix shell scripts and BAT files in the source tree. Is
 it really complicated to maintain these additional shell scripts? Is
 there a lot of code in them?

 No, they're pretty small: wc -l gives

 76 posix/activate (Bash script, contains deactivate() function)
 31 nt/activate.bat
 17 nt/deactivate.bat

 The question is whether we should stop at that, or whether there should be
 support for tcsh, fish etc. such as virtualenv provides.
 
 I don't think we need additional support for more or less obscure
 shells.
 Also, if posix/activate is sufficiently well written (don't ask me
 how :-)), it should presumably be compatible with all Unix shells?

I have no problem including the basic posix/nt activate scripts if no
one else is concerned about the added maintenance burden there.

I'm not sure that my cross-shell-scripting fu is sufficient to write
posix/activate in a cross-shell-compatible way; I use bash and am not
very familiar with other shells. If it runs under /bin/sh is that
sufficient to make it compatible with all Unix shells (for some
definition of all)? If so, I can work on this.

Carl
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk6uw80ACgkQ8W4rlRKtE2e0AACcCGqxp/HWxX0UAqtS9W5y+UDr
weAAnjF4YdsCUvb4bXFloEGt1b7KlvWB
=2bd+
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/31/2011 11:50 AM, Carl Meyer wrote:

 I have no problem including the basic posix/nt activate scripts if
 no one else is concerned about the added maintenance burden there.
 
 I'm not sure that my cross-shell-scripting fu is sufficient to
 write posix/activate in a cross-shell-compatible way; I use bash
 and am not very familiar with other shells. If it runs under
 /bin/sh is that sufficient to make it compatible with all Unix
 shells (for some definition of all)? If so, I can work on this.


I would say this is a perfect opportunity to delegate, in this case
to the devotees of other cults^Wshells than bash.


Tres.
- -- 
===
Tres Seaver  +1 540-429-0999  tsea...@palladion.com
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk6ux/QACgkQ+gerLs4ltQ7j0wCffLICxbvo9ed0wMhEkn/iFzCj
euEAnjvhPOAz09570Xh1PGBcksQ0De4n
=YIG0
-END PGP SIGNATURE-

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


Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Paul Moore
On 31 October 2011 16:08, Tres Seaver tsea...@palladion.com wrote:
 On 10/31/2011 11:50 AM, Carl Meyer wrote:

 I have no problem including the basic posix/nt activate scripts if
 no one else is concerned about the added maintenance burden there.

 I'm not sure that my cross-shell-scripting fu is sufficient to
 write posix/activate in a cross-shell-compatible way; I use bash
 and am not very familiar with other shells. If it runs under
 /bin/sh is that sufficient to make it compatible with all Unix
 shells (for some definition of all)? If so, I can work on this.


 I would say this is a perfect opportunity to delegate, in this case
 to the devotees of other cults^Wshells than bash.

For Windows, can you point me at the nt scripts? If they aren't too
complex, I'd be willing to port to Powershell.

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


Re: [Python-Dev] Packaging and binary distributions

2011-10-31 Thread Éric Araujo
Hi,

 I'd like to reopen the discussions on how the new packaging module
 will handle/support binary distributions in Python 3.3. The previous
 thread (see 
 http://mail.python.org/pipermail/python-dev/2011-October/113956.html)
 included a lot of good information and discussion, but ultimately
 didn't reach any firm conclusions.

I’m sorry there was no reply from the core group of packaging
contributors.  I read the messages as they flew by and wanted to reply
on a lot of points, but didn’t get the time to do it.  I hope the list
subscribers won’t mind if I go through the threads in the coming days
and make many replies.

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


Re: [Python-Dev] [Python-checkins] cpython (2.7): Add a button to the code examples in the doc to show/hide the prompts and

2011-10-31 Thread Éric Araujo
Hi Ezio,

 http://hg.python.org/cpython/rev/18bbfed9aafa
 user:Ezio Melotti ezio.melo...@gmail.com
 summary:
   Add a button to the code examples in the doc to show/hide the prompts and 
 output.

Looks cool!  I hope this will stop our use of two or three different
styles for Python code in the docs (doctest-compatible vs.
source-file-style vs. copy-paste-ready) and ultimately help make them
doctest-compatible.

 +$(document).ready(function() {
 +/* Add a [] button on the top-right corner of code samples to hide
 + * the  and ... prompts and the output and thus make the code
 + * copyable. */

I think it would be more user-friendly if the button/trigger would use
real English text like “Hide prompts”/“Show prompts” rather than symbols.

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


Re: [Python-Dev] [Python-checkins] cpython (3.2): I should be someone

2011-10-31 Thread Éric Araujo
Hi,

 http://hg.python.org/cpython/rev/6f56e81da8f6
 user:Florent Xicluna florent.xicl...@gmail.com
 summary:
   I should be someone

Without quotation marks, that sounded like a philosophical commit :)

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


[Python-Dev] Code cleanups in stable branches?

2011-10-31 Thread Éric Araujo
Hi,

 http://hg.python.org/cpython/rev/72de2ac8bb4f
 branch:  2.7
 user:Petri Lehtinen pe...@digip.org
 date:Sun Oct 30 13:55:02 2011 +0200
 summary:
   Avoid unnecessary recursive function calls (closes #10519)

 http://hg.python.org/cpython/rev/0694ebb5db99
 branch:  2.7
 user:Jesus Cea j...@jcea.es
 date:Mon Oct 31 16:02:12 2011 +0100
 summary:
   Closes #13283: removal of two unused variable in locale.py

I thought that patches that clean up code but don’t fix actual bugs were
not done in stable branches.  Has this changed?

(The first commit quoted above may be a performance fix, which would be
okay IIRC.)

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


Re: [Python-Dev] [Python-checkins] cpython (2.7): Add a button to the code examples in the doc to show/hide the prompts and

2011-10-31 Thread Ezio Melotti

Hi Éric,

On 31/10/2011 19.19, Éric Araujo wrote:

Hi Ezio,


http://hg.python.org/cpython/rev/18bbfed9aafa
user:Ezio Melottiezio.melo...@gmail.com
summary:
   Add a button to the code examples in the doc to show/hide the prompts and 
output.

Looks cool!  I hope this will stop our use of two or three different
styles for Python code in the docs (doctest-compatible vs.
source-file-style vs. copy-paste-ready) and ultimately help make them
doctest-compatible.


My main concern about this is that it works only with the HTML doc and 
now with the pdf/chm, so converting the examples would make the 
situation a bit worse for the pdf/chm users (and also for js-less 
users).  I think in the examples we should just use what make more sense 
-- either copy/paste from an interpreter session when the output is 
relevant, copy only the source when it's not, and avoid the hybrid 
style (i.e. include the '' and the output but omit the '...').  
Nonetheless I think most of the users use the HTML doc, so it should be 
an improvement for them :)





+$(document).ready(function() {
+/* Add a [] button on the top-right corner of code samples to hide
+ * the  and ... prompts and the output and thus make the code
+ * copyable. */

I think it would be more user-friendly if the button/trigger would use
real English text like “Hide prompts”/“Show prompts” rather than symbols.


I thought about that and ended up adding a title= with a more accurate 
description, while leaving the button short and unobtrusive.  A bigger 
button might interfer/overlap with the code if the code contains long 
lines and/or if the window is too narrow.  I expect that people will 
anyway try it out as soon as they notice it and learn quickly what it does.


In a couple of years this whole script could be replaced with a couple 
of lines of CSS using the CSS3 user-select property (so that only the 
code and not the rest is actually copied), but at the moment the support 
for it is still a bit lacking and inconsistent.


Best Regards,
Ezio Melotti


Cheers



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


Re: [Python-Dev] cpython (2.7): test_protocol_sslv2(): Skip this test if ssl.PROTOCOL_SSLv2 is not

2011-10-31 Thread Antoine Pitrou
On Mon, 31 Oct 2011 19:09:01 +0100
barry.warsaw python-check...@python.org wrote:
 http://hg.python.org/cpython/rev/1de4d92cd6a4
 changeset:   73258:1de4d92cd6a4
 branch:  2.7
 parent:  73253:7ce3b719306e
 user:Barry Warsaw ba...@python.org
 date:Mon Oct 31 14:08:15 2011 -0400
 summary:
   test_protocol_sslv2(): Skip this test if ssl.PROTOCOL_SSLv2 is not
 defined (as is the case with Ubuntu 11.10).
 
 files:
   Lib/test/test_ssl.py |  2 ++
   1 files changed, 2 insertions(+), 0 deletions(-)
 
 
 diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
 --- a/Lib/test/test_ssl.py
 +++ b/Lib/test/test_ssl.py
 @@ -981,6 +981,8 @@
  @skip_if_broken_ubuntu_ssl
  def test_protocol_sslv2(self):
  Connecting to an SSLv2 server with various client options
 +if not hasattr(ssl, 'PROTOCOL_SSLv2'):
 +raise unittest.SkipTest('No SSLv2 available')
  if test_support.verbose:
  sys.stdout.write(\n)
  if not hasattr(ssl, 'PROTOCOL_SSLv2'):

I'm not sure, but I've think you've just committed a no-op.
(see http://hg.python.org/cpython/rev/5a080ebd311c)

Regards

Antoine.


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


Re: [Python-Dev] Packaging and binary distributions

2011-10-31 Thread Ned Deily
In article 
CACac1F_V6_6+uG9qfqBJtuokz0HXO53hsXX3Ptap=o8+pxt...@mail.gmail.com,
 Paul Moore p.f.mo...@gmail.com wrote:
 On 30 October 2011 18:04, Ned Deily n...@acm.org wrote:
  Has anyone analyzed the current packages on PyPI to see how many provide
  binary distributions and in what format?
 
 A very quick and dirty check:
 
 dmg: 5
 rpm: 12
 msi: 23
 dumb: 132
 wininst: 364
 egg: 2570
 
 That's number of packages with binary distributions in that format.
 It's hard to be sure about egg distributions, as many of these could
 be pure-python (there's no way I know, from the PyPI metadata, to
 check this).

Thanks.  If you have access to the egg file name, you should be able to 
tell.  AFAIK, eggs with extension modules include the Distutils platform 
name in the file name preceded by a '-', so '-linux', '-win32', 
'-macosx' for the main ones.  Pure python eggs do not contain a platform 
name.  http://pypi.python.org/pypi/pyinterval/ is a random example of 
the former.

-- 
 Ned Deily,
 n...@acm.org

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


Re: [Python-Dev] Packaging and binary distributions

2011-10-31 Thread Paul Moore
On 31 October 2011 18:36, Ned Deily n...@acm.org wrote:
 In article
 CACac1F_V6_6+uG9qfqBJtuokz0HXO53hsXX3Ptap=o8+pxt...@mail.gmail.com,
  Paul Moore p.f.mo...@gmail.com wrote:
 On 30 October 2011 18:04, Ned Deily n...@acm.org wrote:
  Has anyone analyzed the current packages on PyPI to see how many provide
  binary distributions and in what format?

 A very quick and dirty check:

 dmg: 5
 rpm: 12
 msi: 23
 dumb: 132
 wininst: 364
 egg: 2570

 That's number of packages with binary distributions in that format.
 It's hard to be sure about egg distributions, as many of these could
 be pure-python (there's no way I know, from the PyPI metadata, to
 check this).

 Thanks.  If you have access to the egg file name, you should be able to
 tell.  AFAIK, eggs with extension modules include the Distutils platform
 name in the file name preceded by a '-', so '-linux', '-win32',
 '-macosx' for the main ones.  Pure python eggs do not contain a platform
 name.  http://pypi.python.org/pypi/pyinterval/ is a random example of
 the former.

136 architecture-specific
2502 architecture independent

About 5%. The numbers don't quite add up, so there's some funnies in
there (possibly bad data that I'm not handling well) but it gives an
idea.

Counts by architecture:

win3270
linux-i686   43
win-amd6433
linux-x86_64 26
macosx-10.3-fat  12
macosx-10.5-i386 11
macosx-10.6-universal9
macosx-10.6-fat  8
macosx-10.3-i386 7
macosx-10.6-i386 6
macosx-10.7-intel4
macosx-10.6-intel3
macosx-10.6-x86_64   2
macosx-10.3-ppc  2
macosx-10.4-i386 2
macosx-10.4-ppc  2
py2.3-linux-i686 1
py2.4-linux-i686 1
gnu-0.3-i686-AT386   1
linux-ppc1
cygwin-1.5.25-i686   1
py2.31
py2.41
py2.51
macosx-10.7-x86_64   1
macosx-10.4-universal1
py2.5-linux-i686 1

Most of the 1-counts are bad data in some form.

I'm not sure what this proves, to be honest, but what I take from it is:

- Nearly all binary distributions are for Windows
- Architecture-neutral eggs are common (but not relevant here as
packaging can install from source with these)
- Ignoring architecture-neutral eggs, most popular formats are
wininst, egg, dumb(!!!) and msi
- Even the most popular binary format (wininst) only accounts for 2%
of all packages.

Having said all of this, there are two major caveats I'd include:

- Not everything is on PyPI.
- This analysis ignores relative importance. It's hard to claim that
numpy is no more significant than, say, Products.CMFDynamicViewFTI
(whatever that might be - I picked it at random, so apologies to the
author :-))

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


Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Carl Meyer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/31/2011 10:28 AM, Paul Moore wrote:
 On 31 October 2011 16:08, Tres Seaver tsea...@palladion.com wrote:
 On 10/31/2011 11:50 AM, Carl Meyer wrote:

 I have no problem including the basic posix/nt activate scripts if
 no one else is concerned about the added maintenance burden there.

 I'm not sure that my cross-shell-scripting fu is sufficient to
 write posix/activate in a cross-shell-compatible way; I use bash
 and am not very familiar with other shells. If it runs under
 /bin/sh is that sufficient to make it compatible with all Unix
 shells (for some definition of all)? If so, I can work on this.


 I would say this is a perfect opportunity to delegate, in this case
 to the devotees of other cults^Wshells than bash.

Good call - we'll stick with what we've got until such devotees show up :-)

Hey devotees, if you're listening, this is what you want to test/port:
https://bitbucket.org/vinay.sajip/pythonv/src/6d057cfaaf53/Lib/venv/scripts/posix/activate

For reference, here's what virtualenv ships with (includes a .fish and
.csh script):
https://github.com/pypa/virtualenv/tree/develop/virtualenv_support

 For Windows, can you point me at the nt scripts? If they aren't too
 complex, I'd be willing to port to Powershell.

Thanks! They are here:
https://bitbucket.org/vinay.sajip/pythonv/src/6d057cfaaf53/Lib/venv/scripts/nt

Carl
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk6vAKMACgkQ8W4rlRKtE2eEfwCgtpzQtUktUSU8ZyDDeqjD0yEe
QXgAoLoCD8EQ74jHR1lWPFjgnwQFkM46
=6+Rn
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Code cleanups in stable branches?

2011-10-31 Thread Nick Coghlan
Removing dead code and bypassing redundant code are both reasonable bug
fixes. The kind of change to be avoided is gratuitous replacement of older
idioms with newer ones.

--
Nick Coghlan (via Gmail on Android, so likely to be more terse than usual)
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Code cleanups in stable branches?

2011-10-31 Thread Brett Cannon
On Mon, Oct 31, 2011 at 13:24, Nick Coghlan ncogh...@gmail.com wrote:

 Removing dead code and bypassing redundant code are both reasonable bug
 fixes. The kind of change to be avoided is gratuitous replacement of older
 idioms with newer ones.


What Nick said as I was in the middle of typing when he sent this. =)

-Brett


 --
 Nick Coghlan (via Gmail on Android, so likely to be more terse than usual)

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


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


Re: [Python-Dev] draft PEP: virtual environments

2011-10-31 Thread Stephen J. Turnbull
Carl Meyer writes:
   On 31 October 2011 16:08, Tres Seaver tsea...@palladion.com wrote:

   I would say this is a perfect opportunity to delegate, in this case
   to the devotees of other cults^Wshells than bash.
  
  Good call - we'll stick with what we've got until such devotees
  show up :-)

That's fine, but either make sure it works with a POSIX-conformant
/bin/sh, or make the shebang explicitly bash (bash is notoriously
buggy in respect of being POSIX-compatible when named sh).

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