Re: [Python-Dev] eggs now mandatory for pypi?

2009-10-09 Thread M.-A. Lemburg
David Lyon wrote:
> On Thu, 08 Oct 2009 09:35:57 +0200, "M.-A. Lemburg"  wrote:
>>> One could say that much of the setuptools cloud came about because of
>>> the lack of the queryable download url. Setuptools does a lot of work
>>> here to 'work-around' the ommission on pypi of a package download url.
>>
>> I think you two have missed my email to PJE.
>>
>> In summary:
>>
>> PyPI already does have mechanism for querying download URLs.
>>
>>  http://wiki.python.org/moin/PyPiXmlRpc
>>
>> It only lacks some more meta-data that would be required to
>> match up the user's configuration with the one used in the
>> uploaded URLs.
>>
>> And it would be handy to have a mechanism to just upload the
>> URL data rather than the whole package. Looking at distutils'
>> upload command, PyPI currently appears to only support uploads
>> of the package file itself.
>>
>> Basically, most of the mechnisms are already there, they just need
>> some extra care.
> 
> Maybe you're right. I'll look into it.
> 
>> BTW: Who would I need to contact for the PyPI side to work out
>> an upload_url distutils command ?
> 
> pypi is on sourceforge... ask to become a developer I guess..

I know that the issue tracker for PyPI is (still) on SF, but
development appear to happen elsewhere and I can't find any
contact information on the PyPI web pages.

Is Richard Jones still working on it ? They I could contact him
directly to hash this out.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Oct 09 2009)
>>> Python/Zope Consulting and Support ...http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...http://python.egenix.com/


::: Try our new mxODBC.Connect Python Database Interface for free ! 


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
   Registered at Amtsgericht Duesseldorf: HRB 46611
   http://www.egenix.com/company/contact/
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)

2009-10-09 Thread kiorky
Ian Bicking a écrit :
> I'm coming in late and breaking threading, but wanted to reply to
> Tarek's original email:
> 

> This is verifiable, stable, and to varying degrees concrete
> (virtualenv being more concrete than buildout, which tends more
> towards the declarative).

Is that a friday troll ? declarative over control ?

> 
> What virtualenv does could certainly be in the Python interpreter (and
> much more compact as a result, I am sure).  PYTHONHOME does it to a
> degree, though binding a script to a environment through the
> interpreter listed in #! is more stable than the implicit environment
> of PYTHONHOME.  workingenv used an environmental variable (PYTHONPATH,
> before PYTHONHOME existed) and it caused problems.  Also virtualenv
> offers more system isolation.
> 
> If I had my way, buildout would use virtualenv and throw away its
> funny script generation.  If virtualenv had existed before buildout

Which one, the one provided to generate scripts from entry points with the *.egg
recipes or the bin/buildout auto regeneration?

> began development, probably things would have gone this way.  I think
> it would make the environment more pleasant for buildout users.  Also

* I don't think so, buildout is the only tool atm that permit to have really
reproducible and isolated environments. Even, if you use the pip freezing
machinery, it is not equivalent to buildout, Control!
* Buildout can have single part to construct required eggs, at a specific
version and let you control that. Pip will just search for this version, see
that it's not available and fail. You have even recipes (like
minitage.recipe.egg that permit to construct eggs with special version when you
apply patches onto, thus, you can have the same egg in different flavors in the
same eggs cache available for different projects. Those projects will just have
to pin the right version to use, Control!.
* Another thing is the "funny script generation", you have not one global
site-packages for your project, but one global cache. But from this global
cache, your scripts will only have available the eggs you declared, see Control!
* Moreover buildout is not only a python packages manager, it's some of its
recipes that permit to use it as. Buildout is just a great deployment tool that
allow to script and manage your project in a "funny" and "flexible" way, 
Control!

> I wish it used pip instead of its own installation procedure (based on
> easy_install).  I don't think the philosophical differences are that
> great, and that it's more a matter of history -- because the code is

And retro-compatibility.

> written, there's not much incentive for buildout to remove that code
> and rely on other libraries (virtualenv and pip).

* Virtualenv is not really needed as buildout uses "eggs caches" and do the
isolation from there. Scripts generate the adequate sys.path relying on the
application requirements (which, once more, you are in total control). I prefer
throught to use a virtualenv for each project (or a bunch of projects), and to
bootstrap my buildouts from there. For me, they are complementary to achieve
your deployment and isolation needs.

> 
> --
> Ian Bicking  |  http://blog.ianbicking.org  |  http://topplabs.org/civichacker
> ___
> Python-Dev mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> http://mail.python.org/mailman/options/python-dev/kiorky%40cryptelium.net

-- 
--
Cordialement,
KiOrKY
GPG Key FingerPrint: 0x1A1194B7681112AF




signature.asc
Description: OpenPGP digital signature
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)

2009-10-09 Thread Tarek Ziadé
On Fri, Oct 9, 2009 at 3:22 AM, Ian Bicking  wrote:
> I'm coming in late and breaking threading, but wanted to reply to
> Tarek's original email:
>
>> - easy_install is going to be deprecated ! use Pip !
>
> Cool!  I wouldn't have written pip if I didn't think it would improve
> substantially on easy_install.
>
> Incidentally (because I know people get really enthused about this)
> Carl Meyer just contributed a feature to pip to do atomic
> uninstallation.

Yes I saw that, it's great. And he is now involved in PEP 376 work so
Pip could eventually become the first PEP 376 compliant installer/uninstaller.

>
> Someone mentioned that easy_install provided some things pip didn't;
> outside of multi-versioned installs (which I'm not very enthusiastic
> about) I'm not sure what this is?

Basically what you've listed on Pip front page I think, like 'not
tested under windows'
But I don't see any blocking point besides some testing, to move from
easy_install to pip,
and the deprecation of multi-versioned feature seem to go in the
direction of the community.

>>    - distribute.index: that's package_index and a few other things. 
>> everything required to interact with PyPI. We will promote
>>      its usage and see if Pip wants to use it as a basis.
>
> This is a little tricky.  Primarily because there's a fair amount of
> logic involved in the indexing (going around to different URLs,
> parsing links, finding stuff).  So long as there is logic, something
> can go wrong -- often not in the package itself, but simple user error
> (e.g., it doesn't look where the user thinks it should, or a link is
> malformed, etc).  Because of this, and as a general design goal of
> pip, I want to show as much as I can about what it is doing and why.
> This is primarily tied into pip's logging system (which is oriented
> towards command-line output, and isn't the standard logging system).
> Also it tracks *why* it got to a certain links.  These are the two
> things I can think of where the index code in pip is tied to pip, and
> why it would be hard to use an external system.

OK. Maybe this particular package could be used by another tool
that needs to work with PyPI. It will also include a set of APIs that
corresponds to PyPI XMLPRC services.

Regards
Tarek
-- 
Tarek Ziadé | http://ziade.org | オープンソースはすごい! | 开源传万世,因有你参与
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] eggs now mandatory for pypi?

2009-10-09 Thread Tarek Ziadé
On Fri, Oct 9, 2009 at 10:20 AM, M.-A. Lemburg  wrote:
>
> I know that the issue tracker for PyPI is (still) on SF, but
> development appear to happen elsewhere and I can't find any
> contact information on the PyPI web pages.

Everything is provided here:

http://wiki.python.org/moin/CheeseShopDev

>
> Is Richard Jones still working on it ? They I could contact him
> directly to hash this out.

I think Martin vL is the most active developer at this time.

Regards
Tarek
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] eggs now mandatory for pypi?

2009-10-09 Thread M.-A. Lemburg
Tarek Ziadé wrote:
> On Fri, Oct 9, 2009 at 10:20 AM, M.-A. Lemburg  wrote:
>>
>> I know that the issue tracker for PyPI is (still) on SF, but
>> development appear to happen elsewhere and I can't find any
>> contact information on the PyPI web pages.
> 
> Everything is provided here:
> 
> http://wiki.python.org/moin/CheeseShopDev

Thanks for the URL.

>>
>> Is Richard Jones still working on it ? They I could contact him
>> directly to hash this out.
> 
> I think Martin vL is the most active developer at this time.

Ok, then I'll coordinate with Martin.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Oct 09 2009)
>>> Python/Zope Consulting and Support ...http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...http://python.egenix.com/


::: Try our new mxODBC.Connect Python Database Interface for free ! 


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
   Registered at Amtsgericht Duesseldorf: HRB 46611
   http://www.egenix.com/company/contact/
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute roadmap (and so me words on Virtualenv, Pip)

2009-10-09 Thread Antoine Pitrou
Ian Bicking  colorstudy.com> writes:
> 
> Someone mentioned that easy_install provided some things pip didn't;
> outside of multi-versioned installs (which I'm not very enthusiastic
> about) I'm not sure what this is?

http://pip.openplans.org/#differences-from-easy-install

If it's obsolete the website should be updated...


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


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread Christian Heimes
Nick Coghlan wrote:
> Christian Heimes wrote:
>> The solution requires a new attribute in the sys module that contains
>> the name of the implementation. As an alternative we could use the first
>> field of sys.subversion but I prefer an explicit attribute. I'm
>> proposing "sys.name" with a value of "CPython", "IronPython", "Jython"
>> or "PyPy".
> 
> My Google skills almost failed me, but searching for "sys.vm" found me
> what I was after: http://bugs.python.org/issue4242 (a discussion
> relating to a similar need in the context of flagging implementation
> specific tests).

Thanks, I knew about the discussion but I didn't know that somebody has
already suggested a sys.vm attribute.

> As mentioned in that discussion, as of Python 2.6, you can do the following:
 import platform
 platform.python_implementation()
> 'CPython'
> 
> (Although according to the function docstring, PyPy is currently missing
> from the list of known implementations)
> 
> Importing yet-another-module for use in site.py doesn't sound like a
> great idea, so it may make sense to migrate that information into the
> sys module is this approach is taken. "sys.name" is a little generic
> though - something more explicit like "sys.vm" would be better.

The platform modules uses additional modules like the re module. On my
system "import platform" loads 7 additional module. The platform modul
also uses multiple function calls and regular expression to detect the
vm. I'm not going to blame the author of the function for the way the
feature is implemented. It's the best way and I'd probably done it the
same way, too. But it's an unnecessary slow down of every interpreter
startup. 'sys.vm' it is.

> Implementation specific user directories sound like a good idea indeed.
> 
> An alternative to a lookup table approach might be to be a little more
> direct and just retrieve the final part of the user specific directory
> name directly from a new function in the sys module. Then different VM
> authors can choose any directory name they want without CPython's
> site.py needing to know anything else about them.


I like your idea. It might be a better idea to turn sys.vm into a struct
like sys.float_info. The struct can contains a set of required
attributes like an id, a capitalized name, the platform (C, .NET, Java)
and the suffix for the user site directory.

>>> sys.vm
sys.vm(id='cpython', name='CPython', platform='C',
usersitesuffix='python26') # on win32: Python2.6

