Re: [Python-Dev] Fwd: Removal of GIL through refcounting removal.

2008-11-03 Thread Adam Olsen
On Sun, Nov 2, 2008 at 4:33 PM, Greg Ewing <[EMAIL PROTECTED]> wrote:
> Eric Smith wrote:
>
>> I'd gladly trade deterministic destruction (due to reference counting or
>> any other mechanism) for improved performance.
>
> Another thing to consider is that refcounting spreads out the
> time spent doing GC evenly over the execution of the program,
> so that you don't get pauses occurring at random times.
>
> Sometimes in games I've found that I had to disable cyclic
> GC in order to get smooth frame rates. With no refcounting
> I wouldn't have the option of doing that. I'd be disappointed
> if that meant I could no longer use Python for these kinds of
> games.

I consider realtime games to be an essential use case and will be
pursuing incremental GC with my experiments.


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


Re: [Python-Dev] file open in python interpreter

2008-11-03 Thread Benjamin Peterson
On Mon, Nov 3, 2008 at 1:04 AM, adrian golding <[EMAIL PROTECTED]> wrote:
> hi all, i am trying to find out where is the part of the code in the python
> interpreter that opens up the .py file and parses it. in particular, i am
> trying to find the file open command in that file.  I greped and i just want
> to make sure this is it: /Python-2.6/Parser/pgenmain.c
> i am intending to take a hash measurement of the .py file just before i open
> it to run the script.  is the above file the right place to call for the
> measurement before the file open function?

You want Parser/tokenizer.c.



-- 
Cheers,
Benjamin Peterson
"There's nothing quite as beautiful as an oboe... except a chicken
stuck in a vacuum cleaner."
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] file open in python interpreter

2008-11-03 Thread Benjamin Peterson
On Mon, Nov 3, 2008 at 7:25 AM, Benjamin Peterson
<[EMAIL PROTECTED]> wrote:
> On Mon, Nov 3, 2008 at 1:04 AM, adrian golding <[EMAIL PROTECTED]> wrote:
>> hi all, i am trying to find out where is the part of the code in the python
>> interpreter that opens up the .py file and parses it. in particular, i am
>> trying to find the file open command in that file.  I greped and i just want
>> to make sure this is it: /Python-2.6/Parser/pgenmain.c
>> i am intending to take a hash measurement of the .py file just before i open
>> it to run the script.  is the above file the right place to call for the
>> measurement before the file open function?
>
> You want Parser/tokenizer.c.

Sorry, that's not correct. opening of modules happens in
Python/import.c. There's also a case in Modules/main.c.

>
>
>
> --
> Cheers,
> Benjamin Peterson
> "There's nothing quite as beautiful as an oboe... except a chicken
> stuck in a vacuum cleaner."
>



-- 
Cheers,
Benjamin Peterson
"There's nothing quite as beautiful as an oboe... except a chicken
stuck in a vacuum cleaner."
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Using Cython for standard library?

2008-11-03 Thread Calvin Spealman
On Mon, Nov 3, 2008 at 6:29 AM, Gerhard Häring <[EMAIL PROTECTED]> wrote:
> Stefan Behnel wrote:
>>
>> Michael Foord wrote:
>>>
>>> Moving more C extensions to an implementation based on ctypes would be
>>> enormously useful for PyPy, IronPython and Jython, but ctypes is not yet
>>> as portable as Python itself which could be an issue (although one worth
>>> resolving).
>>
>> In the same line, moving more extensions to a high-level language like
>> Cython,
>> instead of writing them in straight C, would make a later switch to a
>> different environment a lot easier, as the extensions could be regenerated
>> with a modified Cython compiler (obviously minus some fixing of premature
>> optimisations and the like).
>
> Is using Cython for anything in Modules/ really an option? In my limited
> experiments with it, I did like it.
>
> But using it for Python standard library stuff doesn't look quite right to
> me:
>
> - Option 1: distribute Cython with Python and integrate into build process
> -- Ouch!

Can you be a bit more descriptive?

> - Option 2: only distribute generated source files
> -- developers still need to have Cython installed
> -- you have to trust Cython; who will really review the generated code?

Who reviews the machine code from gcc?

I would love to see the option to write the lower levels in something
other than C, but obviously any choice would have to be a good one.
Otherwise, we end up stuck or with lots of different languages all
being used and making understanding the full codebase harder. For
example, I've wondered if RPython would ever reach the point it could
be considered in the same way, but I don't think it would be wise to
consider both. So, the question I see isn't if Cython should be
allowed for standard library modules, but if the landscape of such
solutions is at a point that any of them is ready to be committed to.

-- 
Read my blog! I depend on your acceptance of my opinion! I am interesting!
http://techblog.ironfroggy.com/
Follow me if you're into that sort of thing: http://www.twitter.com/ironfroggy
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] file open in python interpreter

2008-11-03 Thread Nick Coghlan
Benjamin Peterson wrote:
> On Mon, Nov 3, 2008 at 7:25 AM, Benjamin Peterson
> <[EMAIL PROTECTED]> wrote:
>> On Mon, Nov 3, 2008 at 1:04 AM, adrian golding <[EMAIL PROTECTED]> wrote:
>>> hi all, i am trying to find out where is the part of the code in the python
>>> interpreter that opens up the .py file and parses it. in particular, i am
>>> trying to find the file open command in that file.  I greped and i just want
>>> to make sure this is it: /Python-2.6/Parser/pgenmain.c
>>> i am intending to take a hash measurement of the .py file just before i open
>>> it to run the script.  is the above file the right place to call for the
>>> measurement before the file open function?
>> You want Parser/tokenizer.c.
> 
> Sorry, that's not correct. opening of modules happens in
> Python/import.c. There's also a case in Modules/main.c.

And some indirect ones from runpy.py (via pkgutils) if you use the -m
switch, or are executing a zipfile or directory.

But for the specific case of an exact filename being provided on the
command line, then main.c is the one the original poster will want to
look at (line 567 to be exact).

Cheers,
Nick.

-- 
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Using Cython for standard library?

2008-11-03 Thread Gerhard Häring

Calvin Spealman wrote:

On Mon, Nov 3, 2008 at 6:29 AM, Gerhard Häring <[EMAIL PROTECTED]> wrote:

Stefan Behnel wrote:

Michael Foord wrote:

Moving more C extensions to an implementation based on ctypes would be
enormously useful for PyPy, IronPython and Jython, but ctypes is not yet
as portable as Python itself which could be an issue (although one worth
resolving).

In the same line, moving more extensions to a high-level language like
Cython,
instead of writing them in straight C, would make a later switch to a
different environment a lot easier, as the extensions could be regenerated
with a modified Cython compiler (obviously minus some fixing of premature
optimisations and the like).

Is using Cython for anything in Modules/ really an option? In my limited
experiments with it, I did like it.

But using it for Python standard library stuff doesn't look quite right to
me:

- Option 1: distribute Cython with Python and integrate into build process
-- Ouch!


Can you be a bit more descriptive?


Cython is still being worked on (intensively, it seems). Bundling it 
with Python means deciding on a particular version probably for an 
entire major release lifecycle (use Cython x.y.{newest} for Python 2.7, 
for example).



- Option 2: only distribute generated source files
-- developers still need to have Cython installed
-- you have to trust Cython; who will really review the generated code?


Who reviews the machine code from gcc?


That's comparing apples and eggs :-P But it may be that I'm a little 
paranoid here.



I would love to see the option to write the lower levels in something
other than C, 


Absolutely. That's why I tried to reimplement pysqlite in something 
easier to maintain than handwritten Python C API. There's a ctypes-based 
version in its Mercurial repository that's good enough to be used from 
PyPy now. And a started Cython-based one.



but obviously any choice would have to be a good one.
[...]  So, the question I see isn't if Cython should be
allowed for standard library modules, but if the landscape of such
solutions is at a point that any of them is ready to be committed to.


ACK.

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


Re: [Python-Dev] Using Cython for standard library?

2008-11-03 Thread skip
>>> - Option 2: only distribute generated source files
>>> -- developers still need to have Cython installed
>>> -- you have to trust Cython; who will really review the generated code?
>> 
>> Who reviews the machine code from gcc?

Gerhard> That's comparing apples and eggs :-P But it may be that I'm a
Gerhard> little paranoid here.

Agreed.  When Cython is as widely used as gcc and has as comprehensive a set
of test cases (who knows? it may well already be comprehensive enough) and
supports all the compilers which Python supports then we can probably skip
the output code review step.

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


[Python-Dev] Using Cython for standard library?

2008-11-03 Thread Gerhard Häring

Stefan Behnel wrote:

Michael Foord wrote:

Moving more C extensions to an implementation based on ctypes would be
enormously useful for PyPy, IronPython and Jython, but ctypes is not yet
as portable as Python itself which could be an issue (although one worth
resolving).


In the same line, moving more extensions to a high-level language like Cython,
instead of writing them in straight C, would make a later switch to a
different environment a lot easier, as the extensions could be regenerated
with a modified Cython compiler (obviously minus some fixing of premature
optimisations and the like).


Is using Cython for anything in Modules/ really an option? In my limited 
experiments with it, I did like it.


But using it for Python standard library stuff doesn't look quite right 
to me:


- Option 1: distribute Cython with Python and integrate into build process
-- Ouch!

- Option 2: only distribute generated source files
-- developers still need to have Cython installed
-- you have to trust Cython; who will really review the generated code?

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Barry Warsaw

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Nov 3, 2008, at 2:46 AM, Ralf Schmitt wrote:


On Mon, Nov 3, 2008 at 1:05 AM, Brett Cannon <[EMAIL PROTECTED]> wrote:

I have started the DVCS PEP which can be seen at
http://docs.google.com/Doc?id=dg7fctr4_40dvjkdg64 . Not much is there
beyond the rationale, usage scenarios I plan to use, and what other
sections I plan to write.



I think you really should not exclude any dvcs based on it's
implementation language.
I.e. requiring it being written in python for the sake of "eating your
own dogfood" is just a very weak argument. git is certainly missing
from your list.


Sticking with a dvcs implemented in Python makes the best sense,  
especially when you consider the plugin architecture.  When we  
selected a new tracker, we didn't make implementation in Python a  
requirement, but instead a high hurdle.  Meaning, if a tracker wasn't  
written in Python it had to be way better than those written in Python.


As for dvcs, I think git would have to show overwhelming advantage  
over bzr or hg to be considered.


- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSQ7emXEjvBPtnXfVAQLbogP/RKxjGVs1STW8ghF/99JeRv8fVhwrHQxw
d2WyeuOC4wfU1iicEsbjCgTIKQOKmlnzZ1EO/D9DYc565Vv/+pVGJjSMMCmxS0/V
w2MXhGUJp9RKjCZEbUKc6aVszvUIAmQNp1GGWTeEZqzaRm/srSJH3XMsyn4/xMjO
qdsl1sQgAj0=
=ejCl
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread laurent


On Mon, 2008-11-03 at 08:46 +0100, Ralf Schmitt wrote:
> On Mon, Nov 3, 2008 at 1:05 AM, Brett Cannon <[EMAIL PROTECTED]> wrote:
> > I have started the DVCS PEP which can be seen at
> > http://docs.google.com/Doc?id=dg7fctr4_40dvjkdg64 . Not much is there
> > beyond the rationale, usage scenarios I plan to use, and what other
> > sections I plan to write.
> >
> 
> I think you really should not exclude any dvcs based on it's
> implementation language.
> I.e. requiring it being written in python for the sake of "eating your
> own dogfood" is just a very weak argument.
>  git is certainly missing from your list.

It does certainly miss from the list, but the argument might be more
"favor your users"; call it nepotism if you like.

If I understand it clearly, it is not a requirement, but more a good
point.

If it does "taste like dog food" in places, then it might be easier to:
- make informed statements about what might be the reason (on an
implementation standpoint - regarding features, that's an other story)
- have the cook more receptive to comments



L.



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

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


[Python-Dev] Packaging the PyPI version of the SSL module for Debian

2008-11-03 Thread Bill Janssen
As some of you know, I've provided a PyPI version of the 2.6/3.x "ssl"
module, for use with older versions of Python.  I've received this request
to tweak it for Debian, and I thought I'd ask those of you who may have
already done it for advice on the various issues Cyril raises here.  I'm not
Debian-knowledgable, myself.

Bill

-- Forwarded message --
From: Cyril Brulebois <[EMAIL PROTECTED]>
Date: Mon, Jul 14, 2008 at 11:37 AM
Subject: Packaging (python-)ssl for Debian
To: [EMAIL PROTECTED]


Hi,

I've noticed the following Request For Packaging [1], and it turned out
that it was exactly what I was looking for (a real ssl module, not just
read/write on a socket). So I started packaging it for Debian, and here
are a few comments, and some points that I'd like you to address, so
that I can upload it into the archive.

 1. http://bugs.debian.org/453101


The main concern currently is the license, since "Python (MIT-like)" is
quite vague. One has no clue which Python version is concerned, since as
far as I can tell, there are at least 2.4.2 and 2.5.2 [2,3] out with
(slightly but still) different licenses. So, pointing to the precise
version would really help people. At least the URL to the license would
be needed, but it would be even better to include it into the source
package, so that there's no possible doubt, and so that one isn't
dependent from being online to actually read it.

 2. http://www.python.org/download/releases/2.4.2/license/
 3. http://www.python.org/download/releases/2.5.2/license/

I'd suggest including it in a LICENSE file, and then point to it using
something like "LICENSE: Python x.y.z (MIT-like), see LICENSE file".

It's then up to you to choose whether to state clearly in each file
"This file is licensed under the terms of the Python x.y.z license, see
LICENSE file." (which I encourage you to do), or to state at the very
beginning of this LICENSE file that "the whole (python-)ssl package is
licensed under the following terms (Python x.y.z license):" and then
quote your favourite license.


Also, you're listing the contributors in various places, PKG-INFO and
setup.py. That's nice, but it might be a better idea to point to a
single AUTHORS file, where you would keep a single list of the
contributors. It's not a problem per se, but you may want to consider
this.

Related to authorship is copyright assignment, and that one is a blocker
for the inclusion into Debian. Every file should include copyright
information so that one can know who is holding the copyrights on this
or that file. Having a very quick look, the following files would need
it: *.py, *.h, *.c. PKG-INFO could eventually list all copyright lines,
but I'm not sure it's a widely-used practice in the Python world, just
tell me ;-); the Makefile might deserve (c) info as well; MANIFEST and
*.pem files don't need it.

