Thursday, May 31, 2007

It's time for python development to open up a little

I found out from Brett Cannon's blog that an abstract base clase (ABC) PEP has been accepted.

I don't like this PEP. It's a very big (and more important, inelegant) change to Python's style. But my real complaint is that as big as this change is, and as much as I try to stay current with Python (subscribing to 30+ blogs) I didn't have a chance to get involved in the discussion until after the PEP was already approved.

Python is big enough now that there should be some mechanism for feedback from the community before the priesthood of python-dev writes something in stone. Currently, if you want to know about PEPs before they are approved, you have to subscribe to both python-dev and python-3000 (which isn't linked from either the mailing lists page or the dev page, btw). I really don't care about the vast majority of these lists' traffic but PEPs, at least some of them, are important.

If the python-dev summaries ever got updated this might be a potential solution, but even at their best I don't remember them ever getting closer than a month behind or so. And two weeks is probably too coarse-grained anyway.

I think what really needs is a PEP rss feed. A friend thought that they already had one, but neither he nor I could find it. So if it exists, it's well-hidden. If it doesn't exist, it should. Please?

(And if it's easier for whoever's in charge of such things to give me access to the server and repository than to do it himself, then yes, I'm volunteering.)


David Goodger said...

Please write to pydotorg (at python dot org) to volunteer for this. You want it, but if you don't do it, I doubt anyone else will!

Jesse said...

I'm hacking away at a beautiful soup scraper->rss feed for the pep page, if I am lucky I might have something cooked today.

Jack Diederich said...

This is a tough social issue. PEPs are intertwined with mundane development so python-dev and python-3000 are the right places to discuess them. A PEP-only list would be tough to implement because people would have remember to cc it. It is unfortunate but there really is no substitute to subscribing to python-dev and/or python-3000. Things just move too quickly for summaries to keep up. This goes double since Guido has started working for google and has more time to spend on the lists than everyone else. If you only read the lists once a week frequently a decision has already been made final by the time you see it (though that applies to 3k more than dev).

If you only care about PEPs the best current solution is to subscribe to dev/3k and just kill threads that don't interest you. I read dev for years that way without actually being a dev.

Jonathan Ellis said...

I'm not suggesting a separate list, only an rss feed for updates to PEPs. Nobody's workflow would have to change. The feed would be a signal that "oh, better find the thread on -dev or -3000" and it would be ignorable most of the time.

Without some kind of notification system like this it's just too much effort to keep up with a high volume (even medium volume) list that you mostly ignore. Apparently you are a better man than I; I have tried and failed.

Carl said...

This one (abstract base classes or ABC's) showed up on the dev list A LOT over the past several months. I know because I wasn't that interested in it and I deleted all of those threads.
The Unicode threads (pep 3131 and the like) interested me a bit more and I tried to read and understand them.
I've probably just been in Microsoft user mode too long - my reading of the dev list isn't to chime in, but to see what "they" (Guido and the rest of the core developers) are going to do next. Fortunately, in this case, I feel better about putting my trust in the group of Python core devs than M$'s money machine.
If I could code my own Python implementation, I'd argue about changes, but it's one of those "put up or shut up" deals, so I leave the language design to the people doing the work.
My 2 cents.

Jonathan Ellis said...

There's something to be said for the "shut up and just accept what Guido hands down from the mountain" approach, but if I were cut out for that, I don't think I'd be blogging. :)

Andrew Dalke said...

Once upon a time (before -r738 of 2001-03-21 ) PEP 0001 said "A PEP that has not been discussed on python-list and python-dev will not be accepted for review". With that revision the PEP said "...discussed on and/or will not be accepted."

I remember the older text distinctly because of the discussion thread in titled python-dev summary, Jan. 16-31. AMK wrote "Yet many people were *surprised* by some of the changes in Python 2.1 such as function attributes and nested scopes, even though PEPs were written and discussed, often in lengthy threads months ago."

In that thread I pointed out that those PEPs were accepted but contrary to what PEP-0001 said at that time they were never discussed on Also, python-dev back then was a closed list. So no wonder people were surprised.

It's not the same now since anyone can subscribe to python-dev. What takes the time is developing hermeneutical skills to distinguish which posts echo the future vs. will go nowhere. A skill most people justifiably don't care to learn.