>>> sys.vm
sys.vm(id='ironpython', name='IronPython', platform='.NET',
usersitesuffix='ironpython26) # on win32: IronPython2.6

Christian
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread Antoine Pitrou
Christian Heimes  cheimes.de> writes:
> 
> >>> sys.vm
> sys.vm(id='cpython', name='CPython', platform='C',
> usersitesuffix='python26') # on win32: Python2.6
> 
> >>> sys.vm
> sys.vm(id='ironpython', name='IronPython', platform='.NET',
> usersitesuffix='ironpython26) # on win32: IronPython2.6

`usersitesuffix` should probably be a separate sys attribute, since it doesn't
depend on the VM only, but also on the platform and version.

Regards

Antoine.


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


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread Christian Heimes
Tarek Ziadé wrote:
> I have a suggestion though, that completes Nick's answer.
> 
> distutils/command/install.py already contains install schemes and
> imports USER_SITE and USER_BASE to builds user-specific install
> schemes. I think it wouldn't hurt for clarity to reunite all these
> schemes in a single place in the stdlib (so in sys maybe?)

Hello Tarek!

I'm feeling uncomfortable with sticking so much information into the sys
module. Another module with installation schemata wouldn't hurt, though.
In my opinion it's usually wise to separate configuration from logic.

Christian

PS: Thanks for your job with distribute! You are a life safer.
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread Christian Heimes
Antoine Pitrou wrote:

> `usersitesuffix` should probably be a separate sys attribute, since it doesn't
> depend on the VM only, but also on the platform and version.


I don't really care and I'm happy to follow the herd in this matter. :)

Christian
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread Christian Heimes
Michael Foord wrote:
> I really like this scheme. The important thing for IronPython is that we 
> can get it into Python 2.6 (along with other fixes to make distutils 
> compatible with IronPython - like not attempting to bytecode-compile 
> when sys.dont_write_bytecode is True).

I don't think my proposal will land into 2.6. The changes are too severe
for a bug fix release.

Christian

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


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread M.-A. Lemburg
Christian Heimes wrote:
> Nick Coghlan wrote:
>> Importing yet-another-module for use in site.py doesn't sound like a
>> great idea, so it may make sense to migrate that information into the
>> sys module is this approach is taken. "sys.name" is a little generic
>> though - something more explicit like "sys.vm" would be better.
> 
> The platform modules uses additional modules like the re module. On my
> system "import platform" loads 7 additional module. The platform modul
> also uses multiple function calls and regular expression to detect the
> vm. I'm not going to blame the author of the function for the way the
> feature is implemented. It's the best way and I'd probably done it the
> same way, too. But it's an unnecessary slow down of every interpreter
> startup. 'sys.vm' it is.
> 
>> Implementation specific user directories sound like a good idea indeed.
>>
>> An alternative to a lookup table approach might be to be a little more
>> direct and just retrieve the final part of the user specific directory
>> name directly from a new function in the sys module. Then different VM
>> authors can choose any directory name they want without CPython's
>> site.py needing to know anything else about them.
> 
> 
> I like your idea. It might be a better idea to turn sys.vm into a struct
> like sys.float_info. The struct can contains a set of required
> attributes like an id, a capitalized name, the platform (C, .NET, Java)
> and the suffix for the user site directory.
> 
 sys.vm
> sys.vm(id='cpython', name='CPython', platform='C',
> usersitesuffix='python26') # on win32: Python2.6
> 
 sys.vm
> sys.vm(id='ironpython', name='IronPython', platform='.NET',
> usersitesuffix='ironpython26) # on win32: IronPython2.6

+1 on adding something like this, though, I'd use
sys.python_implementation or just sys.implementation
since not all Python implementations are virtual machines -
many compile to machine code or some intermediate format.

-1 on importing platform in site.py. Python's startup time is not
great to begin with and this would cause the load time to increase
even more.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Oct 09 2009)
>>> Python/Zope Consulting and Support ...http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...http://python.egenix.com/


::: Try our new mxODBC.Connect Python Database Interface for free ! 


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
   Registered at Amtsgericht Duesseldorf: HRB 46611
   http://www.egenix.com/company/contact/
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread Michael Foord

Christian Heimes wrote:

Michael Foord wrote:
  
I really like this scheme. The important thing for IronPython is that we 
can get it into Python 2.6 (along with other fixes to make distutils 
compatible with IronPython - like not attempting to bytecode-compile 
when sys.dont_write_bytecode is True).



I don't think my proposal will land into 2.6. The changes are too severe
for a bug fix release.
  


Right, certainly not adding umpteen new sys attributes. :-)

The problem is that the alternative implementations run well behind 
Python-trunk, indeed it doesn't really make sense for them to put a lot 
of effort into implementing a version that is still in development. The 
result is that they discover incompatibilites after a version has gone 
into 'bugfix only' mode.


Whilst the fix you have described (add information to sys that is used 
by site.py and distutils) is ideal it can only go into 2.7. I would 
*still* like to see a fix in 2.6 - even if it is simple logic in site.py 
using sys.platform (if sys.platform == 'cli'; elif sys.platform == 
'java' etc). That way IronPython 2.6 is able to be compatible with 
Python 2.6. This logic might need duplicating in distutils (I haven't 
looked at how distutils works out where the user site-packages folder 
is), but it is a 'maintenance only' fix.


All the best,

Michael


Christian

___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk
  



--
http://www.ironpythoninaction.com/

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


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread Michael Foord

M.-A. Lemburg wrote:

Christian Heimes wrote:
  

Nick Coghlan wrote:


Importing yet-another-module for use in site.py doesn't sound like a
great idea, so it may make sense to migrate that information into the
sys module is this approach is taken. "sys.name" is a little generic
though - something more explicit like "sys.vm" would be better.
  

The platform modules uses additional modules like the re module. On my
system "import platform" loads 7 additional module. The platform modul
also uses multiple function calls and regular expression to detect the
vm. I'm not going to blame the author of the function for the way the
feature is implemented. It's the best way and I'd probably done it the
same way, too. But it's an unnecessary slow down of every interpreter
startup. 'sys.vm' it is.



Implementation specific user directories sound like a good idea indeed.

An alternative to a lookup table approach might be to be a little more
direct and just retrieve the final part of the user specific directory
name directly from a new function in the sys module. Then different VM
authors can choose any directory name they want without CPython's
site.py needing to know anything else about them.
  

I like your idea. It might be a better idea to turn sys.vm into a struct
like sys.float_info. The struct can contains a set of required
attributes like an id, a capitalized name, the platform (C, .NET, Java)
and the suffix for the user site directory.



sys.vm
  

sys.vm(id='cpython', name='CPython', platform='C',
usersitesuffix='python26') # on win32: Python2.6



sys.vm
  

sys.vm(id='ironpython', name='IronPython', platform='.NET',
usersitesuffix='ironpython26) # on win32: IronPython2.6



+1 on adding something like this, though, I'd use
sys.python_implementation or just sys.implementation
since not all Python implementations are virtual machines -
many compile to machine code or some intermediate format.
  


Agrred.

-1 on importing platform in site.py. Python's startup time is not
great to begin with and this would cause the load time to increase
even more.

  


Agrred. (And import time is even worse on IronPython.)

Michael



--
http://www.ironpythoninaction.com/


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


Re: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)

2009-10-09 Thread Paul Moore
2009/10/9 Antoine Pitrou :
> Ian Bicking  colorstudy.com> writes:
>>
>> Someone mentioned that easy_install provided some things pip didn't;
>> outside of multi-versioned installs (which I'm not very enthusiastic
>> about) I'm not sure what this is?
>
> http://pip.openplans.org/#differences-from-easy-install
>
> If it's obsolete the website should be updated...

Specifically, combine "only installs from source" with "might not work
on Windows" and the result is pretty certainly unusable for C
extensions on Windows. You can pretty much guarantee that the average
user on Windows won't have a C compiler[1], and even if they do, they
won't be able to carefully line up all the 3rd party C libraries
needed to build some extensions.

Binary packages are essential on Windows.

Paul.

[1] Heck, some extensions only build with mingw, others only build
with MSVC. You need *two* compilers :-(
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)

2009-10-09 Thread Michael Foord

Paul Moore wrote:

2009/10/9 Antoine Pitrou :
  

Ian Bicking  colorstudy.com> writes:


Someone mentioned that easy_install provided some things pip didn't;
outside of multi-versioned installs (which I'm not very enthusiastic
about) I'm not sure what this is?
  

http://pip.openplans.org/#differences-from-easy-install

If it's obsolete the website should be updated...



Specifically, combine "only installs from source" with "might not work
on Windows" and the result is pretty certainly unusable for C
extensions on Windows. You can pretty much guarantee that the average
user on Windows won't have a C compiler[1], and even if they do, they
won't be able to carefully line up all the 3rd party C libraries
needed to build some extensions.

Binary packages are essential on Windows.
  

Definitely. Most Windows users won't have any compilers let alone 2.

Michael


Paul.

[1] Heck, some extensions only build with mingw, others only build
with MSVC. You need *two* compilers :-(
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk
  



--
http://www.ironpythoninaction.com/

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


Re: [Python-Dev] [New-bugs-announce] [issue7064] Python 2.6.3 / setuptools 0.6c9: extension module builds fail with KeyError

2009-10-09 Thread exarkun

On 5 Oct, 01:04 pm, [email protected] wrote:

On Mon, Oct 5, 2009 at 2:50 PM,   wrote:


   Ned> Due to a change in distutils released with Python 2.6.3, 
packages
   Ned> that use setuptools (version 0.6c9, as of this writing), or 
the

� �Ned> easy_install command, to build C extension modules fail ...
� �...
� �Ned> Among the packages known to be affected include lxml,
   Ned> zope-interface, jinja2, and, hence, packages dependent on 
these

� �Ned> packages (e.g. sphinx, twisted, etc.).

Maybe the Python test suite should include tests with a small number 
of
widely used non-core packages like setuptools.  I realize the pybots 
project
exists to tackle this sort of stuff in greater detail.  I'm thinking 
more of
a smoke test than a comprehensive test suite covering all external 
packages.
Setuptools is particularly important because so many extension authors 
use

it. �If it breaks it implicitly breaks a lot of PyPI packages.


I have created 6 months ago such a buildbot that downloads tarballs
from the community,
and run a few distutils commands on them, and make sure the result is
similar in 2.6/2.7.
and for "sdist" that the resulting tarball is similar.

It was running over Twisted and Numpy, but has been discontinued 
because
it was on my own server, where it was hard to keep it up 
(cpu/bandwidth)


If the Snakebite project could host my buildbot (or at least slaves)
or if the PSF could pay for a dedicated
server for this, we would be able to trigger such warnings, and
provide an e-mail service to package maintainers for example.

The build could occur everytime Distutils *or* the project changes.


If you want, until Snakebite is up, I can probably provide a slave which 
can at least do this testing for Twisted and perhaps some other 
projects.


Jean-Paul
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] BDFL pronouncement?

2009-10-09 Thread Chris Withers

Guido van Rossum wrote:

I'm saying that I don't expect setuptools 0.7 to appear before Tarek's
Distribute is mature and in widespread use. IOW I support Tarek's fork
and suggest nobody hold their breath waiting for setuptools 0.7.


Well, if this was the BDFL pronouncement that a lot of people have taken 
it to be, does that allow Martin von Lewis to give the keys to 
http://pypi.python.org/pypi/setuptools to the "distribute" developers, 
so we can get on and use the original "setuptools" name without all the 
confusion and hackery needed to make "distribute" work?


cheers,

Chris

PS: I had thought that MvL couldn't help because of ez_setup.py, but 
it's only buildout that appears foolish enough to have a hardcoded 
download of:


exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py'
 ).read() in ez

..and even that will keep working provided PJE doesn't take it down...

--
Simplistix - Content Management, Batch Processing & Python Consulting
   - http://www.simplistix.co.uk
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] BDFL pronouncement?

2009-10-09 Thread Tarek Ziadé
On Fri, Oct 9, 2009 at 5:01 PM, Chris Withers  wrote:
> Guido van Rossum wrote:
>>
>> I'm saying that I don't expect setuptools 0.7 to appear before Tarek's
>> Distribute is mature and in widespread use. IOW I support Tarek's fork
>> and suggest nobody hold their breath waiting for setuptools 0.7.
>
> Well, if this was the BDFL pronouncement that a lot of people have taken it
> to be, does that allow Martin von Lewis to give the keys to
> http://pypi.python.org/pypi/setuptools to the "distribute" developers, so we
> can get on and use the original "setuptools" name without all the confusion
> and hackery needed to make "distribute" work?
>

I am -1 on this.

At Python and PyPI level, 'Setuptools' is PJE's project and he's the
one that manages the list of users that have
extended rights on his project.

In Distribute, our setup.py script makes sure setuptools is not in the
way. It is explicit and documented,
and there's a documentation explaining how to switch back to Setuptools.

This exists only because there's no way yet in Python to say that a
distribution can't run when another distribution is installed.

But it's up to every project and developer to choose to switch to
Distribute. And it's up to OS packagers to choose
the best strategy at their levels when they package tools for their
packaging system (so they pick one or the other
and they are able to make a distinction between PJE python
distribution and ours)

Distribute developers will of course promote Distutils usage
everywhere, but hijacking setuptools in PyPI
would be a very bad thing imho.

Tarek
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] no consensus on static metadata

2009-10-09 Thread Chris Withers

Tarek Ziadé wrote:

== The fate of setup.py, and static metadata ==

So we are going to separate the metadata description from setup.py, in
a static configuration file, that can be open and read by anyone
without
running any code.





So we've worked on that lately in Distutils-SIG and came up with a
micro-language, based on a ConfigParser file, that allows
writing metadata fields that depends on sys.platform etc. I won't
detail the syntax here but the idea is that the interpretation
of this file can be done with a vanilla Python without running arbitrary code.


I don't understand how the above two paragraphs are compatible.


So I am adding this in Distutils for 2.7.


NB: There was no consensus on this "micro-language" on distutils-sig.
While I suspect I don't care as none of my packages rely on anything 
other than other python packages, others did care, and I found the 
syntax Tarek was proposing pretty clumsy.


Does the PEP386 or the changes you're proposing for PEP314 cater for the 
extra_requires stuff in setuptools? I know I use that quite heavily and 
I'm not the only one...


--
Simplistix - Content Management, Batch Processing & Python Consulting
   - http://www.simplistix.co.uk
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] BDFL pronouncement?

2009-10-09 Thread Antoine Pitrou
Chris Withers  simplistix.co.uk> writes:
> 
> Well, if this was the BDFL pronouncement that a lot of people have taken 
> it to be, does that allow Martin von Lewis to give the keys to 
> http://pypi.python.org/pypi/setuptools to the "distribute" developers, 
> so we can get on and use the original "setuptools" name without all the 
> confusion and hackery needed to make "distribute" work?

Er, perhaps this is a bit brutal? I don't think the BDFL has a right of life and
death over third-party packages.

I mean, we're an anarcho-syndicalist commune, aren't we?

  WOMAN:  Who are the Britons?
  ARTHUR:  Well, we all are. we're all Britons and I am your king.
  WOMAN:  I didn't know we had a king.  I thought we were an autonomous
  collective.
  DENNIS:  You're fooling yourself.  We're living in a dictatorship.
  A self-perpetuating autocracy in which the working classes--
  [snip]


Regards

Antoine.


PS :

> PS: I had thought that MvL couldn't help because of ez_setup.py, but 
> it's only buildout that appears foolish enough to have a hardcoded 
> download of:

Some projects also have an SVN "externals" pointing to the setuptools SVN
repository, as described here:
http://peak.telecommunity.com/doc/ez_setup/index.html


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


Re: [Python-Dev] Distutils and Distribute "upload_docs" command

2009-10-09 Thread Chris Withers

Tarek Ziadé wrote:

Some new commands are added there, when they are helpful and don't
interact with the rest. I am thinking
about "upload_docs" that let you upload documentation to PyPI. The
goal is to move it to Distutils
at some point, if the documentation feature of PyPI stays and starts to be used.


This is already available:

http://pypi.python.org/pypi/Sphinx-PyPI-upload

How about helping the author of that extension make it work with 
Distribute or just get that implementation into Distutils core instead?


Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
   - http://www.simplistix.co.uk
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Bits-of-Distribute naming

2009-10-09 Thread Chris Withers

Tarek Ziadé wrote:

- The code is splitted in many packages and might be distributed under
several distributions.

   - distribute.resources: that's the old pkg_resources, but
reorganized in clean, pep-8 modules. This package will
 only contain the query APIs and will focus on being PEP 376
compatible. We will promote its usage and see if Pip wants
 to use it as a basis. And maybe PyPM once it's open source ?
( ).
It will probably shrink a lot though, once the stdlib provides PEP 376 
support.


Why not just call it pkg_resources and/or merge it with pkgutil to get 
it into the python stdlib?



   - distribute.entrypoints: that's the old pkg_resources entry points
system, but on its own. it uses distribute.resources


Why not get it into the core as distutils.entrypoints? That's where it 
belongs...



   - distribute.index: that's package_index and a few other things.
everything required to interact with PyPI. We will promote
 its usage and see if Pip wants to use it as a basis.


Why not call in "pypi.client" and "pypi.server" or, better yet, get it 
into the stdlib as disutils.index.client distutils.index.server?



   - distribute.core (might be renamed to main): that's everything
else, and uses the other packages.


...which would be left, and could just be called "distribute".

cheers,

Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
   - http://www.simplistix.co.uk
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] no consensus on static metadata

2009-10-09 Thread Tarek Ziadé
On Fri, Oct 9, 2009 at 5:32 PM, Chris Withers  wrote:
>
>> So I am adding this in Distutils for 2.7.
>
> NB: There was no consensus on this "micro-language" on distutils-sig.
> While I suspect I don't care as none of my packages rely on anything other
> than other python packages, others did care, and I found the syntax Tarek
> was proposing pretty clumsy.

Please no bikeshedding again on the syntax. "consensus" doesn't
mean that you agreed on the syntax.

As I said to MAL, a PEP will be written with the precise syntax, and you will
be able to make your voice heard on **Distutils-SIG**, even participate to it.

But at the end, a syntax will be added.

> Does the PEP386 or the changes you're proposing for PEP314 cater for the
> extra_requires stuff in setuptools? I know I use that quite heavily and I'm
> not the only one...

Let's open a thread on Distutils-SIG about PEP 314 planned changes.

Tarek.
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] supporting multiple versions of one package in one environment is insane

2009-10-09 Thread Chris Withers

Tarek Ziadé wrote:

= Virtualenv and the multiple version support in Distribute =

(I am not saying "We" here because this part was not discussed yet
with everyone)


Good, so maybe take this discussion to distutils-sig first?


Virtualenv allows you to create an isolated environment to install
some distribution without polluting the
main site-packages, a bit like a user site-packages.


...as does buildout, and these are the right type of solution to this 
problem.



My opinion is that this tool exists only because Python doesn't
support the installation of multiple versions for the same
distributions.


No, it exists because per-project specification of requirements is a 
really good thing. Having multiple versions of the same package in the 
same python environment it totally batshit crazy...



Setuptools provided a multiple version support but I don't like its
implementation and the way its works.


See the "crazy" comment above...


- a special import system using importlib that would automatically
pick the latest version, thanks to PEP 376.


As long as I never have to use it or see it, I don't really care, but 
this seems like creating more work for yourself and another gun pointed 
at the face, nevermind the foot, of the unwary newbie...


Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
   - http://www.simplistix.co.uk
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute "upload_docs" command

2009-10-09 Thread Tarek Ziadé
On Fri, Oct 9, 2009 at 5:37 PM, Chris Withers  wrote:
> Tarek Ziadé wrote:
>>
>> Some new commands are added there, when they are helpful and don't
>> interact with the rest. I am thinking
>> about "upload_docs" that let you upload documentation to PyPI. The
>> goal is to move it to Distutils
>> at some point, if the documentation feature of PyPI stays and starts to be
>> used.
>
> This is already available:
>
> http://pypi.python.org/pypi/Sphinx-PyPI-upload
>
> How about helping the author of that extension make it work with Distribute
> or just get that implementation into Distutils core instead?

It's the case. The author is a Distribute commiter and *he* has added
it in Distribute.

PS: its' weird, it looks like your answers to the original thread are
not belonging to
the thread anymore. Is that my gmail or something on your mail client.

Tarek
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute "upload_docs" command

2009-10-09 Thread Chris Withers

Tarek Ziadé wrote:

How about helping the author of that extension make it work with Distribute
or just get that implementation into Distutils core instead?


It's the case. The author is a Distribute commiter and *he* has added
it in Distribute.


Great, but about just getting it into Distutils? I can't imagine it's 
that contentious...


Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
   - http://www.simplistix.co.uk
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Bits-of-Distribute naming

2009-10-09 Thread Tarek Ziadé
On Fri, Oct 9, 2009 at 5:42 PM, Chris Withers  wrote:
> Tarek Ziadé wrote:
>>
>> - The code is splitted in many packages and might be distributed under
>> several distributions.
>>
>>   - distribute.resources: that's the old pkg_resources...

> Why not just call it pkg_resources and/or merge it with pkgutil to get it
> into the python stdlib?

Because "pkg_resources" belongs to 0.6 and we want 0.7 to be
installable alongside 0.6 if needed.

Now as I said earlier, this package might shrink once PEP 376 is
finished, and have bits included in pkgutil.

>
>>   - distribute.entrypoints: that's the old pkg_resources entry points
>> system, but on its own. it uses distribute.resources
>
> Why not get it into the core as distutils.entrypoints? That's where it
> belongs...

What do you call 'core' ? distutils.core ?

If yes, why does it belong to core ? entrypoint is a standalon plugin system .

