Showing posts with label python 3.0. Show all posts
Showing posts with label python 3.0. Show all posts

Monday, April 04, 2011

PSF Grant Funds Porting Work for the email Package

R. David Murray recently completed work funded by the PSF to update Python's email package to work with Python 3.2. The result of the project is a fully functioning version of the standard library package for parsing and constructing email messages.

Project History

The version of the email package that was shipped with Python 3.0 and 3.1 had some bugs, not the least of which was the inability to handle binary inputs. The parser was limited to files and messages in ASCII. Due to this, under Python 3 the email module could only create messages and never receive anything. This deficiency broke many applications that depend on email. For example, the cgi package uses the email package to process binary uploads.

After discussions held in the email-sig discussion group, a complete rewrite of the API was suggested as the only option and R. David Murray submitted a proposal to the PSF to fund the development of Email 6. The proposal was initially accepted, and some seed money (including matching funds) were provided. Since then, additional funding has been provided by QNX.

At first, David spent some time working on the Policy framework, and with some help from Antoine Pitrou, who fixed some issues in the nntp module, David devised a way to integrated byte handling in the email package without a complete rewrite of the original code by using extensions to the API that allow it to accept and generate bytes. The implementation used the "surrogateescape" mechanism, developed by Martin von Löwis, allowing minimum code modifications.

David also provided some modifications to smtplib, enabling it to transmit messages with non-ASCII characters. He also worked with Victor Stinner to give the cgi module the ability to handle binary data. They then took on the task of updating the mailbox module, and using the new features coded initially by David, made mailbox fully functional for Python 3.2.

David mentions that there are still some bugs, specially in the transition to the string/byte separation, but, also according to him, these bugs were greatly reduced in version 3.2.

All this work gave Python 3.2 a fully functional email handling package. The nntplib, smtplib, email, cgi and mailbox modules were also made functional, something that benefits the whole Python community. The grant provided by PSF paved the way to reach full functionality.

Monday, March 14, 2011

Call for Applications: Sprint Funding

The PSF Sprints Committee has sent out a call for applications from groups who want funding to host sprints on Python-related development work.

Sprints Committee

The Sprints Committee was established in June 2010 to encourage and assist groups to come together to work on Python-related projects. The committee has successfully funded a number of sprints since it was created, and the PSF Board of Directors has recently set aside additional funding to be used for sprinting during the upcoming year.

Sprint Topics

Sprints on any topic related to Python may qualify for a grant. Groups can work on any of the interpreters (CPython, PyPy, Jython, IronPython, etc.), modules from the standard library, third-party libraries, development tools, or anything else affecting the community.

Sponsored sprints have covered topics including porting Genshi to Python 3, improvements to packaging as part of the Distribute/distutils project, and most recently, the PyPy winter sprint in Switzerland. Check out the sprints blog for more details.

Assistance

The Sprints Committee has prepared guides for sprinting on Python core and porting to Python 3 to help make your event successful. In addition to organizational support, the committee can also offer financial assistance in the form of grants.

Any sprint group can apply for a grant from to cover expenses directly related to a sprint event. That includes buying meals, renting meeting space, and other reasonable expenses. The maximum grant for an event is US$300.

If your group is interested in hosting a sprint, check out the full details of the call for applications at and contact the Sprints Committee at sprints@python.org.

Saturday, June 05, 2010

PSF Sponsored Sprints

At their May 10 meeting, the PSF Board create a new Sprint Committee to organize a series of sprints for working on Python. Jesse Noller is the committee chair.

This new "focused sprint" initiative is part of a concerted effort to attract more contributors to Python's development team and to speed the adoption of Python 3. The PSF has agreed to provide funding to groups interested in organizing sprints related to:

  • Python core tasks such as bug triage and evaluating patches
  • Python core documentation work
  • Porting existing third-party libraries to run under Python 3
  • Enhancing http://python.org/ with new content, organization, or design work
  • Development of PyPI

Over time, other projects may be added as the committee identifies them. Complete instructions for proposing a sprint for your group will be posted once they are worked out.

In the mean time, the Sprint Committee needs volunteers to help launch this project. The first steps will be to set up some communication channels, and then start developing several guides for new contributors. If you want to help out, contact Jesse Noller via sprints@python.org.

See the announcement on Jesse's blog for more details.

Monday, September 21, 2009

What modules need documentation work for Python 3.x?

As part of ongoing preparations for GHOP, Titus Brown and the other organizers are soliciting feedback about what modules in the standard library need more documentation work.

Are there any modules that lack useful examples? Or where the writing or examples could be clarified?

Head over to this survey and give us your opinion today, or forever hold your tongue!

Friday, December 12, 2008

Help Migrating to Python 3.0

To assist those wanting to migrate their code to Python 3.0 the developers have just announced the creation of the Python-porting mailing list. Signing up for the list is a good way to tap in to the advice of the core developers, so it's probably a good list even if you only want to lurk to begin with.

Remember that it may take a while for all your project's dependencies to migrate to the new environment, but it's available now, so fill your boots!