Why isn't the inclusion of ctypes the biggest news in 2.5? (I would be sleeping, but the poor little project stared at me with its big brown eyes...)

Did well over a full day's work on Cinemon yesterday, another full day today, but when I was wrapping up today I figured I really did need to get some work done on the VoIP project. So here I am, hours later, with a bit of a caffeine buzz.

Did anyone else note that the biggest news in Python 2.5 didn't make it into the official pre-announcement? I mean, yes, ElementTree is important and a big deal, but I would have thought that ctypes being included would be the biggest news by far to get reported about the release.

I guess my perspective is warped by OpenGL-ctypes a bit, but it really does seem like the most important advance in the standard library that we've had in ages. It's an entirely new "blessed" way to write common "wrapper" extensions in pure-ish Python.

Or at least that's my zealot's take on it...


  1. Mark Mc Mahon

    Mark Mc Mahon on 03/21/2006 4:02 a.m. #

    Agreed - I thought the same when I read the announcement.<br />
    (but then I am biased too as my project is also using ctypes, and elementtree a little bit :-D)<br />
    <br />

  2. Florian

    Florian on 03/21/2006 6:57 a.m. #

    Ah sweet, so ctypes *is* going to make it after all. So finally we get to have ctypes by default, that's pretty sweet.<br />
    <br />
    Now when are they going to get stackless into python! ^^

  3. Jos

    Jos on 03/21/2006 9:30 a.m. #

    Well, i don't know about totally removing cPythons dependence on the stack, but the addition of <a href="http://www.python.org/dev/peps/pep-0342/">PEP 342 - Coroutines via Enhanced Generators</a> gives us a some new ways of building app's in a more asyncronous/light-weight "thread" manor.<br />
    <br />
    Looking forward to all the great new things this will bring, including ctypes! ;)

  4. Brandon

    Brandon on 03/21/2006 11:11 a.m. #

    Sorry, celementTree is HUGE, although I wish we also had lxml's ability to parse RelaxNG schemas in 2.5 as well.<br />
    <br />
    Honestly, it is a good thing when any of the standard library gets upgraded with quality, stable modules ... it makes a big difference when you're trying to illustrate Python's benefits.

  5. Richard Jones

    Richard Jones on 03/21/2006 3:45 p.m. #

    Yes, ElementTree is huge - I use it a lot (but Python now ships with ... 3 XML libraries? 4? I lose count). I think that PIL should also be in there, but I also use that in every second project.<br />
    <br />
    I'm also a little confused that ctypes didn't rate a mention at all. It's a very big deal...<br />

  6. Rene Dudfield

    Rene Dudfield on 03/21/2006 6:24 p.m. #

    ctypes recently changed API.<br />
    <br />
    It's still an in development piece of software. It's a great thing, but stable it is not.<br />
    <br />
    Hopefully getting it into python2.5 will stabalise it. I have no idea when python2.5 will come out. But I think ctypes still needs time to bake. Maybe it is just too early for it to go in?

  7. Mike Fletcher

    Mike Fletcher on 03/22/2006 1:06 a.m. #

    AFAIR ctypes changed API because of the desire to make the 1.0 release stable... i.e. it was API cleanup before the API was frozen. That said, I won't claim the whole package is finished, obviously the code-generation stuff is still early, and I found a couple of bugs in working on OpenGL-ctypes, but I'd rather have it available everywhere with a few quirks than have to build binary packages everywhere :) .

  8. Richard

    Richard on 03/22/2006 3:38 a.m. #

    Stackless is a misnomer. It doesn't remove CPython's dependence on the stack. It just uses stack manipulation to be able to provide lightweight microthreads (tasklets). I'd be interested to see how comparable the generator based equivalents are.<br />
    <br />
    Florian, I too would like to see Stackless integrated.

  9. Brian Zhou

    Brian Zhou on 03/22/2006 11:08 a.m. #

    As far as I know, ctypes requires libffi ffi_closure support which the ARM port does not have. So it won't be available on the ARM platform.

  10. Brett Cannon

    Brett Cannon on 03/22/2006 9:07 p.m. #

    It's mentioned in the current version of the PEP, just not the draft sent to c.l.py . You have to realize that the PEP is a pre-announcement and a draft. It is being tweaked almost daily based on what has been committed and will continue to evolve until we hit beta.<br />
    <br />
    And ctypes came in a little late compared to a lot of things listed in the PEP. It was not added eons ago but just this month (I think it only became stable and not triggering compiler warning just last week).

Comments are closed.


Pingbacks are closed.