>
>>   - distribute.index: that's package_index and a few other things.
>> everything required to interact with PyPI. We will promote
>>     its usage and see if Pip wants to use it as a basis.
>
> Why not call in "pypi.client" and "pypi.server" or, better yet, get it into
> the stdlib as disutils.index.client distutils.index.server?

We are keeping a "distribute." namespace for all bits.

Now maybe one day it'll make it into Distutils, yes. But not now.

Also, have a look at PEP 381 (mirroring infratructure for PyPI)

In any case, the splitting is occuring *now* and is not written in the stone,
so we can talk about this in Distutils-SIG, and improve it with your feedback.


Regards,
Tarek
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Summary of Python tracker Issues

2009-10-09 Thread Python tracker

ACTIVITY SUMMARY (10/02/09 - 10/09/09)
Python tracker at http://bugs.python.org/

To view or respond to any of the issues listed below, click on the issue 
number.  Do NOT respond to this message.


 2444 open (+44) / 16471 closed (+14) / 18915 total (+58)

Open issues with patches:   976

Average duration of open issues: 670 days.
Median duration of open issues: 420 days.

Open Issues Breakdown
   open  2410 (+44)
pending33 ( +0)

Issues Created Or Reopened (59)
___

traceback.format_exception_only does not return SyntaxError caro 10/07/09
   http://bugs.python.org/issue6962reopened thewtex 
  
   patch   

Doc/reference/datamodel: Slots description needs update  10/02/09
   http://bugs.python.org/issue7036created  Byron   
  
   patch   

test_asynchat fails on os x 10.6 10/02/09
   http://bugs.python.org/issue7037created  chuck   
  
   

test_curses fails on os x 10.6   10/02/09
   http://bugs.python.org/issue7038created  chuck   
  
   

test_distutils fails on os x 10.610/02/09
CLOSED http://bugs.python.org/issue7039created  chuck   
  
   

test_smtplib fails on os x 10.6  10/02/09
   http://bugs.python.org/issue7040created  chuck   
  
   

test_macostools fails on os x 10.6   10/02/09
   http://bugs.python.org/issue7041created  chuck   
  
   

test_signal fails on os x 10.6   10/02/09
   http://bugs.python.org/issue7042created  chuck   
  
   patch   

test_urllib: constructLocalFileUrl returns invalid URLs on Windo 10/03/09
   http://bugs.python.org/issue7043created  srid
  
   

urllib.urlopen crashes when used on Mac OS 10.6.1 through a prox 10/03/09
   http://bugs.python.org/issue7044created  jweber  
  
   

utf-8 encoding error 10/03/09
   http://bugs.python.org/issue7045created  ArcRiley
  
   

decimal.py: use DivisionImpossible and DivisionUndefined 10/03/09
   http://bugs.python.org/issue7046created  skrah   
  
   

decimal.py: NaN payload conversion   10/03/09
CLOSED http://bugs.python.org/issue7047created  skrah   
  
   

decimal.py: logb: round the result if it is greater than prec10/03/09
   http://bugs.python.org/issue7048created  skrah   
  
   patch   

decimal.py: NaN result in pow(x, y, z) with prec 1   10/03/09
   http://bugs.python.org/issue7049created  skrah   
  
   patch   

Augmented assignment of tuple crashes IDLE   10/03/09
CLOSED http://bugs.python.org/issue7050created  mfitz   
  
   

'g'/'G' format docs need a little more explanation   10/03/09
   http://bugs.python.org/issue7051created  benjamin.peterson   
  
   

"from logging import *" causes an error under Ubuntu Karmic  10/04/09
CLOSED http://bugs.python.org/issue7052created  vak 
  
   

wrong overload of slot wrapper   10/04/09
CLOSED http://bugs.python.org/issue7053created  omatt   
  
 

Re: [Python-Dev] Bits-of-Distribute naming

2009-10-09 Thread Chris Withers

Tarek Ziadé wrote:

  - distribute.entrypoints: that's the old pkg_resources entry points
system, but on its own. it uses distribute.resources

Why not get it into the core as distutils.entrypoints? That's where it
belongs...


What do you call 'core' ? distutils.core ?


Sorry, mean stdlib. distutils.entrypoints would seem to be the sensible 
place.



  - distribute.index: that's package_index and a few other things.
everything required to interact with PyPI. We will promote
its usage and see if Pip wants to use it as a basis.

Why not call in "pypi.client" and "pypi.server" or, better yet, get it into
the stdlib as disutils.index.client distutils.index.server?


We are keeping a "distribute." namespace for all bits.


Why?


In any case, the splitting is occuring *now* and is not written in the stone,
so we can talk about this in Distutils-SIG, and improve it with your feedback.


Shame there hasn't been any discussion of this recently on distutils-sig...

Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
   - http://www.simplistix.co.uk
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute "upload_docs" command

2009-10-09 Thread Tarek Ziadé
On Fri, Oct 9, 2009 at 6:03 PM, Chris Withers  wrote:
> Tarek Ziadé wrote:
>>>
>>> How about helping the author of that extension make it work with
>>> Distribute
>>> or just get that implementation into Distutils core instead?
>>
>> It's the case. The author is a Distribute commiter and *he* has added
>> it in Distribute.
>
> Great, but about just getting it into Distutils? I can't imagine it's that
> contentious...

This PyPI feature is pretty new. It's great to have the client command
on Distribute.
If its usage spreads it'll make it to Distutils.

If you want to see it included Distutils (I do too) help us promoting its usage

Tarek.
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute "upload_docs" command

2009-10-09 Thread Chris Withers

Tarek Ziadé wrote:

This PyPI feature is pretty new. It's great to have the client command
on Distribute.
If its usage spreads it'll make it to Distutils.

If you want to see it included Distutils (I do too) help us promoting its usage


The only thing that discourages me from using the PyPI docs feature is 
that it only allows documentation per-distribution, not 
per-version-per-distribution.


While you can work around this by building docs for all versions and 
putting them in one .zip file, that seems like a hack.


Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
   - http://www.simplistix.co.uk
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Bits-of-Distribute naming

2009-10-09 Thread Tarek Ziadé
On Fri, Oct 9, 2009 at 6:08 PM, Chris Withers  wrote:
>
> Shame there hasn't been any discussion of this recently on distutils-sig...

We had many discussion on this already. I don't mind to have another
round, on the contrary,
but let's do it in Distutils-SIG

We are making a lot of noise now in Python-dev, which is not required

Tarek
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] no consensus on static metadata

2009-10-09 Thread Chris Withers

Tarek Ziadé wrote:

NB: There was no consensus on this "micro-language" on distutils-sig.
While I suspect I don't care as none of my packages rely on anything other
than other python packages, others did care, and I found the syntax Tarek
was proposing pretty clumsy.


Please no bikeshedding again on the syntax. 


Tarek, throwing "bikeshedding" at an important syntactical discussion 
like this is verging on rude. Please stop it and accept that the best 
solution has not been found yet.



As I said to MAL, a PEP will be written with the precise syntax, and you will
be able to make your voice heard on **Distutils-SIG**, even participate to it.


Great.


Does the PEP386 or the changes you're proposing for PEP314 cater for the
extra_requires stuff in setuptools? I know I use that quite heavily and I'm
not the only one...


Let's open a thread on Distutils-SIG about PEP 314 planned changes.


OK, look forward to reading it and commenting.

Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
   - http://www.simplistix.co.uk
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)

2009-10-09 Thread Ian Bicking
On Fri, Oct 9, 2009 at 3:54 AM, kiorky  wrote:
>> If I had my way, buildout would use virtualenv and throw away its
>> funny script generation.  If virtualenv had existed before buildout
>
> Which one, the one provided to generate scripts from entry points with the 
> *.egg
> recipes or the bin/buildout auto regeneration?

Well, if multi-versioned installs were deprecated, it would not be
necessary to use Setuptools' style of script generation.  Instead you
could simply dereference the entry point, calling the underlying
function directly in the script.  This detail is probably more of a
distutils-sig question, and I don't have a strong opinion.

But I was thinking specifically of the egg activation buildout puts at
the top of scripts.

>> began development, probably things would have gone this way.  I think
>> it would make the environment more pleasant for buildout users.  Also
>
> * I don't think so, buildout is the only tool atm that permit to have really
> reproducible and isolated environments. Even, if you use the pip freezing
> machinery, it is not equivalent to buildout, Control!

I believe that to fully insulate buildout you need still virtualenv
--no-site-packages.  But I'm not arguing that virtualenv/pip makes
buildout obsolete, only that they have overlapping functionality, and
I think buildout would benefit from making use of that overlap.

> * Buildout can have single part to construct required eggs, at a specific
> version and let you control that. Pip will just search for this version, see
> that it's not available and fail. You have even recipes (like
> minitage.recipe.egg that permit to construct eggs with special version when 
> you
> apply patches onto, thus, you can have the same egg in different flavors in 
> the
> same eggs cache available for different projects. Those projects will just 
> have
> to pin the right version to use, Control!.

In my own work I use multiple virtualenv environments for this use
case, to similar effect.  pip of course is not a generalized build
tool, but then minitage.recipe.egg is not the main egg installer
either.

> * Another thing is the "funny script generation", you have not one global
> site-packages for your project, but one global cache. But from this global
> cache, your scripts will only have available the eggs you declared, see 
> Control!
> * Moreover buildout is not only a python packages manager, it's some of its
> recipes that permit to use it as. Buildout is just a great deployment tool 
> that
> allow to script and manage your project in a "funny" and "flexible" way, 
> Control!

Sure; I'm just advocating that buildout more explicitly use some of
the functionality of virtualenv/pip (which may require some more
features in those tools, but I'm open to that).  But specific
discussion of this would probably be more appropriate on
distutils-sig.

-- 
Ian Bicking  |  http://blog.ianbicking.org  |  http://topplabs.org/civichacker
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] BDFL pronouncement?

2009-10-09 Thread Chris Withers

Tarek Ziadé wrote:

At Python and PyPI level, 'Setuptools' is PJE's project and he's the
one that manages the list of users that have
extended rights on his project.


Indeed, if only he would see sense :-(


In Distribute, our setup.py script makes sure setuptools is not in the
way. It is explicit and documented,
and there's a documentation explaining how to switch back to Setuptools.


It's a hack though...


This exists only because there's no way yet in Python to say that a
distribution can't run when another distribution is installed.


I don't this should ever be needed, except in this edge case caused by 
one man's stubbornness...



Distribute developers will of course promote Distutils usage
everywhere, but hijacking setuptools in PyPI
would be a very bad thing imho.


*sigh* I don't see it as hijacking, provided Guido is making a BDFL 
pronouncement that you're maintaining this software and PJE finally sees 
 sense and accepts that.


Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
   - http://www.simplistix.co.uk
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] supporting multiple versions of one package in one environment is insane

