Python language summit 2013
Posted by Senthil Kumaran | Filed under python
My Quick Notes from Python language summit.
Every year, Python language developers meet during the language summit to discuss about the improvements in the language and the ecosystem. I caught today's summit from the point when, Nick Coghlan discussing about the Packaging.
He gave the details about the Meta data required for Python Packages.
Metadata for Python Software Packages 2.0 http://www.python.org/dev/peps/pep-0426/
Next Brett Canon took over the discuss the XML security issues and pointed out Christian Heimes solution to deal with that. A General discussion ensued on security fixes and released.
The diffusedxml and diffusedexpat library which got mentioned is here:
http://blog.python.org/2013/02/announcing-defusedxml-fixes-for-xml.html
Next, Guido discussed how yield from and Greg Ewing's use cases construct led him to think about the asynchronous programming support. The tulip asynchronous API reference is going to be very similar Twisted' inline callbacks. The most interesting thing being, replaceable event loop support.
Guido terms this as am ambitious attempt, starting with clean slate and not thinking about backwards compatibility.
http://www.python.org/dev/peps/pep-3156/
Having used with Twisted for 2 years, for an internal project at Akamai, I can say that people write these servers once and run them for years. Backwards compatibility is a big thing for a serious server software. Glad to see Glyph sharing this concern and said he would are about backwards compatible adapter APIs.
Trent Nelson talking about async library and his attempt to bring a shared-zero parallelism (aka fork like thing) to Windows. Trent also gave a demo of Snakebite network which exists for Python programs to use different OS and architectures.
Larry Hastings presented his proposal for "Argument Clinic DSL" which is an idea to intersperse a DSL into C files, so that Python specific C API functions can be general.
I do see the point of it, I am one of the folks who share a concern with "interspersing DSL and C and allowing it over-write the same file at pre-processor step "
Nick Coghlan brought to attention about an alternate proposal by Stephen Krah, solving the same problem but by a different approach.
Here are two PEPs detailing their approach.
PEP-0436 http://www.python.org/dev/peps/pep-0436/
PEP-0437 http://www.python.org/dev/peps/pep-0437/
And then, Alex Gaynor and Maciej presented cffi module, a replacement for ctypes module. A good discussion ensued as what should be done to to enable cffi into standard library. It was interesting to see, cffi built on Eli Bederski's pycparser ( https://bitbucket.org/eliben/pycparser), which in turn uses David Beazly's PLY (http://www.dabeaz.com/ply/) as the lexer. This choice of stack is interesting
The proposal was put forth in such way building extensions using cffi will be much easier for both cpython and pypy.
Finally, discussion on flufl.enum (http://pythonhosted.org/flufl.enum/) took place. Python-dev recently saw a discussion on inclusions of an ENUM type. Guido's stance on that was he saw, Enum to be a subclass of int for many pratical reasons. Thomas Wouter's made counter points to that. For design purposes, I do not see the enum's class being an integer too, but there are of course certain pratical use cases where it can help, especially in socket modules.
Before closing, Larry Hastings brought up the point of Kenneth Reitz's willingness in inclusion of requests in standard library. We could not discuss much, but some points did crop up in terms of other module support and changes that will be required.
One thing I asked was, multiple implementations doing similar stuff and then it was brought to my attention and Python has had it for long time in terms of old-style and new-style classes, string Exceptions vs Exception classes, etc.
General hallway discussions followed and it was fun day1 at PyCon today.