Just for the records, one specifies copyrights in the following manner:
 Copyright 2008 Some Author
 Copyright 2004, 2007 Another One
 Copyright 2004-2008 Yet Another One

"Copr." or "(c)" can be used instead of "Copyright". "(C)" can be added
(it's harmless) but has no legal meaning, so can't be used alone. No
need to list everyone having ever contributed a single patch, it's
sufficient to list people having done the real work and worthy
modifications to it. Adding people to copyright holders is usally a
matter of project policy.

If you don't feel like listing the copyright holders in PKG-INFO, you
could decide for using something like:
,---[ AUTHORS ]---
|
| Main developers:
|   Copyright 2004 John Doe
|   Copyright 2004-2008 Alice Wonderland
|
| Contributors:
|   Peter Pan
|   Foo Bar
|
`---

This way, you just have to do the following to keep your software
uptodate WRT legalese things:
 - Add/update a Copyright line at the top of .c/.h/… file when a
  significant modification is included.
 - Add/update the Copyright line in the AUTHORS file accordingly.
 - Or add/update the Contributors list if that doesn't warrant a
  Copyright line.

So that there's no need to update every file (like PKG-INFO and
setup.py), you only have to make them point to AUTHORS for authorship
information.


Once that is done, I should be able to upload it to Debian, where the
first upload will be double-check by ftpmasters, whose role is to make
sure that no obvious packaging error is made, but mainly to make sure
that the archive is kept OK from a legal point of view. That's why I'm
starting with this quite boring mail, and I'm sorry for that. :)


Mraw,
KiBi.

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkh7quoACgkQeGfVPHR5Nd1LQwCaAD艊�볁ᜆ뻈働�
2Y0AnitpaRf3zybMhNxstnDrKaJc8K3/
=eriZ
-END PGP SIGNATURE-
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkh7quoACgkQeGfVPHR5Nd1LQwCaA+/ySCStiNvMEXBr7IUM0ltE
2Y0AnitpaRf3zybMhNxstnDrKaJc8K3/
=eriZ
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@py

Re: [Python-Dev] hg branch gone?

2008-11-03 Thread Thomas Wouters
On Fri, Oct 31, 2008 at 11:25, Barry Warsaw <[EMAIL PROTECTED]> wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> On Oct 31, 2008, at 03:50 AM, Eric Smith wrote:
>
> >I posted this yesterday about using bzr:
> >
> > >I'd like to try it out, but the instructions on
> > > http://www.python.org/dev/bazaar/ say to get wget
> > > http://code.python.org/snapshots/python-bzr-snapshot.tar.bz2, which is
> > > a 404. Anyone know the actual URL?
>
> Looks like this is fixed now too.
>
> Aside: Now that Python 2.6 isn't on the trunk, we need to add a bzr mirror
> for
> python26-maint.


FWIW, I put one up this weekend, and it seems to be intact and OK.
(bzr+ssh://[EMAIL PROTECTED]/python/2.6/ or
http://code.python.org/python/2.6/ )

-- 
Thomas Wouters <[EMAIL PROTECTED]>

Hi! I'm a .signature virus! copy me into your .signature file to help me
spread!
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Using Cython for standard library?

2008-11-03 Thread Martin v. Löwis
>> - Option 1: distribute Cython with Python and integrate into build process
>> -- Ouch!
> 
> Can you be a bit more descriptive?

Gerhard's elaboration (of us creating a fork of Cython then) is
convincing; there is also the issue of changes to the API to consider.
When we change the API now, we have to find the 20..50 places that
need to get adjusted. If we change the API then, we need to change
the generator - which complicates the evolution. For a Cython outside
of Python, we might not be able to change the API at all.

In addition, there is also the bootstrapping problem. Cython imports
a number of builtin modules - if they are written in Cython, we have
the bootstrapping problem.

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


Re: [Python-Dev] Using Cython for standard library?

2008-11-03 Thread C. Titus Brown
-> I would love to see the option to write the lower levels in something
-> other than C, but obviously any choice would have to be a good one.
-> Otherwise, we end up stuck or with lots of different languages all
-> being used and making understanding the full codebase harder. For
-> example, I've wondered if RPython would ever reach the point it could
-> be considered in the same way, but I don't think it would be wise to
-> consider both. So, the question I see isn't if Cython should be
-> allowed for standard library modules, but if the landscape of such
-> solutions is at a point that any of them is ready to be committed to.

What is the situation twixt Pyrex and Cython?  As I understand it,
Cython is a non-backwards-compatible fork of Pyrex, forked for the usual
reasons [0].  Have many or most people switched to Cython, or is there
still a respectable community using Pyrex, or ...?

I'm involved in a project that depends on Pyrex and there was no clear
reason for us to switch to Cython.  I've also seen criticisms of
Cython's maturity level (which presumably also apply to Pyrex).  I'd be
interested in hearing about that...

...or is switching to Cython/Pyrex/foo a non-starter?

cheers,
--titus

[0] Which is to say: a variety of reasons, many of which are obviously
arguable, otherwise the Pyrex maintainer would have quit maintaining
Pyrex :).  But let's not go into them!
-- 
C. Titus Brown, [EMAIL PROTECTED]
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Brett Cannon
On Sun, Nov 2, 2008 at 17:08, Gustavo Niemeyer <[EMAIL PROTECTED]> wrote:
> Hi Brett,
>
>> At this point I am looking for any suggestions for fundamental usage
>> scenarios that I am missing from the PEP. If you think the few already
>> listed are missing some core part of a VCS, please let me know.
>
> As an initial disclaimer, I use bzr in my daily routine.  That said,
> I'm sending below a few mostly unbiased high-level ideas, just based
> on useful ways we explore the DVCS-aspect on our normal daily
> workflow.
>
> == Coordinated development with dependent features ==
>
> A variation on coordinated development, which is actually one of the
> main motivators for DVCS.  Branch A is evolving out of the mainline,
> and it depends on a feature that is on branch B which is also not yet
> integrated.  Parallel development of both should be nicely supported.
> I'm sure all DVCS will do that in a decent form, but figuring how this
> works may be instructive and worth mentioning.
>

Since I have never seen that come up during Python's development I am
going to leave it out. But I do see the benefit and how it might help
with future work.

> == Centralization of feature-specific development ==
>
> That's a curious one when we're talking about distributed development,
> isn't it? :-)   Think about the following scenario: 5 people working
> in parallel on a tricky feature which will take a while to get to the
> mainline.  Each developer works on a specific aspect of the feature
> for a few hours/days in their own branch, and then merges to and from
> what's considered as the feature-mainline.  In essence, the problem is
> that it's messy to just go towards the "everyone merges from everyone"
> route when working in a common problem.  We've found that being able
> to use an svn-like approach for the *feature* mainline (a branch that
> is shared by all defining the status quo) is a handy way to handle
> that.  I'm sure there are other approaches to solve the same problem,
> but it's interesting to consider what they are for each tool since in
> our experience the problem will show up eventually, and supporting it
> nicely makes a big difference on the outcome.
>

This one is covered already.

> == Attaching of history-carrying diffs ==
>
> This one may feel weird as well, and I'm guessing some people might
> react as "just send a URL to a branch".  In practice, it is handy many
> times to just attach something to the bug tracker, for instance.  This
> means that the "branch" is kept in the history of the bug.  Also, with
> something like this, someone external to the development process may
> very easily provide his changes in the bug or in a mail without having
> to set up any infrastructure/accounts/whatever at all to provide his
> branch.

As I mentioned in the doc, the first example allows for whatever the
DVCS does for diffs, whether that is a full-on branch or not.

>
>
> That's it for now.  If I can think of any other use cases from our
> routine that might serve as things to explore in such a comparison,
> I'll let you know.

Thanks, Gustavo!

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread C. Titus Brown
-> Sticking with a dvcs implemented in Python makes the best sense,  
-> especially when you consider the plugin architecture.  When we  
-> selected a new tracker, we didn't make implementation in Python a  
-> requirement, but instead a high hurdle.  Meaning, if a tracker wasn't  
-> written in Python it had to be way better than those written in Python.

I worry about the idea of hacking in any way, shape or form, on the
version control system used to maintain the Python source code.  I place
VCSes at the compiler- or OS-level of the toolchain, because you have
the option of fundamentally screwing up the entire project by playing
with them.

So from that perspective it's better to keep it *out* of Python to
remove the temptation to hack :)

-> As for dvcs, I think git would have to show overwhelming advantage  
-> over bzr or hg to be considered.

I personally have found git very, very powerful and good, albeit
difficult to learn.  It is guaranteed to scale (unless Python gets to be
significantly bigger and more active than Linux, at any rate) and it has
a large, very technically capable, and supported user community already.

I think there are reasons why git should be at least strongly
considered.

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Antoine Pitrou

Hi Brett,

Brett Cannon  python.org> writes:
> 
> I have started the DVCS PEP which can be seen at
> http://docs.google.com/Doc?id=dg7fctr4_40dvjkdg64 . Not much is there
> beyond the rationale, usage scenarios I plan to use, and what other
> sections I plan to write.

I'm not sure that's the kind of feedback you want, but it isn't clear what you
mean with "checkout". Is it just a working copy (then it would be better to use
this term)? Is it some kind of shallow clone containing only part of the
history? Or anything else?

Regards

Antoine.


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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Brett Cannon
On Mon, Nov 3, 2008 at 09:58, C. Titus Brown <[EMAIL PROTECTED]> wrote:
> -> Sticking with a dvcs implemented in Python makes the best sense,
> -> especially when you consider the plugin architecture.  When we
> -> selected a new tracker, we didn't make implementation in Python a
> -> requirement, but instead a high hurdle.  Meaning, if a tracker wasn't
> -> written in Python it had to be way better than those written in Python.
>
> I worry about the idea of hacking in any way, shape or form, on the
> version control system used to maintain the Python source code.  I place
> VCSes at the compiler- or OS-level of the toolchain, because you have
> the option of fundamentally screwing up the entire project by playing
> with them.
>
> So from that perspective it's better to keep it *out* of Python to
> remove the temptation to hack :)
>

I don't expect us to hack on the VCS itself. I am thinking more like
plug-ins commit hooks, etc.; the infrastructure around the VCS.

> -> As for dvcs, I think git would have to show overwhelming advantage
> -> over bzr or hg to be considered.
>
> I personally have found git very, very powerful and good, albeit
> difficult to learn

You can say that again. And that is a worry to me. Python gets patches
from people of all skill levels where ease of use for the VCS needs to
be considered. The Linux kernel probably doesn't get as many patches
from newbies as the barrier of entry is higher to contribute.

I have yet to have met anyone who thinks git is great while having
used another DVCS as extensively (and I mean I have never found
someone who has used two DVCSs extensively).

>.  It is guaranteed to scale (unless Python gets to be
> significantly bigger and more active than Linux, at any rate) and it has
> a large, very technically capable, and supported user community already.
>

I think any of the DVCSs will scale. But I will be taking some
performance numbers so scalability will be taken into consideration.

> I think there are reasons why git should be at least strongly
> considered.

Well, we will see, but as of right now my use of git has left a nasty
taste in my mouth that will take a lot of proverbial mouthwash to get
rid of and allow it to be considered in this PEP.

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Brett Cannon
On Mon, Nov 3, 2008 at 09:57, Antoine Pitrou <[EMAIL PROTECTED]> wrote:
>
> Hi Brett,
>
> Brett Cannon  python.org> writes:
>>
>> I have started the DVCS PEP which can be seen at
>> http://docs.google.com/Doc?id=dg7fctr4_40dvjkdg64 . Not much is there
>> beyond the rationale, usage scenarios I plan to use, and what other
>> sections I plan to write.
>
> I'm not sure that's the kind of feedback you want, but it isn't clear what you
> mean with "checkout". Is it just a working copy (then it would be better to 
> use
> this term)? Is it some kind of shallow clone containing only part of the
> history? Or anything else?
>

A working copy. That's why I mentioned Subversion as the example in
the definition. I have updated it.

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread C. Titus Brown
On Mon, Nov 03, 2008 at 10:05:15AM -0800, Brett Cannon wrote:
-> I have yet to have met anyone who thinks git is great while having
-> used another DVCS as extensively (and I mean I have never found
-> someone who has used two DVCSs extensively).

git is great!  I'm switching to it from darcs for all my future
projects.

(darcs, of course, is kind of a low bar: it has some scalability issues,
and it is feature-poor relative to hg and bzr in patch cherry-picking,
esp.)

:)

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Ralf Schmitt
On Mon, Nov 3, 2008 at 7:05 PM, Brett Cannon <[EMAIL PROTECTED]> wrote:
> I have yet to have met anyone who thinks git is great while having
> used another DVCS as extensively (and I mean I have never found
> someone who has used two DVCSs extensively).

I have used mercurial extensively (before having used git) and I think
git is great.
It gives you much more freedom to work with your source code than mercurial.

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Antoine Pitrou
Brett Cannon  python.org> writes:
> 
> At this point I am looking for any suggestions for fundamental usage
> scenarios that I am missing from the PEP. If you think the few already
> listed are missing some core part of a VCS, please let me know.

You might want to refine the "patch review" scenario with a variant using
Rietveld and its upload script.



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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Barry Warsaw

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Nov 3, 2008, at 12:58 PM, C. Titus Brown wrote:


-> Sticking with a dvcs implemented in Python makes the best sense,
-> especially when you consider the plugin architecture.  When we
-> selected a new tracker, we didn't make implementation in Python a
-> requirement, but instead a high hurdle.  Meaning, if a tracker  
wasn't
-> written in Python it had to be way better than those written in  
Python.


I worry about the idea of hacking in any way, shape or form, on the
version control system used to maintain the Python source code.  I  
place

VCSes at the compiler- or OS-level of the toolchain, because you have
the option of fundamentally screwing up the entire project by playing
with them.

So from that perspective it's better to keep it *out* of Python to
remove the temptation to hack :)


:)  But actually more interesting is whether we want to add plugins  
that assist Python dev workflow.  For example, let's say we wanted to  
have a 'fixes' command that automatically updated the Roundup tracker  
with the branch information.  I'd personally much rather write 10  
lines of Python to add such a plugin than any amount of C or Perl, or  
whatever else. :)



-> As for dvcs, I think git would have to show overwhelming advantage
-> over bzr or hg to be considered.

I personally have found git very, very powerful and good, albeit
difficult to learn.  It is guaranteed to scale (unless Python gets  
to be
significantly bigger and more active than Linux, at any rate) and it  
has
a large, very technically capable, and supported user community  
already.


I think there are reasons why git should be at least strongly
considered.


Powerful, scalable, active development and user community would  
certainly apply to the Python-based dvcses.


- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSQ9ERHEjvBPtnXfVAQLGEgP/VTjZLo4FJQ3oUGZp5eGHJdvkhOkmJPX+
bKhw09eoR6yuKbcRcPkqjqU9z8T4+gCdrOsiyNE98/Cr14xtAr2tYq2zEj0iFb/L
snjVaZuelrlzHV3V6avAs3n8ua+X/rb4tG3r7vc8djH4qeAFw3aMYqYDkodL3BoO
/x8NVlfPj7o=
=z3TI
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Thomas Wouters
On Mon, Nov 3, 2008 at 18:57, Brett Cannon <[EMAIL PROTECTED]> wrote:

> On Sun, Nov 2, 2008 at 17:08, Gustavo Niemeyer <[EMAIL PROTECTED]>
> wrote:
> > Hi Brett,
> >
> >> At this point I am looking for any suggestions for fundamental usage
> >> scenarios that I am missing from the PEP. If you think the few already
> >> listed are missing some core part of a VCS, please let me know.
> >
> > As an initial disclaimer, I use bzr in my daily routine.  That said,
> > I'm sending below a few mostly unbiased high-level ideas, just based
> > on useful ways we explore the DVCS-aspect on our normal daily
> > workflow.
> >
> > == Coordinated development with dependent features ==
> >
> > A variation on coordinated development, which is actually one of the
> > main motivators for DVCS.  Branch A is evolving out of the mainline,
> > and it depends on a feature that is on branch B which is also not yet
> > integrated.  Parallel development of both should be nicely supported.
> > I'm sure all DVCS will do that in a decent form, but figuring how this
> > works may be instructive and worth mentioning.
> >
>
> Since I have never seen that come up during Python's development I am
> going to leave it out. But I do see the benefit and how it might help
> with future work.


Euhm, wut? It hasn't come up during Python's development because Python is
being developed in a VCS with very limited branches :) I'm partial to VCS's
with proper branching (as you know) and I've been using that mode of
development for many years. I've done development and maintenance of
multi-developer projects using both the CVS/SVN nonbranching approach and
the typical DVCS branch-often approach using BitKeeper, Bazaar and Mercurial
(as well as the sort-of one-off-branch Perforce approach where you can
easily 'wrap' a single change but can't really do dependant changes) -- and
whenever possible I use the branch-often approach with dependant branches
all over the place, especially when working on large, complicated changes.
Building them up out of separate 'components' requires a little more
administration (you have to remember which branch to submit to) but it makes
debugging, piecemeal discussion and batchwise integration a *lot* easier.

-- 
Thomas Wouters <[EMAIL PROTECTED]>

Hi! I'm a .signature virus! copy me into your .signature file to help me
spread!
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Barry Warsaw

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Nov 3, 2008, at 1:13 PM, Ralf Schmitt wrote:


I have used mercurial extensively (before having used git) and I think
git is great.
It gives you much more freedom to work with your source code than  
mercurial.


Ralf, can you describe what you mean in more detail?

- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSQ9EnHEjvBPtnXfVAQLAQgP9HFGmvq3dq60oUryeiVXI2sgWQvUXbYzk
6Nhg796sPyGwzuO8PoLq6CvxNzqvah25KMznjOxx0MpMzhSKEgJPJwxkBLpIYJUy
Enz3JrLt+r3do0pNLvgkAz9gENh90QLWt1amVvvt2c8ahua2hGpxPN4Y0YUFbeIf
bbxP7bcvD+U=
=aPaJ
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Eduardo O. Padoan
On Mon, Nov 3, 2008 at 4:34 PM, Barry Warsaw <[EMAIL PROTECTED]> wrote:
> :)  But actually more interesting is whether we want to add plugins that
> assist Python dev workflow.  For example, let's say we wanted to have a
> 'fixes' command that automatically updated the Roundup tracker with the
> branch information.  I'd personally much rather write 10 lines of Python to
> add such a plugin than any amount of C or Perl, or whatever else. :)

(Which, btw, is already supported by the "--fixes" option on bzr's commit :)

just-giving-my-R$0.02-ly yours,

-- 
Eduardo de Oliveira Padoan
http://djangopeople.net/edcrypt/
"Distrust those in whom the desire to punish is strong." -- Goethe,
Nietzsche, Dostoevsky
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Benjamin Peterson
On Mon, Nov 3, 2008 at 12:41 PM, Eduardo O. Padoan
<[EMAIL PROTECTED]> wrote:
> On Mon, Nov 3, 2008 at 4:34 PM, Barry Warsaw <[EMAIL PROTECTED]> wrote:
>> :)  But actually more interesting is whether we want to add plugins that
>> assist Python dev workflow.  For example, let's say we wanted to have a
>> 'fixes' command that automatically updated the Roundup tracker with the
>> branch information.  I'd personally much rather write 10 lines of Python to
>> add such a plugin than any amount of C or Perl, or whatever else. :)
>
> (Which, btw, is already supported by the "--fixes" option on bzr's commit :)

The --fixes option allows you to note where a bug is fixed in your
repo. I think what Barry is envisioning is a tool that would
automatically close the issue on Roundup.



-- 
Cheers,
Benjamin Peterson
"There's nothing quite as beautiful as an oboe... except a chicken
stuck in a vacuum cleaner."
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Jesse Noller
On Mon, Nov 3, 2008 at 1:05 PM, Brett Cannon <[EMAIL PROTECTED]> wrote:
> On Mon, Nov 3, 2008 at 09:58, C. Titus Brown <[EMAIL PROTECTED]> wrote:
>> -> Sticking with a dvcs implemented in Python makes the best sense,
>> -> especially when you consider the plugin architecture.  When we
>> -> selected a new tracker, we didn't make implementation in Python a
>> -> requirement, but instead a high hurdle.  Meaning, if a tracker wasn't
>> -> written in Python it had to be way better than those written in Python.
>>
>> I worry about the idea of hacking in any way, shape or form, on the
>> version control system used to maintain the Python source code.  I place
>> VCSes at the compiler- or OS-level of the toolchain, because you have
>> the option of fundamentally screwing up the entire project by playing
>> with them.
>>
>> So from that perspective it's better to keep it *out* of Python to
>> remove the temptation to hack :)
>>
>
> I don't expect us to hack on the VCS itself. I am thinking more like
> plug-ins commit hooks, etc.; the infrastructure around the VCS.
>
>> -> As for dvcs, I think git would have to show overwhelming advantage
>> -> over bzr or hg to be considered.
>>
>> I personally have found git very, very powerful and good, albeit
>> difficult to learn
>
> You can say that again. And that is a worry to me. Python gets patches
> from people of all skill levels where ease of use for the VCS needs to
> be considered. The Linux kernel probably doesn't get as many patches
> from newbies as the barrier of entry is higher to contribute.
>
> I have yet to have met anyone who thinks git is great while having
> used another DVCS as extensively (and I mean I have never found
> someone who has used two DVCSs extensively).
>
>>.  It is guaranteed to scale (unless Python gets to be
>> significantly bigger and more active than Linux, at any rate) and it has
>> a large, very technically capable, and supported user community already.
>>
>
> I think any of the DVCSs will scale. But I will be taking some
> performance numbers so scalability will be taken into consideration.
>
>> I think there are reasons why git should be at least strongly
>> considered.
>
> Well, we will see, but as of right now my use of git has left a nasty
> taste in my mouth that will take a lot of proverbial mouthwash to get
> rid of and allow it to be considered in this PEP.
>

I don't see how git can be considered given poor windows support -
compilation on OS/X can be a bear too.

And I echo the need/want to be able to customize the workflow and
integration with the tracker/etc with something a bit more flexible.
The bzr plugin system is nice.

Also the ability to completely nuke the local-work-copies commit
history ("cleaning it up") worries me, but I'm also paranoid.

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Cosmin Stejerean
On Mon, Nov 3, 2008 at 12:34 PM, Barry Warsaw <[EMAIL PROTECTED]> wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> On Nov 3, 2008, at 12:58 PM, C. Titus Brown wrote:
>
>  -> Sticking with a dvcs implemented in Python makes the best sense,
>> -> especially when you consider the plugin architecture.  When we
>> -> selected a new tracker, we didn't make implementation in Python a
>> -> requirement, but instead a high hurdle.  Meaning, if a tracker wasn't
>> -> written in Python it had to be way better than those written in Python.
>>
>> I worry about the idea of hacking in any way, shape or form, on the
>> version control system used to maintain the Python source code.  I place
>> VCSes at the compiler- or OS-level of the toolchain, because you have
>> the option of fundamentally screwing up the entire project by playing
>> with them.
>>
>> So from that perspective it's better to keep it *out* of Python to
>> remove the temptation to hack :)
>>
>
> :)  But actually more interesting is whether we want to add plugins that
> assist Python dev workflow.  For example, let's say we wanted to have a
> 'fixes' command that automatically updated the Roundup tracker with the
> branch information.  I'd personally much rather write 10 lines of Python to
> add such a plugin than any amount of C or Perl, or whatever else. :)
>


There is no reason you can't develop such a tool on top of git using Python.
In the true spirit of Unix command line utilities you can write tools that
combine or extend the functionality of existing tools in whatever language
you feel comfortable. For example take a look at the repo tool used by
Android to interact with the git repository.
http://source.android.com/download

I've never felt the need to add plugins to my version control system and
have to learn it's API. I've been satisfied with creating a collection of
python scripts or shell scripts to add whatever functionality I needed.

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread İsmail Dönmez
Hi,

On Mon, Nov 3, 2008 at 20:45, Jesse Noller <[EMAIL PROTECTED]> wrote:
[...]
> I don't see how git can be considered given poor windows support -
> compilation on OS/X can be a bear too.

I use git on Linux/Mac/Windows day to day, see

http://code.google.com/p/git-osx-installer/
http://code.google.com/p/msysgit/

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


Re: [Python-Dev] Fwd: Removal of GIL through refcounting removal.

2008-11-03 Thread Josiah Carlson
On Sun, Nov 2, 2008 at 3:51 PM, <[EMAIL PROTECTED]> wrote:

>
>Antoine> I think it is important to remind that the GIL doesn't prevent
>Antoine> (almost) true multithreading. The only thing it prevents is
>Antoine> full use of multi-CPU resources in a single process.
>
> I believe everyone here knows that.  I believe what most people are
> clamoring for is to make "full use of their multi-CPU resources in a single
> process".
>

Which is, arguably, silly.  As we've seen in the last 2 months with Chrome,
multiple processes for a single "program" is actually a pretty good idea.
 With the multiprocessing module in the standard library offering a
threading-like interface, people no longer have any excuses for not fully
exploiting their multiple cores in Python.

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Eduardo O. Padoan
On Mon, Nov 3, 2008 at 4:43 PM, Benjamin Peterson
<[EMAIL PROTECTED]> wrote:
> On Mon, Nov 3, 2008 at 12:41 PM, Eduardo O. Padoan
> <[EMAIL PROTECTED]> wrote:
>> On Mon, Nov 3, 2008 at 4:34 PM, Barry Warsaw <[EMAIL PROTECTED]> wrote:
>>> :)  But actually more interesting is whether we want to add plugins that
>>> assist Python dev workflow.  For example, let's say we wanted to have a
>>> 'fixes' command that automatically updated the Roundup tracker with the
>>> branch information.  I'd personally much rather write 10 lines of Python to
>>> add such a plugin than any amount of C or Perl, or whatever else. :)
>>
>> (Which, btw, is already supported by the "--fixes" option on bzr's commit :)
>
> The --fixes option allows you to note where a bug is fixed in your
> repo. I think what Barry is envisioning is a tool that would
> automatically close the issue on Roundup.

Ouch, sure. I agree, it should be easy to do with a plugin.
I couldn't dedicate enough yet to write a plugin, but as far as I have
seen, the bzr API is quite pythonic.


> --
> Cheers,
> Benjamin Peterson
> "There's nothing quite as beautiful as an oboe... except a chicken
> stuck in a vacuum cleaner."
>



-- 
Eduardo de Oliveira Padoan
http://djangopeople.net/edcrypt/
"Distrust those in whom the desire to punish is strong." -- Goethe,
Nietzsche, Dostoevsky
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Fwd: Removal of GIL through refcounting removal.

2008-11-03 Thread Curt Hagenlocher
On Mon, Nov 3, 2008 at 11:50 AM, Josiah Carlson <[EMAIL PROTECTED]>wrote:

> On Sun, Nov 2, 2008 at 3:51 PM, <[EMAIL PROTECTED]> wrote:
>
>>
>>Antoine> I think it is important to remind that the GIL doesn't prevent
>>Antoine> (almost) true multithreading. The only thing it prevents is
>>Antoine> full use of multi-CPU resources in a single process.
>>
>> I believe everyone here knows that.  I believe what most people are
>> clamoring for is to make "full use of their multi-CPU resources in a
>> single
>> process".
>>
>
> Which is, arguably, silly.  As we've seen in the last 2 months with Chrome,
> multiple processes for a single "program" is actually a pretty good idea.
>  With the multiprocessing module in the standard library offering a
> threading-like interface, people no longer have any excuses for not fully
> exploiting their multiple cores in Python.
>

There is no shortage of algorithms (such as matrix multiplication) that are
parallelizable but not particularly good candidates for an IPC-based
multiprocessing paradigm.

--
Curt Hagenlocher
[EMAIL PROTECTED]
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Brett Cannon
On Sun, Nov 2, 2008 at 19:03, Benjamin Peterson
<[EMAIL PROTECTED]> wrote:
> On Sun, Nov 2, 2008 at 6:05 PM, Brett Cannon <[EMAIL PROTECTED]> wrote:
>> I have started the DVCS PEP which can be seen at
>> http://docs.google.com/Doc?id=dg7fctr4_40dvjkdg64 . Not much is there
>> beyond the rationale, usage scenarios I plan to use, and what other
>> sections I plan to write.
>>
>> At this point I am looking for any suggestions for fundamental usage
>> scenarios that I am missing from the PEP. If you think the few already
>> listed are missing some core part of a VCS, please let me know.
>
> I think one very important requirement of Python's VCS is advanced
> merging support. The trunk and py3k are very special branches because
> a commit in one should not necessarily find its way into the other. To
> that end, I think it's critical to have svnmerge.py-like blocking
> (preferably with unblocking, too) and fine cherry-picking of
> revisions.
>

Add the blocking to the backport scenario.

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


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Benjamin Peterson
On Mon, Nov 3, 2008 at 11:56 AM, Paul Miller <[EMAIL PROTECTED]> wrote:
> I've read some of the past discussion about including GMP into the
> python core and understand the reasons for not doing so.  Rather than
> that, what about patching Python's long implementation to use GMP if
> it's available, and the default implementation if not?  Are there any
> philosophical or technical objections to this?  If not, I would consider
> drafting a patch.

The main objection is that GMP is licensed under LGPL which I believe
conflicts with Python's very open license. Also, there would
incompatibilities between versions of Python that had GMP enabled and
those that didn't with regards to floating points.

>
> Thanks,
>
> Paul




-- 
Cheers,
Benjamin Peterson
"There's nothing quite as beautiful as an oboe... except a chicken
stuck in a vacuum cleaner."
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Paul Miller
I've read some of the past discussion about including GMP into the
python core and understand the reasons for not doing so.  Rather than
that, what about patching Python's long implementation to use GMP if
it's available, and the default implementation if not?  Are there any
philosophical or technical objections to this?  If not, I would consider
drafting a patch.

Thanks,

Paul

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Paul Moore
2008/11/3 İsmail Dönmez <[EMAIL PROTECTED]>:
> On Mon, Nov 3, 2008 at 20:45, Jesse Noller <[EMAIL PROTECTED]> wrote:
> [...]
>> I don't see how git can be considered given poor windows support -
>> compilation on OS/X can be a bear too.

I would say that strong support of all of Python's key platforms would
be a requirement (sorry, I haven't had time to read the PEP yet to see
if it already says this). That means Unix (specifically, Linux and
OS/X, and probably a few other Unix variants) and Windows.

>
> I use git on Linux/Mac/Windows day to day, see
>
> http://code.google.com/p/git-osx-installer/
> http://code.google.com/p/msysgit/

I find the fact that msysgit is a separate project, rather than a part
of core git, is a significant point. Personally, I have dabbled with
git on Windows and it certainly doesn't feel as well-supported as
Bazaar or Mercurial. It's certainly getting closer, but I don't think
even the Git project themselves would say it's there yet (the Git
homepage points to msysgit for binaries, and that page explicitly says
that Windows is only "officially" supported under cygwin). (I could go
on, but I won't - suffice it to say that git doesn't yet feel "native"
on Windows).

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Gustavo Niemeyer
> Since I have never seen that come up during Python's development I am
> going to leave it out. But I do see the benefit and how it might help
> with future work.

Of course, that's entirely up to you.  But it strikes me as an odd
approach to the selection of scenarios for a tool whose intention is
precisely to support new usage scenarios.

> As I mentioned in the doc, the first example allows for whatever the
> DVCS does for diffs, whether that is a full-on branch or not.

Are you looking for new scenarios or for the validation of your document? :-)

I'm talking about history-carrying diffs which can be attached and
sent via mail, not about viewing plain diffs, which every VCS tool in
the world can do since version 0.0.

Anyway, I guess you already have what you want.  Good luck picking the
right choice!

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


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Victor Stinner
Hi,

Le Monday 03 November 2008 18:56:37 Paul Miller, vous avez écrit :
> I've read some of the past discussion about including GMP into the
> python core and understand the reasons for not doing so.

Please, check this issue: http://bugs.python.org/issue1814

I patched Python3 to use GMP because I thaugh that GMP is much faster than 
Python for integer computation. The "problem" is that GMP target are integers 
much bigger than 10**100. As I remember, GMP has a special hack for very 
small integer: integer which can be stored in one CPU word, but it's not 
enough to speed up Python.

With my last patch, with GMP, Python is 2% *slower*.

My patch can be improved, but I expected +20% to +100% to no -2% :-/

And there is also the license issue...

-- 
Victor Stinner aka haypo
http://www.haypocalc.com/blog/
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Fwd: Removal of GIL through refcounting removal.

2008-11-03 Thread skip

>> I believe everyone here knows that.  I believe what most people are
>> clamoring for is to make "full use of their multi-CPU resources in a
>> single process".

Josiah> Which is, arguably, silly.  As we've seen in the last 2 months
Josiah> with Chrome, multiple processes for a single "program" is
Josiah> actually a pretty good idea.

I have no idea what Chrome is.  Is it a CPU-intensive algorithm which can be
parallelized?

Josiah> With the multiprocessing module in the standard library offering
Josiah> a threading-like interface, people no longer have any excuses
Josiah> for not fully exploiting their multiple cores in Python.

Except for communication overhead caused by replacing shared memory with
I/O?

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


Re: [Python-Dev] Fwd: Removal of GIL through refcounting removal.

2008-11-03 Thread Matthieu Brucher
2008/11/3  <[EMAIL PROTECTED]>:
>
>>> I believe everyone here knows that.  I believe what most people are
>>> clamoring for is to make "full use of their multi-CPU resources in a
>>> single process".
>
>Josiah> Which is, arguably, silly.  As we've seen in the last 2 months
>Josiah> with Chrome, multiple processes for a single "program" is
>Josiah> actually a pretty good idea.
>
> I have no idea what Chrome is.  Is it a CPU-intensive algorithm which can be
> parallelized?

It's Google webbrowser ;)

Matthieu Brucher

>Josiah> With the multiprocessing module in the standard library offering
>Josiah> a threading-like interface, people no longer have any excuses
>Josiah> for not fully exploiting their multiple cores in Python.
>
> Except for communication overhead caused by replacing shared memory with
> I/O?
>
> Skip
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> http://mail.python.org/mailman/options/python-dev/matthieu.brucher%40gmail.com
>



-- 
Information System Engineer, Ph.D.
Website: http://matthieu-brucher.developpez.com/
Blogs: http://matt.eifelle.com and http://blog.developpez.com/?blog=92
LinkedIn: http://www.linkedin.com/in/matthieubrucher
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread skip

Benjamin> The main objection is that GMP is licensed under LGPL which I
Benjamin> believe conflicts with Python's very open license. 

If GMP itself isn't included with Python how can there be a licensing issue?

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


Re: [Python-Dev] hg branch gone?

2008-11-03 Thread Barry Warsaw

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Oct 31, 2008, at 6:28 AM, [EMAIL PROTECTED] wrote:



   Martin> I have now restored the original URL structure, and moved  
the

   Martin> loggerhead installation to

   Martin> http://code.python.org/loggerhead/

A couple nits.  Leaving off the trailing / yields a 404.


This should be fixed now via a RedirectPermanent.


 (No big deal
though).  More importantly, there seem to be no images, e.g.:

   http://code.python.org/static/images/ico_folder.gif

Looks like it should be

   http://code.python.org/loggerhead/static/images/ico_folder.gif


I think Martin fixed these; at least I don't see this problem any more.

- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSQ9ogHEjvBPtnXfVAQKSiAP/Y30HaPDs54GaeB1P+e2CIpQANUlsEm5d
ePdfPvSKKXbKGjlYI6jsHdT75oT2q0BVo5DDGN6YcU3oISIIZF6X9AP86LXCqLeI
FPU1JEsR+Deds3iALxvd2r306c9gzTFz3j30mjvNUF8HinTheE8lG3j0qCnYSVQI
aqClcXudv5s=
=Adh8
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] hg branch gone?

2008-11-03 Thread Barry Warsaw

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Nov 3, 2008, at 11:54 AM, Thomas Wouters wrote:

FWIW, I put one up this weekend, and it seems to be intact and OK.  
(bzr+ssh://[EMAIL PROTECTED]/python/2.6/ or http://code.python.org/python/2.6/ 
 )


Excellent, thanks!  This is getting mirrored with updates, right?

- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSQ9p2nEjvBPtnXfVAQJoVgP+JLJHK9FRK0xsLtiMSW2BrrnYuCjwhidX
yRdNK6oE/hiUKGCjO8G+IptqsDJl5MxFKYZ7RAhK9HjCsjoLW/aQc3zAJuwb+dyX
fowpwrBV1pPRTB2IP840ImEATfufb8Mwzo5H8G9k+dx1BTHjY4o5JLQXFREBUNuu
jUKSPMOr9NU=
=wur0
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] hg branch gone?

2008-11-03 Thread Martin v. Löwis
>>  (No big deal
>> though).  More importantly, there seem to be no images, e.g.:
> 
>>http://code.python.org/static/images/ico_folder.gif
> 
>> Looks like it should be
> 
>>http://code.python.org/loggerhead/static/images/ico_folder.gif
> 
> I think Martin fixed these; at least I don't see this problem any more.

Right - but only so through a --prefix option to serve-branches. If
you make it a reboot-safe service, be sure to copy this option.

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


Re: [Python-Dev] hg branch gone?

2008-11-03 Thread Barry Warsaw

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Nov 3, 2008, at 4:39 PM, Martin v. Löwis wrote:


(No big deal
though).  More importantly, there seem to be no images, e.g.:



  http://code.python.org/static/images/ico_folder.gif



Looks like it should be



  http://code.python.org/loggerhead/static/images/ico_folder.gif


I think Martin fixed these; at least I don't see this problem any  
more.


Right - but only so through a --prefix option to serve-branches. If
you make it a reboot-safe service, be sure to copy this option.


Will do, thanks.
- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSQ9w9HEjvBPtnXfVAQKaFwP/ZnHhz39R52yUFGc9vgJTISFXgTkXk9AS
CPeG+FGWuJVdAHHNdIZ7zv8s1Nbl4KoDnHzJdvL2AQjCspJjjibnh/ss39BlGxZe
Qq4FFsbKX59NWL0lbBAyKrHRBT2eX1EIbGgrBvGgNUSHRecoJC30UpIxz/DC/cur
xdSg7kK/jm8=
=cwwj
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Brett Cannon
On Mon, Nov 3, 2008 at 10:19, Antoine Pitrou <[EMAIL PROTECTED]> wrote:
> Brett Cannon  python.org> writes:
>>
>> At this point I am looking for any suggestions for fundamental usage
>> scenarios that I am missing from the PEP. If you think the few already
>> listed are missing some core part of a VCS, please let me know.
>
> You might want to refine the "patch review" scenario with a variant using
> Rietveld and its upload script.

Well, I don't want to propose new scenarios that are not widely used
yet. But I will cover support by patch review tools in the
Platform/Tools Support section. Thanks for the suggestion, Antoine.

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


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Martin v. Löwis
[EMAIL PROTECTED] wrote:
> Benjamin> The main objection is that GMP is licensed under LGPL which I
> Benjamin> believe conflicts with Python's very open license. 
> 
> If GMP itself isn't included with Python how can there be a licensing issue?

On Windows, the GMP binaries would be incorporated into pythonxy.dll.
This would force anybody providing a copy of pythonxy.dll to also
provide the sources of GMP.

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Brett Cannon
On Mon, Nov 3, 2008 at 10:35, Thomas Wouters <[EMAIL PROTECTED]> wrote:
>
>
> On Mon, Nov 3, 2008 at 18:57, Brett Cannon <[EMAIL PROTECTED]> wrote:
>>
>> On Sun, Nov 2, 2008 at 17:08, Gustavo Niemeyer <[EMAIL PROTECTED]>
>> wrote:
>> > Hi Brett,
>> >
>> >> At this point I am looking for any suggestions for fundamental usage
>> >> scenarios that I am missing from the PEP. If you think the few already
>> >> listed are missing some core part of a VCS, please let me know.
>> >
>> > As an initial disclaimer, I use bzr in my daily routine.  That said,
>> > I'm sending below a few mostly unbiased high-level ideas, just based
>> > on useful ways we explore the DVCS-aspect on our normal daily
>> > workflow.
>> >
>> > == Coordinated development with dependent features ==
>> >
>> > A variation on coordinated development, which is actually one of the
>> > main motivators for DVCS.  Branch A is evolving out of the mainline,
>> > and it depends on a feature that is on branch B which is also not yet
>> > integrated.  Parallel development of both should be nicely supported.
>> > I'm sure all DVCS will do that in a decent form, but figuring how this
>> > works may be instructive and worth mentioning.
>> >
>>
>> Since I have never seen that come up during Python's development I am
>> going to leave it out. But I do see the benefit and how it might help
>> with future work.
>
> Euhm, wut? It hasn't come up during Python's development because Python is
> being developed in a VCS with very limited branches :) I'm partial to VCS's
> with proper branching (as you know) and I've been using that mode of
> development for many years. I've done development and maintenance of
> multi-developer projects using both the CVS/SVN nonbranching approach and
> the typical DVCS branch-often approach using BitKeeper, Bazaar and Mercurial
> (as well as the sort-of one-off-branch Perforce approach where you can
> easily 'wrap' a single change but can't really do dependant changes) -- and
> whenever possible I use the branch-often approach with dependant branches
> all over the place, especially when working on large, complicated changes.
> Building them up out of separate 'components' requires a little more
> administration (you have to remember which branch to submit to) but it makes
> debugging, piecemeal discussion and batchwise integration a *lot* easier.
>

I know it isn't used because of what VCSs we have used, which is why I
have no experience with it and feel uncomfortable using it as a
necessary usage scenario to evaluate whether a DVCS is better than
svn, and if so which one.

But then again, having one scenario that shows svn's weakness directly
wouldn't hurt. I could see a scenario where I start to fix something
in branch A, realize that a deeper issue needs to be fixed, leading to
branch B, and then have branch A depend on branch B. Is that possible?
Or is injecting branch dependencies like that not workable? If it
doesn't work, then a branch A/B that a branch C is dependent on would
also work as a scenario (e.g. reworking the testing framework where
you are doing a bunch of different things at once that are culminating
in a single new testing branch that collects everything).

Those sound like what you are getting after?

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Brett Cannon
On Mon, Nov 3, 2008 at 11:57, Gustavo Niemeyer <[EMAIL PROTECTED]> wrote:
>> Since I have never seen that come up during Python's development I am
>> going to leave it out. But I do see the benefit and how it might help
>> with future work.
>
> Of course, that's entirely up to you.  But it strikes me as an odd
> approach to the selection of scenarios for a tool whose intention is
> precisely to support new usage scenarios.
>
>> As I mentioned in the doc, the first example allows for whatever the
>> DVCS does for diffs, whether that is a full-on branch or not.
>
> Are you looking for new scenarios or for the validation of your document? :-)
>

Both. First and foremost I am looking for any scenarios people are
using now for svn that I didn't cover. After that I can probably add
some DVCS-specific things. But the problem with that is my DVCS
experience is limited and thus I don't want to add a scenario that
seems whizbang cool but in real life is never used; premature
optimization and all that.

> I'm talking about history-carrying diffs which can be attached and
> sent via mail, not about viewing plain diffs, which every VCS tool in
> the world can do since version 0.0.
>

As I said, one of the scenarios already says patches can be whatever
the DVCS supports the best; plain diffs, branches, etc. And the
comments for that scenario will point out any perks from that feature.

As for the "via mail" feature, I use Gmail so it doesn't mean anything to me. =)

> Anyway, I guess you already have what you want.  Good luck picking the
> right choice!

Oh, there won't be a right choice (except in my mind), there will just
be the best choice that could be made based on the circumstances.
Working on the issue tracker taught me that lesson.

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


[Python-Dev] New "stage" field in the tracker

2008-11-03 Thread Brett Cannon
Martin added a new "stage" field in the tracker so that issues can now
be more clearly identified in terms of what is needed to move them
forward. For now it is probably best to continue to use both keywords
and stage values (i.e. the "patch" keyword is implied when the stage
of an issue goes beyond "needs patch" and the need for a "patch
review" is covered by the "commit review" stage). Once the use of the
stage gets far enough along we can discussed ditching the keywords.

Anyway, cheers to our first step in improving our workflow!

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Nick Coghlan
Brett Cannon wrote:
> But then again, having one scenario that shows svn's weakness directly
> wouldn't hurt. I could see a scenario where I start to fix something
> in branch A, realize that a deeper issue needs to be fixed, leading to
> branch B, and then have branch A depend on branch B. Is that possible?
> Or is injecting branch dependencies like that not workable? If it
> doesn't work, then a branch A/B that a branch C is dependent on would
> also work as a scenario (e.g. reworking the testing framework where
> you are doing a bunch of different things at once that are culminating
> in a single new testing branch that collects everything).
> 
> Those sound like what you are getting after?

Hmm, perhaps your concrete example of this could be a case where someone
was working on an object capabilities security model and then realised
they needed a more flexible implementation of the import system before
their security mechanism was going to work ;)

Cheers,
Nick.

-- 
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] hg branch gone?

2008-11-03 Thread Thomas Wouters
On Mon, Nov 3, 2008 at 22:15, Barry Warsaw <[EMAIL PROTECTED]> wrote:

> On Nov 3, 2008, at 11:54 AM, Thomas Wouters wrote:
>
>  FWIW, I put one up this weekend, and it seems to be intact and OK.
>> (bzr+ssh://[EMAIL PROTECTED]/python/2.6/ or
>> http://code.python.org/python/2.6/ )
>>
>
> Excellent, thanks!  This is getting mirrored with updates, right?
>

Exactly the same way 2.5, trunk and 3.0 are, yes.

-- 
Thomas Wouters <[EMAIL PROTECTED]>

Hi! I'm a .signature virus! copy me into your .signature file to help me
spread!
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Gregory P. Smith
On Mon, Nov 3, 2008 at 12:41 PM, Victor Stinner
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> Le Monday 03 November 2008 18:56:37 Paul Miller, vous avez écrit :
>> I've read some of the past discussion about including GMP into the
>> python core and understand the reasons for not doing so.
>
> Please, check this issue: http://bugs.python.org/issue1814
>
> I patched Python3 to use GMP because I thaugh that GMP is much faster than
> Python for integer computation. The "problem" is that GMP target are integers
> much bigger than 10**100. As I remember, GMP has a special hack for very
> small integer: integer which can be stored in one CPU word, but it's not
> enough to speed up Python.
>
> With my last patch, with GMP, Python is 2% *slower*.
>
> My patch can be improved, but I expected +20% to +100% to no -2% :-/

One optimization that could be done to the existing Python longobject
code is to allow it to use larger digits.  Currently it is hardcoded
to use 15bit digits.

The most common desktop+server CPUs in the world (x86) all support
efficient 32bit*32bit -> 64bit multiply so there is no good reason to
limit python itself to 15bit digits when on either x86 or x86_64.  30
or 31bit digits would be more efficient as more numbers would then be
a single digit shortcutting their computations and the number of
digits for others would be half.

The ability to use 15bit digits is good for other cpus but is wasteful
when the hardware supports more (32bit x86 and all 64bit archs).

>
> And there is also the license issue...
>
> --
> Victor Stinner aka haypo
> http://www.haypocalc.com/blog/
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> http://mail.python.org/mailman/options/python-dev/greg%40krypto.org
>
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] hg branch gone?

2008-11-03 Thread Barry Warsaw

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Nov 3, 2008, at 5:22 PM, Thomas Wouters wrote:


Exactly the same way 2.5, trunk and 3.0 are, yes.


Beauty, thanks.
- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSQ98J3EjvBPtnXfVAQLD0AQAhvDoJ85HtO0o/KxeU//kRjid7j0SVIJA
OaKnMA/om71Ft5733ZIJYE1jQ1+WFr8TZggiD5NG6d3Af8f8Q0Ep2ujBpOYjKhcQ
85DEmeY2WkoeYqMZXFhEa76BrrPHQtOzEzagRTGIvLnw3W5DbKzTawg8D4z4qmG3
vtQkzEg7Lfw=
=cGIL
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Thomas Wouters
On Mon, Nov 3, 2008 at 22:56, Brett Cannon <[EMAIL PROTECTED]> wrote:

> But then again, having one scenario that shows svn's weakness directly
> wouldn't hurt. I could see a scenario where I start to fix something
> in branch A, realize that a deeper issue needs to be fixed, leading to
> branch B, and then have branch A depend on branch B. Is that possible?
> Or is injecting branch dependencies like that not workable? If it
> doesn't work, then a branch A/B that a branch C is dependent on would
> also work as a scenario (e.g. reworking the testing framework where
> you are doing a bunch of different things at once that are culminating
> in a single new testing branch that collects everything).


Here's a real-life Python example: http://bugs.python.org/issue2292. I
actually developed that in two separate branches, one depending on the
other: one branch for *just* the changes to functioncalls, to generalize *-
and **-unpacking in that context, and one branch to add *- and **-unpacking
in other contexts, which was a much more contentious proposal. The division
means that the first part can be committed without the second part *without
any extra effort from anyone*. I wouldn't have to undo changes, I wouldn't
have to reapply diffs or do a painful manual merge were the first branch to
be merged into the trunk. It would be completely straightforward and
effortless.

Of course, that's just a small-scale example. I've done much larger of these
in the past, but not on Python. You can easily dream up more examples,
though: a branch for the gforth generated ceval loop, with separate branches
off of that branch with different approaches to the superinstructions. The
right one could be picked at a later time, or branches could be merged, or
they could all be omitted. The generated ceval loop could be backported to
2.7 without including the superinstructions that were merged into 3.0.

-- 
Thomas Wouters <[EMAIL PROTECTED]>

Hi! I'm a .signature virus! copy me into your .signature file to help me
spread!
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Gustavo Niemeyer
> Both. First and foremost I am looking for any scenarios people are
> using now for svn that I didn't cover. After that I can probably add
> some DVCS-specific things. But the problem with that is my DVCS
> experience is limited and thus I don't want to add a scenario that

So try to listen to people that actually use these tools and are
trying to help you.

> seems whizbang cool but in real life is never used; premature
> optimization and all that.

As I mentioned early in my mail, all the scenarios I described were
specifically meant to expose common situations that we go through in
our workflow.  I'm not picking weird things to try favoring any
specific tool, even because I believe all tools should support these
very basic desires.

> As I said, one of the scenarios already says patches can be whatever
> the DVCS supports the best; plain diffs, branches, etc. And the
> comments for that scenario will point out any perks from that feature.

"""
This scenario to meant to represent the steps required for a non-core
developer who has a one-off patch they want to create from a read-only
checkout.
"""

Ok, so would you mind to expand that to describe that the tool should
send the history of the "one-off patch", and what it means to not send
it?

Otherwise you're really comparing oranges and apples.  If I send you
"svn diff" or "bzr diff", you get a plain diff.  Merging this will not
carry the history of who made the chances, what were the incremental
steps, and will handle conflicts without context, which may be way
more boring to perform than when you actually have full history
information.  That's not the same as using "bzr send".

Again, that's a real world situation, not something I'm making up to
favor bzr.  I'm pretty sure hg should have something similar too (and
git does for sure).

> As for the "via mail" feature, I use Gmail so it doesn't mean anything to me. 
> =)

Please ask Tim to teach you how the "mail" word got in "Gmail".  ;-)

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Barry Warsaw

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Nov 3, 2008, at 4:56 PM, Brett Cannon wrote:


But then again, having one scenario that shows svn's weakness directly
wouldn't hurt. I could see a scenario where I start to fix something
in branch A, realize that a deeper issue needs to be fixed, leading to
branch B, and then have branch A depend on branch B. Is that possible?


This is something I do all the time with bzr.  A related workflow is  
one where you're developing several inter-related dependent branches.   
In those scenarios, I personally find Bazaar looms indispensable.  I'm  
told that bzr looms are similar to hg quilt.


Until I started using looms I had no idea of their power and  
transformative effect on my code development.  This is one of the  
problems of coming up with scenarios: you don't know what you're  
missing.



Or is injecting branch dependencies like that not workable? If it
doesn't work, then a branch A/B that a branch C is dependent on would
also work as a scenario (e.g. reworking the testing framework where
you are doing a bunch of different things at once that are culminating
in a single new testing branch that collects everything).

Those sound like what you are getting after?


Let me try to describe a scenario and see if it fits what you're  
looking for.


I'm fixing a bug in urllib2.py when I realize there's a lower-level  
bug in base64.py.  I'd like to cleanly suspend my work on urllib2.py,  
then "push my stack" to start working on the fix for base64.py.  Half  
way through that I realize there's also a bug in binascii that I need  
to fix.  I'd now like to "push my stack" once more to fix the binascii  
problem.


Now that binascii is fixed, I'd like to pop my stack to complete the  
base64 fix, but without losing all the changes I made to binascii.   
Similarly, when I've fixed base64, I want to retain those fixes and  
pop my stack back up to urllib2.


I've now got three related fixes.  Do I get each reviewed  
independently or together?  Do I land them independently or together?   
Can my dvcs help me manage all these inter-dependent branches?


For bzr, the answer is "yes" and my own workflow to handle this uses  
looms, which you can think of as a kind of "stacked branches"  
approach.  Each layer in the stack is called a "thread" and I can  
easily create new threads in the stack.  So I might approach the above  
scenario like so:


bzr branch trunk issue1234
cd issue1234
bzr loomify --nick trunk
bzr create-thread urllib2-fix
# hack hack hack, oops!  gotta fix the bug in base64
bzr commit -m'Fixes to urllib2 so far'
bzr down-thread
bzr create-thread base64-fix
# hack hack hack, oops!  gotta fix binascii
bzr commit -m'Fixes to base64 so far'
bzr down-thread
bzr create-thread binascii-fix
# hack hack hack.  ah, all is good
bzr commit -m'Fixes to binascii'
bzr up-thread
# At this point, all my binascii-fix changes are merged in
# resolve any conflicts that arose and commit, then finish
# hacking on base64
bzr commit -m'Fixes to base64'
bzr up-thread
# At this point all my binascii-fix and base64-fix changes
# are merged in.  resolve any conflicts that arose and commit
# then finish hacking on urllib2
bzr commit -m'Fixes to urllib2'

Here's what's even cooler.  Let say, while I was working on all this,  
someone landed a change to trunk that I want in my branch.  I can 'bzr  
down-thread' to the lowest thread (i.e. trunk), pull in those changes,  
and then using 'bzr up-thread' merge them into all the threads above.   
Then I go back to hacking.


There are all kinds of scenarios based on this one, and I hope the  
above makes sense.  It's things like this (and 'bzr shelve') which  
make using a dvcs like Bazaar so nice.


- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSQ+BNHEjvBPtnXfVAQLLrwP/aJuetZxYI0S0SvT5QXJG6wARI2K9vdc5
zpUMHofCkxAq4tv/2Ni7g46jUNTayH4A94sAUqjE0QPM3SFl22/TNjga4ZgaHdjt
7Ma9iX7+s5OJenvV0kd3ReN6KvcKQhcQZ+P4DkWBJu0KDxGptUk/WGer3aDdQNzV
jn88QaHpEBk=
=fPRR
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Barry Warsaw

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Nov 3, 2008, at 5:03 PM, Brett Cannon wrote:


As I said, one of the scenarios already says patches can be whatever
the DVCS supports the best; plain diffs, branches, etc. And the
comments for that scenario will point out any perks from that feature.


It's actually a profound improvement not to have to deal with  
traditional patch files as much.  The feel... dead somehow, compared  
to a live branch which can track changes to the trunk, etc.


As for the "via mail" feature, I use Gmail so it doesn't mean  
anything to me. =)


It should though.  In Bazaar, a bundle is essentially the revisions in  
your branch that are packaged to transport over RFC 2821 and 2822. :)   
That opens up some really cool abilities, such as sending a bundle to  
a buildbot or patch queue manager for automated testing.


- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSQ+CGXEjvBPtnXfVAQKOnAQAs/cr+g091KyjteQaY/quBBIJ53PUoilC
MLK9fNLz4jq0eDtl+Rw49rmAFmhKJQaJqx91dZszPEc4FyP9lZByqTbNoCLFhPJP
asmxWS263hjx8tXL+RfX+C0Atk9OWzy7j45oa3/J9aBui4ihyI5Yh8/9l8KiCude
6TajzeRcIWs=
=6euF
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Barry Warsaw

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Nov 3, 2008, at 5:39 PM, Thomas Wouters wrote:


Here's a real-life Python example: http://bugs.python.org/issue2292. I
actually developed that in two separate branches, one depending on the
other: one branch for *just* the changes to functioncalls, to  
generalize *-
and **-unpacking in that context, and one branch to add *- and **- 
unpacking
in other contexts, which was a much more contentious proposal. The  
division
means that the first part can be committed without the second part  
*without
any extra effort from anyone*. I wouldn't have to undo changes, I  
wouldn't
have to reapply diffs or do a painful manual merge were the first  
branch to

be merged into the trunk. It would be completely straightforward and
effortless.


Great example.  The looms scenario I posted earlier would be perfect  
for this.  I do this all the time with larger feature development.  I  
can have 4 or 5 threads in a typical loom, though I know of people who  
use many more.  It makes developing depending features actually  
manageable.


- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSQ+Cm3EjvBPtnXfVAQJkMwQAg3r/JFAOE3RlxbrtPl48QOyjS3PhN7xg
+wOoVz+FgLTkx2187xbSqBjy8K69uC3R3Y/1Foc7OmhUEtTGMfmStwoWdjB3f2zi
BOgYDPcEaDHC5opfDWtbWpYOJzVcfRJJxhAbevHlKeUSX0/bFd39UY58DXgwR9aI
BAjTj4Gt66U=
=nbTw
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Martin v. Löwis
> One optimization that could be done to the existing Python longobject
> code is to allow it to use larger digits.  Currently it is hardcoded
> to use 15bit digits.
> 
> The most common desktop+server CPUs in the world (x86) all support
> efficient 32bit*32bit -> 64bit multiply so there is no good reason to
> limit python itself to 15bit digits when on either x86 or x86_64.

Perhaps Tim Peters should also comment here - but if you can come up
with a patch that does that in a portable way, I would be in favor.
The challenge, ISTM, is to make it still compile on all systems
(regardless of how inefficient it might be on minor platforms).

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


[Python-Dev] XXX do we need a new policy?

2008-11-03 Thread Benjamin Peterson
Grepping through Python's sources tells me that we have over 2,000
"XXX" comments. The thing that irks me about them is that the have a
very slow rate of being resolved, since they usually act more as
"notes to self" rather than easily attainable tasks.

So, I propose that we adopt a policy similar to Twisted's: All "XXX"
comments must have an issue in the tracker and an accompanying link
with the source code. That way we'll have a forum for discussing the
changes and deciding whether they are reasonable enough to
implemented.

-- 
Cheers,
Benjamin Peterson
"There's nothing quite as beautiful as an oboe... except a chicken
stuck in a vacuum cleaner."
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] XXX do we need a new policy?

2008-11-03 Thread Guido van Rossum
On Mon, Nov 3, 2008 at 3:39 PM, Benjamin Peterson
<[EMAIL PROTECTED]> wrote:
> Grepping through Python's sources tells me that we have over 2,000
> "XXX" comments. The thing that irks me about them is that the have a
> very slow rate of being resolved, since they usually act more as
> "notes to self" rather than easily attainable tasks.
>
> So, I propose that we adopt a policy similar to Twisted's: All "XXX"
> comments must have an issue in the tracker and an accompanying link
> with the source code. That way we'll have a forum for discussing the
> changes and deciding whether they are reasonable enough to
> implemented.

That seems excessively draconian. Even at Google we don't have a rule
like that, and we're sure big on process and interlinked tools. If you
want to, you could add a different magic keyword, but personally, I
don't see XXX comments necessarily as "to be resolved" -- merely as
flags for someone perusing the code looking to change it or digging
for the cause of some problem to pay special attention.

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


Re: [Python-Dev] XXX do we need a new policy?

2008-11-03 Thread Barry Warsaw

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Nov 3, 2008, at 6:39 PM, Benjamin Peterson wrote:


Grepping through Python's sources tells me that we have over 2,000
"XXX" comments. The thing that irks me about them is that the have a
very slow rate of being resolved, since they usually act more as
"notes to self" rather than easily attainable tasks.

So, I propose that we adopt a policy similar to Twisted's: All "XXX"
comments must have an issue in the tracker and an accompanying link
with the source code. That way we'll have a forum for discussing the
changes and deciding whether they are reasonable enough to
implemented.


We have a very similar policy here at work.  Sadly I don't think it  
does much on actually resolving the issues.  XXX bugs tend to be  
pretty minor in the scheme of things and they're almost always lower  
on the priority list than everything else.


That being said, we recognize that XXX bugs incur "technical debt" and  
reducing that debt is something we're devoting Real Time to doing.


I see that Guido is not keen on the idea, and I'm not sure my  
observations help sway things one way or the other.  OTOH, it would be  
nice if at least we always add our own identifier (initials, nick,  
email address) and a date to the XXX so we at least know who was  
talking about what.


- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSQ+N8HEjvBPtnXfVAQLSPAP/ZKHOTaPxNPySfxPwGmbLSTXjSst+z4/f
1SkhkKjOq8/pjjftZW8n6AWb4WSIWXcyCPJ3FGOAXaP141px2yMfRQnXXbdyH6vQ
6sW12e4ZC2J8UPUyzOxiFJb5F8/HhmIMVifzV1vkEf60QYo9lCD614rBdiW30q9v
pWudrLQUMEM=
=1USW
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] XXX do we need a new policy?

2008-11-03 Thread Guido van Rossum
On Mon, Nov 3, 2008 at 3:49 PM, Barry Warsaw <[EMAIL PROTECTED]> wrote:
> On Nov 3, 2008, at 6:39 PM, Benjamin Peterson wrote:
>
>> Grepping through Python's sources tells me that we have over 2,000
>> "XXX" comments. The thing that irks me about them is that the have a
>> very slow rate of being resolved, since they usually act more as
>> "notes to self" rather than easily attainable tasks.
>>
>> So, I propose that we adopt a policy similar to Twisted's: All "XXX"
>> comments must have an issue in the tracker and an accompanying link
>> with the source code. That way we'll have a forum for discussing the
>> changes and deciding whether they are reasonable enough to
>> implemented.
>
> We have a very similar policy here at work.  Sadly I don't think it does
> much on actually resolving the issues.  XXX bugs tend to be pretty minor in
> the scheme of things and they're almost always lower on the priority list
> than everything else.
>
> That being said, we recognize that XXX bugs incur "technical debt" and
> reducing that debt is something we're devoting Real Time to doing.
>
> I see that Guido is not keen on the idea, and I'm not sure my observations
> help sway things one way or the other.  OTOH, it would be nice if at least
> we always add our own identifier (initials, nick, email address) and a date
> to the XXX so we at least know who was talking about what.

At Google we use TODO(): Blah, blah. I don't think ading a
date would help much but I wouldn't be opposed to this.

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


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread skip

Benjamin> The main objection is that GMP is licensed under LGPL which I
Benjamin> believe conflicts with Python's very open license.

>> If GMP itself isn't included with Python how can there be a licensing
>> issue?

Martin> On Windows, the GMP binaries would be incorporated into
Martin> pythonxy.dll.  This would force anybody providing a copy of
Martin> pythonxy.dll to also provide the sources of GMP.

As I understand it the proposal was to allow people to substitute GMP for
Python's long implementation.  Just deliver binaries with the Python long
version if you don't want to distribute the GMP source.  OTOH, it should be
no big deal to drop a zip archive of the GMP sources which correspond to the
code bound into the DLL.  OTOOH, doesn't Windows support dynamic linking?
Can't pythonxy.dll dynamically link to a gmpMN.dll?

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


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Thomas Wouters
On Tue, Nov 4, 2008 at 01:37, <[EMAIL PROTECTED]> wrote:

>
>Benjamin> The main objection is that GMP is licensed under LGPL which I
>Benjamin> believe conflicts with Python's very open license.
>
>>> If GMP itself isn't included with Python how can there be a licensing
>>> issue?
>
> Martin> On Windows, the GMP binaries would be incorporated into
>Martin> pythonxy.dll.  This would force anybody providing a copy of
>Martin> pythonxy.dll to also provide the sources of GMP.
>
> As I understand it the proposal was to allow people to substitute GMP for
> Python's long implementation.  Just deliver binaries with the Python long
> version if you don't want to distribute the GMP source.  OTOH, it should be
> no big deal to drop a zip archive of the GMP sources which correspond to
> the
> code bound into the DLL.  OTOOH, doesn't Windows support dynamic linking?
> Can't pythonxy.dll dynamically link to a gmpMN.dll?
>

Neither of those (shipping sources or dynamically linking to GMP) would
solve the LGPL issue. People who distribute that build of Python would still
be held by the LGPL -- such as shipping any sources that they embed that
Python into.

-- 
Thomas Wouters <[EMAIL PROTECTED]>

Hi! I'm a .signature virus! copy me into your .signature file to help me
spread!
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python2.5 _sre deepcopy regression?

2008-11-03 Thread Andrew McNamara
 I posted this week ago, but haven't seen any comments. Issue
416670 is probably the most relevent ticket.

The buggy changeset I mention, 38430 on the release24-maint branch is
one that had been forward and back-ported for a while. I haven't found
the motivation for that change, but it hasn't been applied to any version
of Python later than 2.4.

>In version of Python prior to 2.5, it would appear that deepcopying
>compiled regular expressions worked by accident:
>
>2.4:
>
>>>> copy.deepcopy(re.compile(''))
><_sre.SRE_Pattern object at 0xb7d53ef0>
>
>2.5:
>
>>>> copy.deepcopy(re.compile(''))
>Traceback (most recent call last):
>  File "", line 1, in 
>  File "/usr/lib/python2.5/copy.py", line 173, in deepcopy
>y = copier(memo)
>TypeError: cannot deepcopy this pattern object
>
>I say "by accident", since the SRE_Pattern object in 2.4 has
>a __deepcopy__ method which raises the "cannot deepcopy this pattern
>object" TypeError, however this method isn't found by copy.deepcopy()
>in 2.4, and copy.deepcopy() falls back to using the pickle logic.
>
>The _sre source has #ifdef-out support for __deepcopy__, issue 416670
>has the gory details:
>
>http://bugs.python.org/issue416670
>
>Changeset 38430 on the release24-maint branch introduced the changes
>that stopped SRE_Pattern.__deepcopy__ being found. r38430 was a patch
>forward ported from 2.3, but never ported to the trunk (probably a good
>thing, too).
>
>Thoughts?
-- 
Andrew McNamara, Senior Developer, Object Craft
http://www.object-craft.com.au/
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Stephen J. Turnbull
Thomas Wouters writes:

 > Neither of those (shipping sources or dynamically linking to GMP) would
 > solve the LGPL issue. People who distribute that build of Python would still
 > be held by the LGPL -- such as shipping any sources that they embed that
 > Python into.

No, that's exactly what the "L" in "LGPL" means.  You only have to
ship the sources to any object module (library or program) actually
containing GMP code, including any modifications you make to them.  So
if GMP is kept entirely in a separate library and you don't borrow any
code from it, the rest of your code is not affected by the LGPL.

This includes any marshalling code that does nothing but load the GMP
library and connect it up to Python's internal API; that need not be
LGPL unless you add it to the GMP library.

The "problem" with the LGPL is the administrative burden of tracking
which sources need to be distributed under what conditions, not that
it insinuates itself into your own code.

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


Re: [Python-Dev] Fwd: Removal of GIL through refcounting removal.

2008-11-03 Thread Josiah Carlson
On Mon, Nov 3, 2008 at 10:59 AM, Curt Hagenlocher <[EMAIL PROTECTED]>wrote:

> On Mon, Nov 3, 2008 at 11:50 AM, Josiah Carlson <[EMAIL PROTECTED]>wrote:
>
>> On Sun, Nov 2, 2008 at 3:51 PM, <[EMAIL PROTECTED]> wrote:
>>
>>>
>>>Antoine> I think it is important to remind that the GIL doesn't
>>> prevent
>>>Antoine> (almost) true multithreading. The only thing it prevents is
>>>Antoine> full use of multi-CPU resources in a single process.
>>>
>>> I believe everyone here knows that.  I believe what most people are
>>> clamoring for is to make "full use of their multi-CPU resources in a
>>> single
>>> process".
>>>
>>
>> Which is, arguably, silly.  As we've seen in the last 2 months with
>> Chrome, multiple processes for a single "program" is actually a pretty good
>> idea.  With the multiprocessing module in the standard library offering a
>> threading-like interface, people no longer have any excuses for not fully
>> exploiting their multiple cores in Python.
>>
>
> There is no shortage of algorithms (such as matrix multiplication) that are
> parallelizable but not particularly good candidates for an IPC-based
> multiprocessing paradigm.
>

Ahh, but those algorithms aren't going to be written in Python; they are
going to be written in C, and are going to manipulate memory directly.  With
such things, you can use standard Python threads, call into your C runtime,
and release the GIL.  Alternatively, you can use the mmap module to store
your data, shared across multiple processes, using the same direct-memory
access as you would with multiple threads and GIL release.

Also, most local-only communications primitives (named pipes, anonymous
pipes, unix domain sockets, ...) use zero/one copy implementations, so as
long as your RPC isn't slow, you can do pretty well even on the Python side
(especially if you pre-allocate your receive buffer, and fill in the data as
you receive it; this is pretty much what mutablebytes was created for, now
we just need a proper memoryview).

So again, I claim that not using multiple processes for your multi-core
machine in order to use your multiple cores to their full extent is silly.
 As an aside, Python array.array() instances have a char* and length, so if
you are careful, you can create an array.array object from an mmap pointer,
and get fairly decent performance even in Python with shared memory.
 Someone should probably look into allowing array.array() to take a
read/readwrite memoryview as an argument to support such things, as well as
allowing mmaps to be passed via multiprocessing (if they aren't already
supported).

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Stephen J. Turnbull
Jesse Noller writes:

 > I don't see how git can be considered given poor windows support -
 > compilation on OS/X can be a bear too.

I can't speak to the "poor Windows support", but I've been compiling
both in MacPorts (pretty much every MacPorts release, which is like
weekly) and from the kernel.org repo (intermittently, 1-3 months
apart) on Mac OS X since git 0.99 and the only trouble is with the
documentation (and the never-ending stream of bugs in port and/or the
Portfile, of course).  I doubt this is a problem on Mac OS X any more,
if it ever was.

 > Also the ability to completely nuke the local-work-copies commit
 > history ("cleaning it up") worries me, but I'm also paranoid.

bzr and hg both offer a similar feature.  They just make it less
convenient and possibly more dangerous to use (because the operation
that cleans up history also destroys it, where in git cleaning up
history creates garbage).  People who dislike merge turds will use it
and there is nothing you can really do about that.

git is at least as safe in this respect as any other dVCS, because it
allows you to get the unwanted history out of your face, but it then
becomes garbage remains in the repository until you actually do a
git-gc --prune.  It's easy to collect dangling heads and check whether
you need them.  Again, some people will throw them away, but there's
nothing you can do about that.  You don't have to throw away your own
history, though.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Brett Cannon
On Mon, Nov 3, 2008 at 14:58, Barry Warsaw <[EMAIL PROTECTED]> wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> On Nov 3, 2008, at 5:03 PM, Brett Cannon wrote:
>
>> As I said, one of the scenarios already says patches can be whatever
>> the DVCS supports the best; plain diffs, branches, etc. And the
>> comments for that scenario will point out any perks from that feature.
>
> It's actually a profound improvement not to have to deal with traditional
> patch files as much.  The feel... dead somehow, compared to a live branch
> which can track changes to the trunk, etc.
>

Which I am sure will be pointed out in the scenario. I just want some
file I can attach to an issue, period. After that the perks of what
that file contains in terms of history, etc., can be enumerated.

>> As for the "via mail" feature, I use Gmail so it doesn't mean anything to
>> me. =)
>
> It should though.  In Bazaar, a bundle is essentially the revisions in your
> branch that are packaged to transport over RFC 2821 and 2822. :)  That opens
> up some really cool abilities, such as sending a bundle to a buildbot or
> patch queue manager for automated testing.

But this just smells of premature optimization to me. For instance, as
of this exact moment Martin is basically the only person staying on
top of the tracker. He also is typically the buildbot person as well.
And this is not from a lack of trying to get help with the tracker
multiple times. It's just people just don't stick around, as you know.

Trying to expand our buildbot infrastructure to accept patches to test
out or some patch queue manager might be nice, but I want to be
realistic with what we have now. That's why I am not worrying about
this email feature; until I know that we will actually use it and have
the manpower to implement it I consider it a perk that might never be
used. It's all great to dream about the future and what could be, but
that is far beyond just trying to get us to switch to a DVCS and is
just icing on the cake.

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


Re: [Python-Dev] XXX do we need a new policy?

2008-11-03 Thread Benjamin Peterson
On Mon, Nov 3, 2008 at 6:04 PM, Guido van Rossum <[EMAIL PROTECTED]> wrote:
> On Mon, Nov 3, 2008 at 3:49 PM, Barry Warsaw <[EMAIL PROTECTED]> wrote:
>> On Nov 3, 2008, at 6:39 PM, Benjamin Peterson wrote:
>>
>>> Grepping through Python's sources tells me that we have over 2,000
>>> "XXX" comments. The thing that irks me about them is that the have a
>>> very slow rate of being resolved, since they usually act more as
>>> "notes to self" rather than easily attainable tasks.
>>>
>>> So, I propose that we adopt a policy similar to Twisted's: All "XXX"
>>> comments must have an issue in the tracker and an accompanying link
>>> with the source code. That way we'll have a forum for discussing the
>>> changes and deciding whether they are reasonable enough to
>>> implemented.
>>
>> We have a very similar policy here at work.  Sadly I don't think it does
>> much on actually resolving the issues.  XXX bugs tend to be pretty minor in
>> the scheme of things and they're almost always lower on the priority list
>> than everything else.
>>
>> That being said, we recognize that XXX bugs incur "technical debt" and
>> reducing that debt is something we're devoting Real Time to doing.
>>
>> I see that Guido is not keen on the idea, and I'm not sure my observations
>> help sway things one way or the other.  OTOH, it would be nice if at least
>> we always add our own identifier (initials, nick, email address) and a date
>> to the XXX so we at least know who was talking about what.
>
> At Google we use TODO(): Blah, blah. I don't think ading a
> date would help much but I wouldn't be opposed to this.

That reminds me of the other problem with XXX. They get out of date
without being removed. I've even seen an XXX comment followed by
another asking, "Is this still valid?".

You're probably right that adding a date would help much unless we
agreed to remove old comments with little value after a year or so.


-- 
Cheers,
Benjamin Peterson
"There's nothing quite as beautiful as an oboe... except a chicken
stuck in a vacuum cleaner."
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Brett Cannon
On Mon, Nov 3, 2008 at 17:59, Stephen J. Turnbull <[EMAIL PROTECTED]> wrote:
> Jesse Noller writes:
>
>  > I don't see how git can be considered given poor windows support -
>  > compilation on OS/X can be a bear too.
>
> I can't speak to the "poor Windows support", but I've been compiling
> both in MacPorts (pretty much every MacPorts release, which is like
> weekly) and from the kernel.org repo (intermittently, 1-3 months
> apart) on Mac OS X since git 0.99 and the only trouble is with the
> documentation (and the never-ending stream of bugs in port and/or the
> Portfile, of course).  I doubt this is a problem on Mac OS X any more,
> if it ever was.
>

Well, when I decided to compile git from scratch on OS X when Neil
posted the git mirror it took bloody forever thanks to the docs having
an insane build requirement.

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


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Tim Peters
[Gregory P. Smith]
>> One optimization that could be done to the existing Python longobject
>> code is to allow it to use larger digits.  Currently it is hardcoded
>> to use 15bit digits.
>>
>> The most common desktop+server CPUs in the world (x86) all support
>> efficient 32bit*32bit -> 64bit multiply so there is no good reason to
>> limit python itself to 15bit digits when on either x86 or x86_64.

[Martin v. Löwis]
> Perhaps Tim Peters should also comment here - but if you can come up
> with a patch that does that in a portable way, I would be in favor.
> The challenge, ISTM, is to make it still compile on all systems
> (regardless of how inefficient it might be on minor platforms).

Eh -- the strong points of Python's long implementation have always
been reliability and portability.  Both are greatly aided by sticking
to operations spellable in standard C89, and by avoiding
platform-specific trickery & #ifdef'ery.  So, no, I'm not keen on
this.  Note that while 32x32->64 multiply is supported by x86 HW, that
doesn't mean there's a uniform way to get at this HW capability across
C compilers.  In contrast, (at least) efficient HW 15x15->30 multiply
is universally spelled in C via "i*j" :-)

A similar gripe applies to schemes to replace the long implementation
by GMP (optionally or not):  it adds complexity to the code.  I like
GMP myself, but am happy using one of the Python GMP wrappers when I
/want/ GMP (as timings in other messages show, using GMP is a speed
loser before ints grow "really big").

Indeed, if I had it to do over again, I would balk even at adding
Karatsuba multiplication to Python (it added extra complexity with no
real payback, given that those who care about the speed of very long
int multiplication are far better off using a GMP wrapper anyway).

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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Brett Cannon
On Mon, Nov 3, 2008 at 14:38, Gustavo Niemeyer <[EMAIL PROTECTED]> wrote:
>> Both. First and foremost I am looking for any scenarios people are
>> using now for svn that I didn't cover. After that I can probably add
>> some DVCS-specific things. But the problem with that is my DVCS
>> experience is limited and thus I don't want to add a scenario that
>
> So try to listen to people that actually use these tools and are
> trying to help you.
>

I am and why I will add either Thomas' or Barry's scenario.

>> seems whizbang cool but in real life is never used; premature
>> optimization and all that.
>
> As I mentioned early in my mail, all the scenarios I described were
> specifically meant to expose common situations that we go through in
> our workflow.  I'm not picking weird things to try favoring any
> specific tool, even because I believe all tools should support these
> very basic desires.
>

I didn't think you were picking scenarios that were odd, but I am sure
you also have an IT staff to make sure your workflow can support all
of that (see my reply to Barry).

>> As I said, one of the scenarios already says patches can be whatever
>> the DVCS supports the best; plain diffs, branches, etc. And the
>> comments for that scenario will point out any perks from that feature.
>
> """
> This scenario to meant to represent the steps required for a non-core
> developer who has a one-off patch they want to create from a read-only
> checkout.
> """
>
> Ok, so would you mind to expand that to describe that the tool should
> send the history of the "one-off patch", and what it means to not send
> it?
>

"Send" as in automatically submit?

> Otherwise you're really comparing oranges and apples.  If I send you
> "svn diff" or "bzr diff", you get a plain diff.  Merging this will not
> carry the history of who made the chances, what were the incremental
> steps, and will handle conflicts without context, which may be way
> more boring to perform than when you actually have full history
> information.  That's not the same as using "bzr send".
>

Hey, if what ``bzr send`` generates can be uploaded to
bugs.python.org, then that is what will be listed in the scenario.

> Again, that's a real world situation, not something I'm making up to
> favor bzr.  I'm pretty sure hg should have something similar too (and
> git does for sure).
>
>> As for the "via mail" feature, I use Gmail so it doesn't mean anything to 
>> me. =)
>
> Please ask Tim to teach you how the "mail" word got in "Gmail".  ;-)

I have learned to ignore my uncle for years so it won't do much good. =)

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


Re: [Python-Dev] XXX do we need a new policy?

2008-11-03 Thread Guido van Rossum
On Mon, Nov 3, 2008 at 7:35 PM, Benjamin Peterson
<[EMAIL PROTECTED]> wrote:
> On Mon, Nov 3, 2008 at 6:04 PM, Guido van Rossum <[EMAIL PROTECTED]> wrote:
>> On Mon, Nov 3, 2008 at 3:49 PM, Barry Warsaw <[EMAIL PROTECTED]> wrote:
>>> On Nov 3, 2008, at 6:39 PM, Benjamin Peterson wrote:
>>>
 Grepping through Python's sources tells me that we have over 2,000
 "XXX" comments. The thing that irks me about them is that the have a
 very slow rate of being resolved, since they usually act more as
 "notes to self" rather than easily attainable tasks.

 So, I propose that we adopt a policy similar to Twisted's: All "XXX"
 comments must have an issue in the tracker and an accompanying link
 with the source code. That way we'll have a forum for discussing the
 changes and deciding whether they are reasonable enough to
 implemented.
>>>
>>> We have a very similar policy here at work.  Sadly I don't think it does
>>> much on actually resolving the issues.  XXX bugs tend to be pretty minor in
>>> the scheme of things and they're almost always lower on the priority list
>>> than everything else.
>>>
>>> That being said, we recognize that XXX bugs incur "technical debt" and
>>> reducing that debt is something we're devoting Real Time to doing.
>>>
>>> I see that Guido is not keen on the idea, and I'm not sure my observations
>>> help sway things one way or the other.  OTOH, it would be nice if at least
>>> we always add our own identifier (initials, nick, email address) and a date
>>> to the XXX so we at least know who was talking about what.
>>
>> At Google we use TODO(): Blah, blah. I don't think ading a
>> date would help much but I wouldn't be opposed to this.
>
> That reminds me of the other problem with XXX. They get out of date
> without being removed.

Not that often.

> I've even seen an XXX comment followed by
> another asking, "Is this still valid?".

That's a clue though that the code being commented is extremely hairy
-- if the second commenter couldn't deduce whether the first comment
was still valid, a double red flag is well worth having!

> You're probably right that adding a date would help much unless we
> agreed to remove old comments with little value after a year or so.

I disagree. They should be removed when the issue they refer to is
removed. No sooner, no later. Simply removing every XXX comment older
than a year would not be helpful. The code base is so large that over
2000 XXX doesn't faze me particular. There are over 4000 files in the
Python 2.6 source code tarball!

The right thing to do with XXX comments is to read them when you're in
their vicinity, and to act when the urge becomes too strong to deal
with any one in particular. Dealing with them en masse is just asking
for a migraine.

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


Re: [Python-Dev] XXX do we need a new policy?

2008-11-03 Thread Raymond Hettinger

From: "Guido van Rossum" <[EMAIL PROTECTED]>

The right thing to do with XXX comments is to read them when you're in
their vicinity, and to act when the urge becomes too strong to deal
with any one in particular. Dealing with them en masse is just asking
for a migraine.


I concur.


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


Re: [Python-Dev] Looking for VCS usage scenarios

2008-11-03 Thread Stephen J. Turnbull
Brett Cannon writes:

 > I have yet to have met anyone who thinks git is great while having
 > used another DVCS as extensively (and I mean I have never found
 > someone who has used two DVCSs extensively).

When XEmacs was considering changing from CVS, I used Darcs as my
primary VCS for about 4 months, including a mammoth (>1MB patch)
merge.  Since Dec 2007, Mercurial has been the official XEmacs VCS.
Nowadays I'm more management than developer but I love git, and will
not use either Darcs or Mercurial for any project where git is an
option.  (Somebody else did the work of moving the CVS history, so
they got to choose Mercurial -- in hindsight, it would have been worth
doing the work)  I don't know if that counts as "extensive".

I like git because
(1) I like the model of exposing the commit DAG directly as a graph of
objects.
(2) It's very fast.
(3) It does not promote a particular style of development.  Both
merging parallel branch tips and rebasing to serialize branches on
the trunk are well-supported.  (Mercurial and especially Bazaar do
support the merging style better than git does.)
(4) Branching is cheap and fast.  I typically have a subbranch for
almost every typo/minor fix I do in a working branch, which I then
cherrypick into the mainline.  (This workflow avoids merge
conflicts due to cherrypicking typo fixes directly from the
subbranch.  Mercurial makes such cherrypicking relatively
inconvenient, and I often make mistakes and commit too much in the
wrong branch.  In Darcs this can be very painful because of
dependencies the cherrypick drags in.)  Switching branches is a
sub-second operation until the diff gets to be about 15-20 files.
(5) All branches are explicit.  You commit to the current branch.
(6) Files to commit must be named in the commit command, marked with
an add command, or included via the --all option.
(7) A fairly natural, if ugly, syntax for specifying revisions,
ranges, and various operations on ranges in log and diff
commands.  No "revision numbers" that vary randomly according to
workspace.

I dislike Darcs because
(1) The DAG is implicit.
(2) It's slow.
(3) I never know what I'll get when I ask to pull a single patch;
Darcs's criteria for dependency are opaque, at least to me.
(4) It's hard to script and really likes to be used interactively.

I dislike Mercurial because
(1) It strongly encourages a commit-then-merge style which results in
a large number of "merge turds" in the history.  Since most
"merges" succeed because the changes are in different files, these
are very annoying to me.
(2) The default revision numbering typically results in rather bizarre
diffs near merges, but there is no easy way to specify a
particular parent (except the first) without looking up the log.
(3) Commits everything in the workspace by default.
(4) Commit is silent by default, so you don't realize how much you
have committed until you push ... and have succeeded so you can no
longer roll it back safely.
(5) Creates new branches without being asked, which then need to be
merged, thus strongly encouraging the commit-then-merge style.
(6) I don't trust its compute-ancestors-separately-per-file merge
algorithm.  If this really works, there's nothing wrong in
principle with CVS!
(7) A lot of features require plugins, and the result is command
proliferation, though unlike git only "porcelain" is exposed.

I haven't used Bazaar beyond "bzr pull" of Mailman once a week or so,
so I don't dislike it.  Things I have observed or have seen discussed
on the bazaar mailing list that you might want to consider:
(1) The UI is as baroque as git's, once you consider all the plugins
and GUIs that are available.  Lots of different workspace styles
(ordinary branching, stacked branching, looms -- similar to
quilts?, lightweight checkouts, ...) are supported with a
corresponding increase in subcommand count and/or options.
(2) New repo formats are added frequently, and taking advantage of new
features often requires upgrading your repo format.  So-called
lightweight checkouts can be especially annoying as they involve
leaving the history on the server, making distributed work
problematic.
(3) Bazaar is very good at supporting the kind of refactoring that
involves lots of file/directory renames and/or splitting/combining.
(4) Bazaar is claimed to have especially good merging support.
(5) Bazaar has an idiosyncratic log format that displays branches and
merges "nicely" by choosing a principal branch, and indenting
subsidiary branches.  This view changes depending on the repo,
AIUI.  Some people prefer to leave that to a separate command
(a graphical DAG viewer or something like "git-show-branches").
(6) In some common use patterns (eg, "bzr log | less"), Bazaar
currently does not scale.

 > >.  It is guaranteed to scale (unless Python gets to b

Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Martin v. Löwis
> Martin> On Windows, the GMP binaries would be incorporated into
> Martin> pythonxy.dll.  This would force anybody providing a copy of
> Martin> pythonxy.dll to also provide the sources of GMP.
> 
> As I understand it the proposal was to allow people to substitute GMP for
> Python's long implementation.  Just deliver binaries with the Python long
> version if you don't want to distribute the GMP source.

Ah, as an option, it could work.

> OTOH, it should be
> no big deal to drop a zip archive of the GMP sources which correspond to the
> code bound into the DLL.

How would end users then extract the sources from the DLL? How would
they learn that they even have them in the first place?

Also, people would complain about the increase in size - it's 3.2MB
as a zip file (1,7M as .tar.bz2).

> OTOOH, doesn't Windows support dynamic linking?
> Can't pythonxy.dll dynamically link to a gmpMN.dll?

How would that help in not having to distribute the source? Dynamic
linking still requires that the code is available at run-time.

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


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Stephen J. Turnbull
"Martin v. Löwis" writes:
 > Stephen J. Turnbull wrote:
 > > Thomas Wouters writes:
 > > 
 > >  > Neither of those (shipping sources or dynamically linking to
 > >  > GMP) would solve the LGPL issue. People who distribute that
 > >  > build of Python would still be held by the LGPL -- such as
 > >  > shipping any sources that they embed that Python into.
 > > 
 > > No, that's exactly what the "L" in "LGPL" means.  You only have to
 > > ship the sources to any object module (library or program) actually
 > > containing GMP code, including any modifications you make to them.  So
 > > if GMP is kept entirely in a separate library and you don't borrow any
 > > code from it, the rest of your code is not affected by the LGPL.
 > 
 > Sure. However, when you ship pythonxy.dll to your users, and it links
 > with gmp.dll, you *will* have to ship gmp.dll to your users [and]
 > then you have to include the source (of GMP, not Python).

Right.  There is definitely an administrative cost here, one that
Python itself doesn't impose.  This may not be a big deal for some
downstream projects, but that is for each project to decide.  I agree,
it is quite reasonable for Python to prefer to avoid the issue by
allowing downstream to add GMP or not as it likes, and simplify its
own maintenance burden by only providing the simple portable good-
enough-for-government-work implementation.

Thomas's wording strongly suggested to me that he thought that the
presence of gmp.dll would force a project to include not only GMP
source, but Python source *and* even my Killer-App's source.  That's
not true, and that's the only issue I was trying to address.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Optionally using GMP to implement long if available

2008-11-03 Thread Martin v. Löwis
Stephen J. Turnbull wrote:
> Thomas Wouters writes:
> 
>  > Neither of those (shipping sources or dynamically linking to GMP) would
>  > solve the LGPL issue. People who distribute that build of Python would 
> still
>  > be held by the LGPL -- such as shipping any sources that they embed that
>  > Python into.
> 
> No, that's exactly what the "L" in "LGPL" means.  You only have to
> ship the sources to any object module (library or program) actually
> containing GMP code, including any modifications you make to them.  So
> if GMP is kept entirely in a separate library and you don't borrow any
> code from it, the rest of your code is not affected by the LGPL.

Sure. However, when you ship pythonxy.dll to your users, and it links
with gmp.dll, you *will* have to ship gmp.dll to your users, as well -
they just won't accept having to download gmp.dll from elsewhere (they
may not even know what Python is). So then you have to include the
source (of GMP, not Python). The L is really only about "include source
just from the library (gmp), not the application (Python)".

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


Re: [Python-Dev] XXX do we need a new policy?

2008-11-03 Thread Martin v. Löwis
> I see that Guido is not keen on the idea, and I'm not sure my
> observations help sway things one way or the other.  OTOH, it would be
> nice if at least we always add our own identifier (initials, nick, email
> address) and a date to the XXX so we at least know who was talking about
> what.

I find it fairly easy to use "svn annotate" to learn about the source
of an XXX comment. In many cases, the XXX comment is fairly obvious,
anyway, so knowing who added it, and when, doesn't provide much useful
information.

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