2009-10-09 Thread Toshio Kuratomi
On Fri, Oct 09, 2009 at 04:51:00PM +0100, Chris Withers wrote:
> Tarek Ziadé wrote:
>> Virtualenv allows you to create an isolated environment to install
>> some distribution without polluting the
>> main site-packages, a bit like a user site-packages.
>
> ...as does buildout, and these are the right type of solution to this  
> problem.
>
where type of problem == sandboxed environment, sure.  How do you solve the
problem for system packagers?

-Toshio


pgpIuAAzlNOuB.pgp
Description: PGP signature
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)

2009-10-09 Thread Ian Bicking
On Fri, Oct 9, 2009 at 7:32 AM, Paul Moore  wrote:
> 2009/10/9 Antoine Pitrou :
>> Ian Bicking  colorstudy.com> writes:
>>>
>>> Someone mentioned that easy_install provided some things pip didn't;
>>> outside of multi-versioned installs (which I'm not very enthusiastic
>>> about) I'm not sure what this is?
>>
>> http://pip.openplans.org/#differences-from-easy-install
>>
>> If it's obsolete the website should be updated...
>
> Specifically, combine "only installs from source" with "might not work
> on Windows" and the result is pretty certainly unusable for C
> extensions on Windows. You can pretty much guarantee that the average
> user on Windows won't have a C compiler[1], and even if they do, they
> won't be able to carefully line up all the 3rd party C libraries
> needed to build some extensions.
>
> Binary packages are essential on Windows.

I'll admit I have some blindness when it comes to Windows.  I agree
binary installation on Windows is important.  (I don't think it's very
important on other platforms, or at least not very effective in
easy_install so it wouldn't be a regression.)

I note some other differences in that document:

> It cannot install from eggs. It only installs from source. (Maybe this will 
> be changed sometime, but it’s low priority.)

Outside of binaries on Windows, I'm still unsure if installing eggs
serves a useful purpose.  I'm not sure if eggs are any better than
wininst binaries either...?

> It doesn’t understand Setuptools extras (like package[test]). This should be 
> added eventually.

I haven't really seen Setuptools' extras used effectively, so I'm
unsure if it's a useful feature.  I understand the motivation for
extras, but motivated features aren't necessarily useful features.

> It is incompatible with some packages that customize distutils or setuptools 
> in their setup.py files.

I don't have a solution for this, and generally easy_install does not
perform much better than pip in these cases.  Work in Distribute
hopefully will apply to this issue.

-- 
Ian Bicking  |  http://blog.ianbicking.org  |  http://topplabs.org/civichacker
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)

2009-10-09 Thread kiorky
I'm crossposting to continue on distutils.

Ian Bicking a écrit :
> On Fri, Oct 9, 2009 at 3:54 AM, kiorky  wrote:
> Well, if multi-versioned installs were deprecated, it would not be
> necessary to use Setuptools' style of script generation.  Instead you
> could simply dereference the entry point, calling the underlying
> function directly in the script.  This detail is probably more of a
> distutils-sig question, and I don't have a strong opinion.
> 
> But I was thinking specifically of the egg activation buildout puts at
> the top of scripts.

The egg activation is just the result of the constructed working set, which
aggregates all the python packages that fulfill the options inputed by the user.
The only needed packages and nothing else or more.

>>> began development, probably things would have gone this way.  I think
>>> it would make the environment more pleasant for buildout users.  Also
>> * I don't think so, buildout is the only tool atm that permit to have really
>> reproducible and isolated environments. Even, if you use the pip freezing
>> machinery, it is not equivalent to buildout, Control!
> 
> I believe that to fully insulate buildout you need still virtualenv
> --no-site-packages.  But I'm not arguing that virtualenv/pip makes

Right, I do so, but i also drop nothing in that virtualenv site-packages.

> buildout obsolete, only that they have overlapping functionality, and
> I think buildout would benefit from making use of that overlap.

recipes have more features and are another way to do, complementary or not.
(patching, compiling options, pinning version). You have also more control on
what is installed/used/shared with buildout than with the others.

>> * Buildout can have single part to construct required eggs, at a specific
>> version and let you control that. Pip will just search for this version, see
>> that it's not available and fail. You have even recipes (like
>> minitage.recipe.egg that permit to construct eggs with special version when 
>> you
>> apply patches onto, thus, you can have the same egg in different flavors in 
>> the
>> same eggs cache available for different projects. Those projects will just 
>> have
>> to pin the right version to use, Control!.
> 
> In my own work I use multiple virtualenv environments for this use
> case, to similar effect.  pip of course is not a generalized build
> tool, but then minitage.recipe.egg is not the main egg installer
> either.

*.recipe.egg can use caches to avoid duplications among many projects
environments. You setup seems to duplicate stuff around.

>> * Another thing is the "funny script generation", you have not one global
>> site-packages for your project, but one global cache. But from this global
>> cache, your scripts will only have available the eggs you declared, see 
>> Control!
>> * Moreover buildout is not only a python packages manager, it's some of its
>> recipes that permit to use it as. Buildout is just a great deployment tool 
>> that
>> allow to script and manage your project in a "funny" and "flexible" way, 
>> Control!
> 
> Sure; I'm just advocating that buildout more explicitly use some of
> the functionality of virtualenv/pip (which may require some more
> features in those tools, but I'm open to that).  But specific
> discussion of this would probably be more appropriate on
> distutils-sig.
> 


-- 
--
Cordialement,
KiOrKY
GPG Key FingerPrint: 0x1A1194B7681112AF




signature.asc
Description: OpenPGP digital signature
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] supporting multiple versions of one package in one environment is insane

2009-10-09 Thread Chris Withers

Toshio Kuratomi wrote:

On Fri, Oct 09, 2009 at 04:51:00PM +0100, Chris Withers wrote:

Tarek Ziadé wrote:

Virtualenv allows you to create an isolated environment to install
some distribution without polluting the
main site-packages, a bit like a user site-packages.
...as does buildout, and these are the right type of solution to this  
problem.



where type of problem == sandboxed environment, sure.  How do you solve the
problem for system packagers?


What's to stop a system packager either just running the buildout on 
install, or running the buildout at package build time and then just 
dropping the resulting environment wherever they want to install 
applications? Such a package would only be dependent on the right python 
version at runtime...


cheers,

Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
   - http://www.simplistix.co.uk
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)

2009-10-09 Thread Michael Foord

Ian Bicking wrote:

On Fri, Oct 9, 2009 at 7:32 AM, Paul Moore  wrote:
  

2009/10/9 Antoine Pitrou :


Ian Bicking  colorstudy.com> writes:
  

Someone mentioned that easy_install provided some things pip didn't;
outside of multi-versioned installs (which I'm not very enthusiastic
about) I'm not sure what this is?


http://pip.openplans.org/#differences-from-easy-install

If it's obsolete the website should be updated...
  

Specifically, combine "only installs from source" with "might not work
on Windows" and the result is pretty certainly unusable for C
extensions on Windows. You can pretty much guarantee that the average
user on Windows won't have a C compiler[1], and even if they do, they
won't be able to carefully line up all the 3rd party C libraries
needed to build some extensions.

Binary packages are essential on Windows.



I'll admit I have some blindness when it comes to Windows.  I agree
binary installation on Windows is important.  (I don't think it's very
important on other platforms, or at least not very effective in
easy_install so it wouldn't be a regression.)

I note some other differences in that document:

  

It cannot install from eggs. It only installs from source. (Maybe this will be 
changed sometime, but it’s low priority.)



Outside of binaries on Windows, I'm still unsure if installing eggs
serves a useful purpose.  I'm not sure if eggs are any better than
wininst binaries either...?

  


Many Windows users would be quite happy if the standard mechanism for 
installing non-source distributions on Windows was via the wininst binaries.


I wonder if it is going to be possible to make this compatible with the 
upcoming distutils package management 'stuff' (querying for installed 
packages, uninstallation etc) since installation/uninstallation goes 
through the Windows system package management feature.  I guess it would 
be eminently possible but require some reasonably high level Windows-fu 
to do.


Michael


It doesn’t understand Setuptools extras (like package[test]). This should be 
added eventually.



I haven't really seen Setuptools' extras used effectively, so I'm
unsure if it's a useful feature.  I understand the motivation for
extras, but motivated features aren't necessarily useful features.

  

It is incompatible with some packages that customize distutils or setuptools in 
their setup.py files.



I don't have a solution for this, and generally easy_install does not
perform much better than pip in these cases.  Work in Distribute
hopefully will apply to this issue.

  



--
http://www.ironpythoninaction.com/

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


Re: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)

2009-10-09 Thread Ian Bicking
Probably all these discussions are better on distutils-sig (just
copying python-dev to note the movement of the discussion)

On Fri, Oct 9, 2009 at 11:49 AM, Michael Foord
 wrote:
>> Outside of binaries on Windows, I'm still unsure if installing eggs
>> serves a useful purpose.  I'm not sure if eggs are any better than
>> wininst binaries either...?
>
> Many Windows users would be quite happy if the standard mechanism for
> installing non-source distributions on Windows was via the wininst binaries.
>
> I wonder if it is going to be possible to make this compatible with the
> upcoming distutils package management 'stuff' (querying for installed
> packages, uninstallation etc) since installation/uninstallation goes through
> the Windows system package management feature.  I guess it would be
> eminently possible but require some reasonably high level Windows-fu to do.

As far as pip works, it unpacks a package and runs "python setup.py
install (and some options that aren't that interesting, but are
provided specifically by setuptools)".  Well, it's slightly more
complicated, but more to the point it doesn't install in-process or
dictate how setup.py works, except that it takes some specific
options.  Running a Windows installer in the same way would be fine,
in that sense.  Alternately pip could unpack the wininst zip file and
install it directly; I'm not sure if that would be better or worse?
If wininst uses the central package manager of the OS then certain
features (like virtualenv, PYTHONHOME, --prefix, etc) would not be
possible.

For Distribute (or Setuptools or by association pip) to see that a
package is installed, it must have the appropriate metadata.  For
Setuptools (and Distribute 0.6) this is a directory or file, on
sys.path, "Package.egg-info" (or in Package-X.Y.egg/EGG-INFO).  If a
file, it should be a PKG-INFO file, if a directory it should contain a
PKG-INFO file.  So however the package gets installed, if that
metadata is installed then it can be queried.  I don't think querying
the Windows system package management would be necessary or desirable.
 Nobody is trying that with deb/rpm either.

-- 
Ian Bicking  |  http://blog.ianbicking.org  |  http://topplabs.org/civichacker
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] BDFL pronouncement?

2009-10-09 Thread Antoine Pitrou
Chris Withers  simplistix.co.uk> writes:
> 
> *sigh* I don't see it as hijacking, provided Guido is making a BDFL 
> pronouncement that you're maintaining this software

Well, what you are proposing *is* hijacking. PJE is not paid or employed by
Guido, he is the full author of setuptools. Forking is of course fine (this is
free software), but saying "I overthrow you as the maintainer of this software"
is not.

While you (and I) may be unsatisfied with PJE's maintenance style, personal
(dis)affection should not be what motivates our decisions. A piece of software
has an author who has some moral rights on it, and should be treated with
respect. After all, when an author decides to release code under a free license,
it shows a fair amount of trust and respect towards the user; it is only fair
that the user shows the same amount of trust and respect (*).


