Skip to main content

PyCon 2011: Interview with Tarek Ziadé - “Packaging, from Distutils to Distutils2” and “Firefox Sync”

By Brian Curtin

Coming over from France for his 4th PyCon is packaging and distribution guru, Tarek Ziadé. When he’s not spending his time on Mozilla work, he’s leading the Distutils2 project, maintains the shutil and sysconfig standard libraries, and organizes PyCon France. On top of all of that, he found time to put together two talks: an extreme talk on packaging, and one on the Firefox Sync project.

Getting right into the question most people have, I started by asking what’s up with Distutils2? “Distutils2 is almost ready to be used in projects, and a first beta release will be published before PyCon,” claims Tarek. Additionally, re-integration to the standard library is in the plans as soon as Python 3.2 final goes out. They made the necessary adjustments to PyPI and also plan to distribute a standalone package supporting versions as far back as Python 2.4.

His “Packaging, from Distutils to Distutils2” talk gets right to the heart of Distutils new features and their use cases. The long threatened death of, metadata and versioning, dependency graphing, and extensibility are in the plans. The new pysetup command, as he calls “one command to rule them all”, gets coverage as well. He plans to round the whole talk out with several examples, from porting to process improvements.

Speaking of process, Tarek and the Distutils2 developers have been using Mercurial via bitbucket to manage the project during its “outside the standard library life”. As you may know, CPython is getting close to a Mercurial switch, so I asked Tarek his experience with the tools. He says, “A DVCS really makes contribution simpler, as anyone can clone and propose changes that are easy for me to review and merge.” They follow a fairly common workflow of cloning, changing, then asking for a merge, but a change they are considering is the use of mq.

Tarek’s other talk, Firefox Sync, looks into the server side of Mozilla’s history, bookmark, and even tab synchronization across devices, all of which is written in Python. PHP used to be the tool of choice, but most of their server apps are being done in Python now. Asked about the technologies he’s employing, he responds “The stack I use is very low-level, since we're writing web services with almost no HTML pages. I've written a WSGI micro-framework mainly based on Paster and WebOb that can be used to build a new app. SQLAlchemy, python-memcached and python-ldap are used to work with data.” His talk covers this architecture, plus their use of encryption, along with the scalability and benchmarks they’ve produced.

Tarek will be at PyCon early for the Language Summit, one of his favorite parts, as its “a good opportunity to sync/meet in real life with the core people”. He’s also going to be sprinting on Distutils2, where they plan to polish the project and make sure projects are working correctly as they reach their final release. As with Armin, the hallway track is another of his highlights, but he’s also interested in the PyPy, ZeroMQ, and coroutine talks as well!

Stay tuned for an interview with speaker and book author Lennart Regebro, covering his experiences with Porting to Python 3.


Popular posts from this blog

PyCon 2018 Call for Proposals is Open!

It’s here! PyCon 2018’s Call for Proposals has officially opened for talks, tutorials, posters, and education summit presentations. PyCon is made by you, so we need you to share what you’re working on, how you’re working on it, what you’ve learned, what you’re learning, and so much more.

Before we dive in, the deadlines:
Tutorial proposals are due November 24, 2017.Talk, Poster, and Education Summit proposals are due January 3, 2018.Who should write a proposal? Everyone!

If you’re reading this post, you should write a proposal. PyCon is about uniting and building the Python community, and we won’t advance as an open community if we’re not open with each other about what we’ve learned throughout our time in it. It isn’t about being the smartest one in the room, so we don’t just pick all of the expert talks. It’s about helping everyone move together. “A rising tide lifts all boats,” if you will.

We need beginner, intermediate, and advanced proposals on all sorts of topics. We also need b…

PyCon 2018 Launches New Site, Sponsorship Search

After two great years in Portland, PyCon is shipping off to Cleveland for the 2018 and 2019 renditions of the Python community's largest gathering. PyCon 2018 will take place May 9 through 17 with two days of tutorials, three days of talks, and four days of development sprints.

For more information, check out our newly refreshed website at and follow us here on the blog and at @pycon on Twitter.

New Website

The new site features a design centered on the historic landmark Terminal Tower, a 52 story skyscraper that overlooks downtown Cleveland. When it opened in 1930, the tower was the fourth tallest building in the world and the tallest building outside of New York City. Though its height no longer tops the charts, the tower and surrounding Tower City area remain highly important to the city. What once was a beacon to guide ship captains to Cleveland's port and airplane pilots to its airport, the tower now includes 508 LEDs that light up for the holida…

How to get ready for the PyCon development sprints

[A guest post by Kushal Das, one of the 2016 Sprint Coordinators]So — you have already decided to join in the PyCon development sprints! The sprints run for four days, from Thursday to Sunday after the conference. You do not have to be registered for the conference to attend the sprints! Some teams plan to write code over all four days, while some projects plan a shorter sprint if the organizers cannot stay for all four days.Can you start getting prepared for the sprint ahead of time? Yes!There are several things you can do ahead of time, that can save effort once you arrive at the sprints — and some preparations can even be made at home, before you arrive at PyCon:Have your operating system updated and patched — whether Mac, Windows, or Linux. This eliminates one possible source of problems with getting software up and running.Go ahead and install the version control system that will be used by the projects you are interested in. If you install both git and Mercurial on your computer…