(*) it has happened that some users don't, and in that case the author's
reaction can be violent. For example, Nessus became proprietary:
http://news.cnet.com/Nessus-security-tool-closes-its-source/2100-7344_3-5890093.html

Regards

Antoine.


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


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread Brett Cannon
On Fri, Oct 9, 2009 at 04:53, Michael Foord wrote:

> Christian Heimes wrote:
>
>> Michael Foord wrote:
>>
>>
>>> I really like this scheme. The important thing for IronPython is that we
>>> can get it into Python 2.6 (along with other fixes to make distutils
>>> compatible with IronPython - like not attempting to bytecode-compile when
>>> sys.dont_write_bytecode is True).
>>>
>>>
>>
>> I don't think my proposal will land into 2.6. The changes are too severe
>> for a bug fix release.
>>
>>
>
> Right, certainly not adding umpteen new sys attributes. :-)
>
> The problem is that the alternative implementations run well behind
> Python-trunk, indeed it doesn't really make sense for them to put a lot of
> effort into implementing a version that is still in development. The result
> is that they discover incompatibilites after a version has gone into 'bugfix
> only' mode.
>
> Whilst the fix you have described (add information to sys that is used by
> site.py and distutils) is ideal it can only go into 2.7. I would *still*
> like to see a fix in 2.6 - even if it is simple logic in site.py using
> sys.platform (if sys.platform == 'cli'; elif sys.platform == 'java' etc).
> That way IronPython 2.6 is able to be compatible with Python 2.6. This logic
> might need duplicating in distutils (I haven't looked at how distutils works
> out where the user site-packages folder is), but it is a 'maintenance only'
> fix.
>

But it's still a change in semantics. Tossing this into 2.6 would mean that
anyone who has worked around the current behaviour is going to have a busted
install.

-Brett
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] BDFL pronouncement?

2009-10-09 Thread Brett Cannon
On Fri, Oct 9, 2009 at 10:57, Antoine Pitrou  wrote:

> Chris Withers  simplistix.co.uk> writes:
> >
> > *sigh* I don't see it as hijacking, provided Guido is making a BDFL
> > pronouncement that you're maintaining this software
>
> Well, what you are proposing *is* hijacking. PJE is not paid or employed by
> Guido, he is the full author of setuptools. Forking is of course fine (this
> is
> free software), but saying "I overthrow you as the maintainer of this
> software"
> is not.
>
> While you (and I) may be unsatisfied with PJE's maintenance style, personal
> (dis)affection should not be what motivates our decisions. A piece of
> software
> has an author who has some moral rights on it, and should be treated with
> respect. After all, when an author decides to release code under a free
> license,
> it shows a fair amount of trust and respect towards the user; it is only
> fair
> that the user shows the same amount of trust and respect (*).
>

FWIW I agree with Antoine.

-Brett
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Bits-of-Distribute naming

2009-10-09 Thread Lennart Regebro
2009/10/9 Chris Withers :
> Why not get it into the core as distutils.entrypoints? That's where it
> belongs...

Well, one reason is that it can't be distributed separately under that
name, and hence not be tested separately or bugfixed separately.

Rule #1 for inclusion in the standard library is that the module
pretty much is dead, and that you don't need new releases or new
features. This isn't true for any part of a refactored setuptools. We
will need to distribute most of this separately for a while first.

That means that distutils.anything doesn't work.

-- 
Lennart Regebro: Python, Zope, Plone, Grok
http://regebro.wordpress.com/
+33 661 58 14 64
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread Michael Foord
The *only* change in semantics I'm proposing is for users of  
IronPython 2.6 which is not even at final release yet. CPython users  
would be unaffected.


Sorry for top-posting, mobile device.

Michael


--
http://www.ironpythoninaction.com

On 9 Oct 2009, at 19:00, Brett Cannon  wrote:




On Fri, Oct 9, 2009 at 04:53, Michael Foord  
 wrote:

Christian Heimes wrote:
Michael Foord wrote:

I really like this scheme. The important thing for IronPython is  
that we can get it into Python 2.6 (along with other fixes to make  
distutils compatible with IronPython - like not attempting to  
bytecode-compile when sys.dont_write_bytecode is True).



I don't think my proposal will land into 2.6. The changes are too  
severe

for a bug fix release.


Right, certainly not adding umpteen new sys attributes. :-)

The problem is that the alternative implementations run well behind  
Python-trunk, indeed it doesn't really make sense for them to put a  
lot of effort into implementing a version that is still in  
development. The result is that they discover incompatibilites after  
a version has gone into 'bugfix only' mode.


Whilst the fix you have described (add information to sys that is  
used by site.py and distutils) is ideal it can only go into 2.7. I  
would *still* like to see a fix in 2.6 - even if it is simple logic  
in site.py using sys.platform (if sys.platform == 'cli'; elif  
sys.platform == 'java' etc). That way IronPython 2.6 is able to be  
compatible with Python 2.6. This logic might need duplicating in  
distutils (I haven't looked at how distutils works out where the  
user site-packages folder is), but it is a 'maintenance only' fix.


But it's still a change in semantics. Tossing this into 2.6 would  
mean that anyone who has worked around the current behaviour is  
going to have a busted install.


-Brett
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread Brett Cannon
On Fri, Oct 9, 2009 at 11:32, Michael Foord wrote:

> The *only* change in semantics I'm proposing is for users of IronPython 2.6
> which is not even at final release yet. CPython users would be unaffected.
>
>
Then why can't IronPython patch site.py to do what they want? I still feel
uncomfortable changing site.py for this in a micro release.


> Sorry for top-posting, mobile device.
>
>
Aahz was the most adamant hater of top-posting and he isn't subscribed to
python-dev anymore, so whatever.

-Brett




> Michael
>
>
> --
> http://www.ironpythoninaction.com
>
> On 9 Oct 2009, at 19:00, Brett Cannon  wrote:
>
>
>
> On Fri, Oct 9, 2009 at 04:53, Michael Foord < 
> [email protected]> wrote:
>
>> Christian Heimes wrote:
>>
>>> Michael Foord wrote:
>>>
>>>
 I really like this scheme. The important thing for IronPython is that we
 can get it into Python 2.6 (along with other fixes to make distutils
 compatible with IronPython - like not attempting to bytecode-compile when
 sys.dont_write_bytecode is True).


>>>
>>> I don't think my proposal will land into 2.6. The changes are too severe
>>> for a bug fix release.
>>>
>>>
>>
>> Right, certainly not adding umpteen new sys attributes. :-)
>>
>> The problem is that the alternative implementations run well behind
>> Python-trunk, indeed it doesn't really make sense for them to put a lot of
>> effort into implementing a version that is still in development. The result
>> is that they discover incompatibilites after a version has gone into 'bugfix
>> only' mode.
>>
>> Whilst the fix you have described (add information to sys that is used by
>> site.py and distutils) is ideal it can only go into 2.7. I would *still*
>> like to see a fix in 2.6 - even if it is simple logic in site.py using
>> sys.platform (if sys.platform == 'cli'; elif sys.platform == 'java' etc).
>> That way IronPython 2.6 is able to be compatible with Python 2.6. This logic
>> might need duplicating in distutils (I haven't looked at how distutils works
>> out where the user site-packages folder is), but it is a 'maintenance only'
>> fix.
>>
>
> But it's still a change in semantics. Tossing this into 2.6 would mean that
> anyone who has worked around the current behaviour is going to have a busted
> install.
>
> -Brett
>
>
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 370 and IronPython

2009-10-09 Thread Frank Wierzbicki
On Thu, Oct 8, 2009 at 7:17 AM, Christian Heimes  wrote:
> CPython:
>  ~/.local/lib/python2.6/site-packages
>  %APPDATA%/Python/Python26
>
> IronPython:
>  ~/.local/lib/ironpython2.6/site-packages
>  %APPDATA%/Python/IronPython26
>
> Jython:
>  ~/.local/lib/jython2.6/site-packages
>  %APPDATA%/Python/Jython26
I like this too!  Jython has yet to seriously start on 2.6, but when
we do, would it help if Jython's sys.version grew a "Jython" in a
similar place as IronPython?  It would look something like:

>>>sys.version
'2.6.0 (Jython trunk:6849M, Oct 9 2009, 14:19:04) \n[Java HotSpot(TM)
Client VM (Apple Inc.)]'

-Frank
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] supporting multiple versions of one package in one environment is insane

2009-10-09 Thread Toshio Kuratomi
On Fri, Oct 09, 2009 at 05:29:28PM +0100, Chris Withers wrote:
> Toshio Kuratomi wrote:
>> On Fri, Oct 09, 2009 at 04:51:00PM +0100, Chris Withers wrote:
>>> Tarek Ziadé wrote:
 Virtualenv allows you to create an isolated environment to install
 some distribution without polluting the
 main site-packages, a bit like a user site-packages.
>>> ...as does buildout, and these are the right type of solution to 
>>> this  problem.
>>>
>> where type of problem == sandboxed environment, sure.  How do you solve the
>> problem for system packagers?
>
> What's to stop a system packager either just running the buildout on  
> install, or running the buildout at package build time and then just  
> dropping the resulting environment wherever they want to install  
> applications? Such a package would only be dependent on the right python 
> version at runtime...
>
If buildout creates sandboxed environments like virtualenv then everything
here applies:

https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

You can also listen/watch the talk I gave at PyCon which is linked from that
page:
http://pycon.blip.tv/file/2072580/

If it doesn't create sandboxed environments, then you'll need to give me
about a paragraph explaining what it does do.

-Toshio


pgpWXyj4ioW6W.pgp
Description: PGP signature
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] no consensus on static metadata

2009-10-09 Thread Georg Brandl
Chris Withers schrieb:
> Tarek Ziadé wrote:
>>> NB: There was no consensus on this "micro-language" on distutils-sig.
>>> While I suspect I don't care as none of my packages rely on anything other
>>> than other python packages, others did care, and I found the syntax Tarek
>>> was proposing pretty clumsy.
>> 
>> Please no bikeshedding again on the syntax. 
> 
> Tarek, throwing "bikeshedding" at an important syntactical discussion 
> like this is verging on rude. Please stop it and accept that the best 
> solution has not been found yet.

At some point a decision must be made, and it will be made by Tarek as the
"main packaging guy" (don't want to throw "dictator" around again).  For
syntax, there often is no such thing as "the best solution".

Georg

-- 
Thus spake the Lord: Thou shalt indent with four spaces. No more, no less.
Four shall be the number of spaces thou shalt indent, and the number of thy
indenting shall be four. Eight shalt thou not indent, nor either indent thou
two, excepting that thou then proceed to four. Tabs are right out.

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


Re: [Python-Dev] BDFL pronouncement?

2009-10-09 Thread Georg Brandl
Chris Withers schrieb:
> Guido van Rossum wrote:
>> I'm saying that I don't expect setuptools 0.7 to appear before Tarek's
>> Distribute is mature and in widespread use. IOW I support Tarek's fork
>> and suggest nobody hold their breath waiting for setuptools 0.7.
> 
> Well, if this was the BDFL pronouncement that a lot of people have taken 
> it to be, does that allow Martin von Lewis to give the keys to 
> http://pypi.python.org/pypi/setuptools to the "distribute" developers, 
> so we can get on and use the original "setuptools" name without all the 
> confusion and hackery needed to make "distribute" work?

That's absurd.  There's a certain area where Guido can make pronouncements,
but third-party packages is not it.  Even if they're hosted on python.org
infrastructure.

Georg

-- 
Thus spake the Lord: Thou shalt indent with four spaces. No more, no less.
Four shall be the number of spaces thou shalt indent, and the number of thy
indenting shall be four. Eight shalt thou not indent, nor either indent thou
two, excepting that thou then proceed to four. Tabs are right out.

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


Re: [Python-Dev] BDFL pronouncement?

2009-10-09 Thread Guido van Rossum
On Fri, Oct 9, 2009 at 1:50 PM, Georg Brandl  wrote:
> Chris Withers schrieb:
>> Guido van Rossum wrote:
>>> I'm saying that I don't expect setuptools 0.7 to appear before Tarek's
>>> Distribute is mature and in widespread use. IOW I support Tarek's fork
>>> and suggest nobody hold their breath waiting for setuptools 0.7.
>>
>> Well, if this was the BDFL pronouncement that a lot of people have taken
>> it to be, does that allow Martin von Lewis to give the keys to
>> http://pypi.python.org/pypi/setuptools to the "distribute" developers,
>> so we can get on and use the original "setuptools" name without all the
>> confusion and hackery needed to make "distribute" work?
>
> That's absurd.  There's a certain area where Guido can make pronouncements,
> but third-party packages is not it.  Even if they're hosted on python.org
> infrastructure.

Right.

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] BDFL pronouncement?

2009-10-09 Thread C. Titus Brown
On Fri, Oct 09, 2009 at 01:56:42PM -0700, Guido van Rossum wrote:
> On Fri, Oct 9, 2009 at 1:50 PM, Georg Brandl  wrote:
> > Chris Withers schrieb:
> >> Guido van Rossum wrote:
> >>> I'm saying that I don't expect setuptools 0.7 to appear before Tarek's
> >>> Distribute is mature and in widespread use. IOW I support Tarek's fork
> >>> and suggest nobody hold their breath waiting for setuptools 0.7.
> >>
> >> Well, if this was the BDFL pronouncement that a lot of people have taken
> >> it to be, does that allow Martin von Lewis to give the keys to
> >> http://pypi.python.org/pypi/setuptools to the "distribute" developers,
> >> so we can get on and use the original "setuptools" name without all the
> >> confusion and hackery needed to make "distribute" work?
> >
> > That's absurd. ?There's a certain area where Guido can make pronouncements,
> > but third-party packages is not it. ?Even if they're hosted on python.org
> > infrastructure.
> 
> Right.

Is that a pronouncement?

:)

"GvR, the self-limiting BDFL."

--titus
-- 
C. Titus Brown, [email protected]
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Howto handle multilib conflict?

2009-10-09 Thread Neal Becker
Just received:
https://bugzilla.redhat.com/show_bug.cgi?id=528237

yum install libotf-devel.i586 libotf-devel.x86_64

yields:

Transaction Check Error:
  file /usr/bin/libotf-config from install of libotf-devel-0.9.8-2.fc11.i586
conflicts with file from package libotf-devel-0.9.8-2.fc11.x86_64
  file /usr/share/doc/libotf-devel-0.9.8/example/Makefile from install of
libotf-devel-0.9.8-2.fc11.i586 conflicts with file from package
libotf-devel-0.9.8-2.fc11.x86_64

What is the recommended way to resolve this?

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


Re: [Python-Dev] Howto handle multilib conflict?

2009-10-09 Thread Neal Becker
Sorry, sent to wrong list!  Please ignore.

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


Re: [Python-Dev] BDFL pronouncement?

2009-10-09 Thread skip

>> That's absurd.  There's a certain area where Guido can make
>> pronouncements, but third-party packages is not it.  Even if they're
>> hosted on python.org infrastructure.

Guido> Right.

Now if you were the un-BDFL you could step in here. ;-)

This whole topic seems to have a lot of people fairly agitated, so clearly
it's important to a significant subset of the Python development community.
Might I suggest taking this off python-dev for awhile though?  I seem to
recall a similar suggestion a couple days ago to take it to distutils-sig or
python-ideas, but that seems to have been ignored.)  I mostly tuned the
entire thread out until I saw that Guido had joined in the fray (sort of).
Maybe since I don't distribute a lot of Python packages it's not as
important to me.

Let me know when you've solved the problem.  I trust you.

Skip
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Christian Heimes
Fellow Python developers!

In the light of our recent discussion about implementation specific
information and user site directory I like to start a new PEP. Much to
my regret I wasn't able to contribute to Python core development over
the past months. I hope I can find some free time over the next weeks.

Before I start with the PEP I like to reach consensus over the goal.
Alternative implementations of our beloved programming languages are
becoming more important every day. Although IronPython, Jython and PyPy
are trying hard to get as compatible to CPython as possible there are
numerous reasons for conditional code. General Python unit tests vs.
CPython specific unit tests are one reasons, implementation specific
module search paths are another. At the moment Python has no easy way to
inspect the implementation besides some code in the platform module.

I'm proposing two new attributes in the sys module: sys.implementation
and sys.userdirsuffix.

sys.implementation
--

(Proposed by Nick, MAL and others.)

sys.implementation is a PyStructSequence that contains various
information about the current implementation. Some fields are required
to be present on every implementation. Implementations may choose to add
additional fields as they see fit. Some fields like compiler are useful
for introspection and are already part of sys.version. I like to include
them for the sake of completeness.

id (required):
  lower case identifier, for example "cpython", "ironpython", "jython",
"pypy"

name (required):
  mixed case name of the implementation, for example "CPython",
"IronPython", "Jython", "PyPy"

platform (required):
  platform or language of the implementation, for example "C", ".NET",
"Java"

runtime (required):
  lower case runtime library of the implementation, for example "libc",
"msvcrt90", "java6", ".net"

compiler (required):
  verbose name of the compiler, for example "GCC 4.3.3", "Java
HotSpot(TM) Client VM (Apple Inc.)", "Mono JIT compiler version 2.0.1"

...


sys.userdirsuffix
-

sys.userdirsuffix is an implementation and platform specific string that
is used to construct the path for the user site directory as explained
in PEP 370. The string contains the implementation name as well as the
version number of Python.

Examples:
  python2.6 (CPython, Unix)
  Python26 (CPython, Windows)
  ironpython2.6 (IronPython, Unix)
  IronPython26 (IronPython, Windows)
  ...


Comments?

Christian

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


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Dino Viehland
Christian wrote:
> sys.implementation is a PyStructSequence that contains various
> information about the current implementation. Some fields are required
> to be present on every implementation. Implementations may choose to
> add
> additional fields as they see fit. Some fields like compiler are useful
> for introspection and are already part of sys.version. I like to
> include
> them for the sake of completeness.

Given that this is all about establishing some common ground between
implementations I would propose not using a CPython specific term
here such as PyStructSequence :)  The Python docs seem to use structseq
for sys.float_info.

> compiler (required):
>   verbose name of the compiler, for example "GCC 4.3.3", "Java
> HotSpot(TM) Client VM (Apple Inc.)", "Mono JIT compiler version 2.0.1"

What's the value of this attribute?  The main reason I ask is there's
no way that I know of to determine the JIT being used in .NET.  We could
of course fill in some dummy value here for IronPython but I'm also not 
sure why anyone would use this.

Otherwise it looks good to me.

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


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Benjamin Peterson
2009/10/9 Christian Heimes :
> Fellow Python developers!
>
> In the light of our recent discussion about implementation specific
> information and user site directory I like to start a new PEP. Much to
> my regret I wasn't able to contribute to Python core development over
> the past months. I hope I can find some free time over the next weeks.

Glad to have you back!

>
> Before I start with the PEP I like to reach consensus over the goal.
> Alternative implementations of our beloved programming languages are
> becoming more important every day. Although IronPython, Jython and PyPy
> are trying hard to get as compatible to CPython as possible there are
> numerous reasons for conditional code. General Python unit tests vs.
> CPython specific unit tests are one reasons, implementation specific
> module search paths are another. At the moment Python has no easy way to
> inspect the implementation besides some code in the platform module.
>
> I'm proposing two new attributes in the sys module: sys.implementation
> and sys.userdirsuffix.

Overall, +1.

>
> sys.implementation
> --
>
> (Proposed by Nick, MAL and others.)
>
> sys.implementation is a PyStructSequence that contains various
> information about the current implementation. Some fields are required
> to be present on every implementation. Implementations may choose to add
> additional fields as they see fit. Some fields like compiler are useful
> for introspection and are already part of sys.version. I like to include
> them for the sake of completeness.

Can we generate sys.version from sys.implementation then?

>
> id (required):
>  lower case identifier, for example "cpython", "ironpython", "jython",
> "pypy"
>
> name (required):
>  mixed case name of the implementation, for example "CPython",
> "IronPython", "Jython", "PyPy"
>
> platform (required):
>  platform or language of the implementation, for example "C", ".NET",
> "Java"
>
> runtime (required):
>  lower case runtime library of the implementation, for example "libc",
> "msvcrt90", "java6", ".net"
>
> compiler (required):
>  verbose name of the compiler, for example "GCC 4.3.3", "Java
> HotSpot(TM) Client VM (Apple Inc.)", "Mono JIT compiler version 2.0.1"
>
> ...
>
>
> sys.userdirsuffix
> -

Why not site.userdirsuffix?


-- 
Regards,
Benjamin
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Christian Heimes
Benjamin Peterson wrote:
>> sys.implementation is a PyStructSequence that contains various
>> information about the current implementation. Some fields are required
>> to be present on every implementation. Implementations may choose to add
>> additional fields as they see fit. Some fields like compiler are useful
>> for introspection and are already part of sys.version. I like to include
>> them for the sake of completeness.
> 
> Can we generate sys.version from sys.implementation then?

sys.version is created by Py_GetVersion() which uses Py_GetCompiler()
for the compiler information:

PyOS_snprintf(version, sizeof(version), "%.80s (%.80s) %.80s",
  PY_VERSION, Py_GetBuildInfo(), Py_GetCompiler());

For CPython the compiler attribute should be set to the return value of
Py_GetCompiler().

>> sys.userdirsuffix
>> -
> 
> Why not site.userdirsuffix?

Because all implementations of Python like to use the same, unpatched
site module. The sys module is different for every implementation. It's
more convenient to have an attribute on the sys module that can be
filled by each implementation. I could also add a lookup table for all
known implementations to the site module. But what about unknown or new
implementations? They would have to wait until we add a new entry for
them. The sys.userdirsuffix is more flexible and future prove.

Christian
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] eggs now mandatory for pypi?

2009-10-09 Thread Martin v. Löwis
> I know that the issue tracker for PyPI is (still) on SF, but
> development appear to happen elsewhere and I can't find any
> contact information on the PyPI web pages.

PyPI discussion takes place mostly on catalog-sig.

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


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Benjamin Peterson
2009/10/9 Christian Heimes :
> Benjamin Peterson wrote:
>>> sys.userdirsuffix
>>> -
>>
>> Why not site.userdirsuffix?
>
> Because all implementations of Python like to use the same, unpatched
> site module. The sys module is different for every implementation. It's
> more convenient to have an attribute on the sys module that can be
> filled by each implementation. I could also add a lookup table for all
> known implementations to the site module. But what about unknown or new
> implementations? They would have to wait until we add a new entry for
> them. The sys.userdirsuffix is more flexible and future prove.

I think we should make a semi-private (public to the stdlib) module
like _sys or _implementation part of the Python VM API. Then, instead
of stuffing everything into sys, we can provide this information in
modules where it belongs.



-- 
Regards,
Benjamin
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Martin v. Löwis
> Given that this is all about establishing some common ground between
> implementations I would propose not using a CPython specific term
> here such as PyStructSequence :)  The Python docs seem to use structseq
> for sys.float_info.

Also, why does it have to be a sequence in the first place? Wouldn't
a plain object with named attributes be good enough?

>> compiler (required):
>>   verbose name of the compiler, for example "GCC 4.3.3", "Java
>> HotSpot(TM) Client VM (Apple Inc.)", "Mono JIT compiler version 2.0.1"
> 
> What's the value of this attribute?  The main reason I ask is there's
> no way that I know of to determine the JIT being used in .NET.  We could
> of course fill in some dummy value here for IronPython but I'm also not 
> sure why anyone would use this.

Also, why is it the name of the JIT compiler, and not the name of the
source language compiler?

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


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Martin v. Löwis
> sys.implementation is a PyStructSequence that contains various
> information about the current implementation. Some fields are required
> to be present on every implementation.

I think it is important to confirm in advance that all the
implementations listed below agree to implement the PEP "soonish" after
it's adopted. "Required" sounds like a strong term - however, if an
implementation chooses not to implement the PEP, it can do whatever it
wants, including omission of required fields.

> id (required):
>   lower case identifier, for example "cpython", "ironpython", "jython",
> "pypy"

Doing some bike-shedding: I'd like to not use "cpython" as the name of
the python.org implementation. This term, I believe, was coined around
JPython, somehow making the implementation language the primary means
of distinction. However, there may be alternative implementations
written in C (e.g. unladen swallow), or otherwise be "C based" (e.g.
pypy).

So I propose that the python.org version is identified as "python".

> name (required):
>   mixed case name of the implementation, for example "CPython",
> "IronPython", "Jython", "PyPy"

Likewise; alternatively "python.org".

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


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Christian Heimes
Martin v. Löwis wrote:
>> Given that this is all about establishing some common ground between
>> implementations I would propose not using a CPython specific term
>> here such as PyStructSequence :)  The Python docs seem to use structseq
>> for sys.float_info.
> 
> Also, why does it have to be a sequence in the first place? Wouldn't
> a plain object with named attributes be good enough?

Any object with attributes is good enough. For CPython a structseq
provides the necessary feature of a read only object with attributes. I
figured out it's the easiest way to archive the goal without creating a
new class.

> 
>>> compiler (required):
>>>   verbose name of the compiler, for example "GCC 4.3.3", "Java
>>> HotSpot(TM) Client VM (Apple Inc.)", "Mono JIT compiler version 2.0.1"
>> What's the value of this attribute?  The main reason I ask is there's
>> no way that I know of to determine the JIT being used in .NET.  We could
>> of course fill in some dummy value here for IronPython but I'm also not 
>> sure why anyone would use this.
> 
> Also, why is it the name of the JIT compiler, and not the name of the
> source language compiler?

The term "source language compiler" describes the intent of the field
perfectly. Thanks Martin! I was merely guessing what the compiler name
may look like on Jython.

Christian
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Greg Ewing

Martin v. Löwis wrote:


So I propose that the python.org version is identified as "python".


But then we won't have a generic term for the language
itself, independent of any implementation.

The "c" in cpython doesn't necessarily have to refer
to the implementation language. Maybe it stands for
"classic python". :-)

--
Greg
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Christian Heimes
Martin v. Löwis wrote:
>> sys.implementation is a PyStructSequence that contains various
>> information about the current implementation. Some fields are required
>> to be present on every implementation.
> 
> I think it is important to confirm in advance that all the
> implementations listed below agree to implement the PEP "soonish" after
> it's adopted. "Required" sounds like a strong term - however, if an
> implementation chooses not to implement the PEP, it can do whatever it
> wants, including omission of required fields.

Please let me rephrase my suggestion.

If an implementation wants implemented the PEP it is required to provide
a well defined set of attributes.

Of course I'm open for any suggestions regarding names, specification
and content of the attribues.

> Doing some bike-shedding: I'd like to not use "cpython" as the name of
> the python.org implementation. This term, I believe, was coined around
> JPython, somehow making the implementation language the primary means
> of distinction. However, there may be alternative implementations
> written in C (e.g. unladen swallow), or otherwise be "C based" (e.g.
> pypy).
> 
> So I propose that the python.org version is identified as "python".

CPython is a well established term that is widely used to distinguish
between multiple implementations of Python as a language. On the one
hand the python.org implementation was the first one. It founded the
language and made it popular. On the other hand it may look arrogant
from the perspective of the other implementors if we choose to use
"python" as the identifier for the python.org implementation. In my
opinion we should let Guido decide about the identifier before we have
another bike-shedding war. ;-)

>> name (required):
>>   mixed case name of the implementation, for example "CPython",
>> "IronPython", "Jython", "PyPy"
> 
> Likewise; alternatively "python.org".

Interesting suggestion. Guido?

Christian
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Christian Heimes
Dino Viehland wrote:
> Given that this is all about establishing some common ground between
> implementations I would propose not using a CPython specific term
> here such as PyStructSequence :)  The Python docs seem to use structseq
> for sys.float_info.

You got me! :)

>> compiler (required):
>>   verbose name of the compiler, for example "GCC 4.3.3", "Java
>> HotSpot(TM) Client VM (Apple Inc.)", "Mono JIT compiler version 2.0.1"
> 
> What's the value of this attribute?  The main reason I ask is there's
> no way that I know of to determine the JIT being used in .NET.  We could
> of course fill in some dummy value here for IronPython but I'm also not 
> sure why anyone would use this.

Martin has already answered both points to my satisfaction. Do you agree
with him?

Christian
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Dino Viehland
Christian wrote:
> 
> Martin has already answered both points to my satisfaction. Do you
> agree with him?

Sure, source level makes more sense - so we'd have "csc" or "gmcs" if
compiled with Mono (assuming there's some way to do that...).

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


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Christian Heimes
Benjamin Peterson wrote:
> I think we should make a semi-private (public to the stdlib) module
> like _sys or _implementation part of the Python VM API. Then, instead
> of stuffing everything into sys, we can provide this information in
> modules where it belongs.


That's an interesting counter proposal. Your idea requires an additional
import that I try to avoid. Looking at memory and performance, an
additional module that is imported anyway isn't better. In my humble
opinion the implementation information belongs into the sys module
anyway. A new module just for the user site suffix seems unnecessary.

Christian
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Benjamin Peterson
2009/10/9 Christian Heimes :
> Benjamin Peterson wrote:
>> I think we should make a semi-private (public to the stdlib) module
>> like _sys or _implementation part of the Python VM API. Then, instead
>> of stuffing everything into sys, we can provide this information in
>> modules where it belongs.
>
>
> That's an interesting counter proposal. Your idea requires an additional
> import that I try to avoid. Looking at memory and performance, an
> additional module that is imported anyway isn't better. In my humble
> opinion the implementation information belongs into the sys module
> anyway. A new module just for the user site suffix seems unnecessary.

But we want to hide that this is an implementation detail from the
user. Having a new module just for this attribute might seem like
overkill, but I hope that we could use it for more things in the
future. Besides, if _sys is a builtin module, importing it will not
add much overhead.

I forgot to ask before: Does this deprecate platform.python_implementation()?


-- 
Regards,
Benjamin
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Brett Cannon
On Fri, Oct 9, 2009 at 18:14, Benjamin Peterson  wrote:

> 2009/10/9 Christian Heimes :
> > Benjamin Peterson wrote:
> >> I think we should make a semi-private (public to the stdlib) module
> >> like _sys or _implementation part of the Python VM API. Then, instead
> >> of stuffing everything into sys, we can provide this information in
> >> modules where it belongs.
> >
> >
> > That's an interesting counter proposal. Your idea requires an additional
> > import that I try to avoid. Looking at memory and performance, an
> > additional module that is imported anyway isn't better. In my humble
> > opinion the implementation information belongs into the sys module
> > anyway. A new module just for the user site suffix seems unnecessary.
>
> But we want to hide that this is an implementation detail from the
> user. Having a new module just for this attribute might seem like
> overkill, but I hope that we could use it for more things in the
> future.


To also address Christian's import worry, this new module could contain
everything needed to start the interpreter, much like _warnings does
compared to warnings.

But I honestly don't see why this doesn't belong in sys; it has to do with
the system environment which is the interpreter. Yes, some things currently
in sys could possibly be put elsewhere (e.g. the exception stuff could be in
'exceptions'), but I don't think sys is that much of an odd collection of
code. Without having a desire to eventually clean up the sys module (which I
am not proposing as I know that will never fly) I don't see this as being
worth it.



> Besides, if _sys is a builtin module, importing it will not
> add much overhead.
>

Well, that's assuming the other interpreters makes it built-in. Otherwise
it's only a CPython/python.org perk.


>
> I forgot to ask before: Does this deprecate
> platform.python_implementation()?


 Probably should.

-Brett
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP about sys.implementation and implementation specific user site directory

2009-10-09 Thread Benjamin Peterson
2009/10/9 Brett Cannon :
> But I honestly don't see why this doesn't belong in sys; it has to do with
> the system environment which is the interpreter. Yes, some things currently
> in sys could possibly be put elsewhere (e.g. the exception stuff could be in
> 'exceptions'), but I don't think sys is that much of an odd collection of
> code. Without having a desire to eventually clean up the sys module (which I
> am not proposing as I know that will never fly) I don't see this as being
> worth it.

That doesn't mean we have to make it more dirty. usersiteprefix is
used exclusively by site.py to load user modules; it has no function
in the interpreter core.

>> Besides, if _sys is a builtin module, importing it will not
>> add much overhead.
>
> Well, that's assuming the other interpreters makes it built-in. Otherwise
> it's only a CPython/python.org perk.

As far as I am aware, all current Python implementations can build in modules.


-- 
Regards,
Benjamin
___
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com