Thursday, July 02, 2015

PyCon Singapore

The PSF is happy to report that the third annual PyCon Singapore took place June 17 to 19, 2015. This event, organized by the Python User Group Singapore, is a testament to the robust presence of the Python community in the Asia-Pacific region. In addition to three PyCons Singapore, PUGS has held three PyCons Asia-Pacific. Congratulations to Ivan Zimine and the organizing committee for a successful conference. According to Ivan, “Feedback from the participants was mostly positive. Out of 18 responses, 7 people gave 4 out of 5 stars, and 6 people gave 5 out of 5 stars for the “How did you like PyConSG?” question."

Photo Credit Martin Brochhaus
CC 2.0
The PSF contributed to the event as a Silver Level Sponsor, and we were proud that keynote speakers included our own PSF Director Lynn Root and former PSF Director Jessica McKellar. Django core developer Andrew Godwin also gave a keynote.
The event was attended by 181 people and was held on the campus of Singapore Polytechnic. It consisted of one day of tutorials and two days of talks. Tutorials covered topics such topics as unit testing, data stores, and beginning programming with Python and Django, and were attended by 96 people, of whom 64 were students. Lynn Root’s tutorial, “How to Spy with Python,” explained how the NSA and the UK’s Tempora programs can collect data on citizens' search histories, emails, IRC conversations, PGP usage, etc. As Lynn was clear to point out, however, the talk was not an endorsement of spying or a how-to, but rather a “… way of understanding the current political environment, as well as indirectly understanding how to protect one’s privacy” (see How to Spy).
127 people (of whom 41 were students) attended the two days of conference talks. Featured speakers included Anand Chitipothu, Kristin Nguyen, Ricky Setyawan, Sacha Goedegebure, Colm O'Connor, and others covering a wide range of topics, including interpreters, data processing, educational games, data processing, machine learning, multicore processing, and film production.
A first-time feature of the conference was its edu-summit, which was attended by approximately 40 Computer Science teachers. 
The summit included a talk by Praveen Patil titled Python in my Physics classroomabout how to incorporate computer science into the science curriculum using ExpEYES, an Open Source Pocket Science Lab (
Here are some links and pictures of the event: PyCon SingaporeBlog PostGroup PhotoWelcome.
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at

Tuesday, June 30, 2015

CSA goes to PSF Brochure Creators

RESOLVED, that the Python Software Foundation award Armin Stross-Radschinski and Jan Ulrich Hasecke the 1st Qtr 2015 PSF Community Service Award for their work on creating the PSF Python Brochure.

For the last several years, a dedicated team has toiled in obscurity on a task they knew to be important for the future of a programming language they loved, but at the same time, one that many thought would be a fool’s errand and would never pay off. These intrepid visionaries kept going, through thick and thin; through difficulties getting stories, legal permissions, and sponsors; through naysayers and those who said, again and again, that it was useless, since winter is coming (or something similar); through lions, and tigers and . . . ! Ultimately, they produced (drumroll, please) the PSF Brochure!
All kidding aside, the PSF brochure took an enormous amount of work and has been a huge success. It stands as a real-world ambassador for Python, for which we should all be grateful, and of which we should all be aware and proud! The next time one of your relatives, or friend of a friend, or a new acquaintance asks "so why is this open source language you’re spending so much time on such a big deal?" (see fn.* below), you needn’t break a sweat explaining; just hand them the brochure.
And beyond saving individual Pythonistas a lot of time and effort, the brochure, more importantly, conveys to “CIOs and chief developers, scientists and programmers, university lecturers, teachers and students, customers, clients, managers and employees” the benefits, functions, uses, applications, advantages, features, potential, and ease of using Python. 
Armin worked on the design and layout of the brochure, managed the visual aspects of the project, getting the sponsor ads into the brochure, managing the print runs, the project support website, ordering system, payment system, and finally all the shipping of the brochures to various conferences and user groups around the world.
Jan Ulrich was the main editor of the brochure content and worked with the sponsor story authors to create interesting stories. He also wrote the editorial parts of the brochure: the intro and the import success sections.
They both also helped with finding good success stories and sponsors, a task which took more time and effort than originally anticipated. According to PSF Director, Marc-Andre Lemburg, who headed up the project, 
Armin and Jan Ulrich both put a huge amount of work into the creation of the brochure. Armin on the visual and production side, Jan Ulrich on the editorial and content side. Without their efforts and passion, we would not have succeeded running this four year project to completion.”
You can find more information about the project on the wiki page, the support websiteand by reading previous posts to this blog: PSF BrochureBrochure Sold Out.
footnote*:  a real question really asked by real relatives!
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at

Friday, June 12, 2015

Nicholas Tollervey and Python in Education

As many of you know, the use of Python in education has grown tremendously in the past several years (see PSF Newsblog).  The Python community celebrates this trend, and continues to strengthen our connections to the world of education. PyCon’s first education summit at PyCon 2013, initiated by Naomi Cedar (who was recently elected to the PSF Board of Directors), has been followed globally by many Python conferences holding education tracks and getting involved with community teachers and education leaders.
Recently PyCon UK and EuroPython announced their upcoming education tracks.
After attending the Education Summit at PyCon2015 in Montreal, I was inspired to read Nicholas Tollervey’s wonderful booklet, Python in Education
(MAS reading and learning)
Here Tollervey summarizes and explains Python’s use in education, recounts the history of the Python programming language, provides a case study of the amazing Raspberry Pi, and describes the important role played by the Python community in the language’s popularity and ability to meet and adapt to users' needs. 
After reading his booklet, I had some questions for Nicholas: 
Q: What was your motivation for writing this book?
NT: during my 20s I was a senior secondary school teacher in the UK - I taught music to teenagers growing up in areas of great poverty and deprivation. As a result I’m passionate about teaching and learning - especially as a vehicle for emancipation. Unsurprisingly, I see programming and technical literacy as such vehicles. This is reinforced because I also have three school aged children.
Q: How long were you thinking about and/or writing the book? 
NT: I’ve been thinking about programming and Python in education for quite a number of years. Given all that’s happening regarding computing education in the UK at the moment, I’ve also had a lot of opportunity to discuss the subject with a large number of teachers and developers and develop my outlook as a result (a process that is ongoing). The first draft of the report only took a weekend to write - although I made time during the following weeks for tidying up and editing (re-reading with fresh eyes is such a useful thing to do).
Q: Did you have the book’s contents in mind or did you discover it via research? 
NT: The philosophical outlook was very much the result of the discussions mentioned in the previous point. I also spent a day at Raspberry Pi Towerschatting with Eben, Carrie Anne and Ben [Editor’s Note: Eben Upton, Carrie Anne Philbin, and Ben Nuttall of the Raspberry Pi Foundation; Carrie Anne was recently elected to the PSF Board of Directors]. 
The case study in the second section is the result. The rest of the book just wrote itself (as it were) and I, of course, was very careful to ensure I was reporting the correct information while referencing others.
Q: Can you tell us a bit about your background in Python in education?
NT: I was a senior teacher. I also have an MA in Philosophy of Education and a PGCE (Post Graduate Certificate in Education). For the last 4-5 years I’ve organised the PyconUK education track: last year we had 50 teachers and 90 kids turn up. This year will be bigger still. I also founded and help to run the London Python Code Dojo where developers come together to teach and learn from each other (see: for details of what a dojo is). I also collaborate with teachers on an ad hoc basis - for example, tomorrow I’m at a school in Nottinghamshire to help teach teachers to teach programming. This will be followed by some practical workshops helping a bunch of kids take their first steps as the tame programmer in the room along with all these hopefully newly enthused teachers. ;-)
Q: Anything else…? 
NT: YES! I always try to imagine who I’m writing for. In this case it was programmers who need an easy to remember source of arguments in favour of Python in education and teachers, students, parents and school board types (i.e. policy makers) who know nothing about computing but who need information in an easy to digest format. I wanted to write a kind of manifesto (but without explicitly calling it one because that has all sorts of connotations) that would expose all the amazing work and progress the Python community has made in the world of education. It’s all about helping people join the dots, make connections and collaborate. By the end of the book I want the reader to want to teach and learn Python. ;-)
An e-copy of Nicholas’s book can be obtained for free from O'Reilly. I highly recommend reading it, giving it to others as an introduction to this increasingly important topic, and getting involved in the education tracks at PyCons and in CS education activities in your communities.
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at

Tuesday, June 09, 2015

Mark Hammond Receives Distinguished Service Award

Like other community-based open source software, volunteers from around the world are to thank for Python's existence. When it comes to Python on Windows, the crew overseeing it are much smaller in number than those involved in other platforms, and one person in particular stands out among them with contributions that have helped shape Python's existence on Windows: Mark Hammond. Mark's efforts in supporting the Microsoft platform have been so influential that the CPython Windows installer contained a message thanking him in several versions in the 2.x series of releases. It is my pleasure to announce that Mark has been chosen to receive our Distinguished Service Award for his contributions to our community.

Not only have Mark's efforts been seen within CPython itself, from the winreg and os modules to the PEP 397 "Python launcher for Windows" and other areas, but also outside of it through his creation and maintenance of the pywin32 package. That project has made so many things possible for developers building software on Windows. If it weren't for pywin32 and its ability to manipulate Excel spreadsheets, one of my first jobs would have went a very different way than it did. The ability to easily take care of those tasks meant I was able to move on and explore different things both within the products I was working on as well as Python itself, and it's because of this productivity that I was able to shift my focus and ultimately take on what turned out to be a better career path for me. I've talked to several others who have shared this same experience, and have seen it around the web for years.

Mark also authored "Python Programming on Win32" in 2000, a book I stole from my dad and still have to this day, despite it being warped and actually slightly moldy from being in a flooded basement. The book states "Python is growing in popularity; based on download statistics, there are now over 450,000 people using Python, and more than 150,000 people using Python on Windows." It's hard to know exactly how those numbers were discovered, but I was able to pull off of the old website infrastructure that in 2013, Windows installers for Python were downloaded nearly 35 million times. Although you can't really compare the two numbers, we know that Python has experienced a huge amount of growth over the last 15 years, and it's thanks in part to contributors like Mark.

On behalf of the Python Software Foundation: thank you Mark!

Monday, June 08, 2015

Sponsor Election Results!

Last month, in addition to the election for the Board of Directors, a separate election was held asking PSF members to approve three new sponsors. Here is Ian Cordasco’s announcement of those results:
… we had 198 voters out of 426 which is ~46.48% of the voting membership (at the time). The results are here.
In short, Intel and New Relic both were overwhelmingly approved. Pickaweb less so but they still received (of the ballots cast) 56% approval (111/198). 
So, according to the bylaws (Section 4.6), all three sponsors were approved! Thanks to Ian and everyone who participated. And to the new sponsors, congratulations and welcome aboard!
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at

Friday, June 05, 2015

The Election Process and the new PSF Election Administrator


As those of you who have been following recent events in the PSF know, there were some difficulties and disagreements surrounding the election for the 2015-2016 Board of Directors. The initial attempt at an election for Board members was cancelled due ambiguity concerning candidate nomination deadlines. 
Then, as possible solutions were discussed on the PSF voting members list, it became apparent that there were additional aspects of the previously used system (E-vote) that were considered less than ideal by some members.
The Election Administrator at that time, due to newly undertaken professional commitments, was unavailable to relaunch the election or to modify the procedures to satisfy the desiderata expressed by many. Fortunately, Ian Cordasco agreed to step into the position, and he has been hard at work since the beginning of May getting the recently completed election back on track and exploring long term solutions to newly identified problems.
Already some important changes have been made: First of all, with the hard work of the Board of Directors and many volunteers, a precise and unambiguous deadline was set for nominations, for the issuing and for the receipt of ballots for both the Board election and the Sponsor election (See New Board Election.) That election has been successfully conducted and we have a new Board of Directors (and some new sponsors) as a result. (See Congratulations.)
Secondly, an Elections Working Group was formed to study the desirability of an enhancement to the E-vote software developed by Massimo DiPierro and David Mertz that had been used by the PSF for the past several years. An alternative solution, switching to another system like Helios, is also being explored. For those who wish to participate in this discussion and/or to contribute to this important evaluative study, please subscribe to
I recently had an email chat with Ian about his new role which I’d like to share with you:

Q: Why did you get involved?

Ian: There was a lot of conflict over the last Board Election. Unnecessary conflict is something I really don’t want to see in the Python community, so I stepped up to attempt to deescalate the situation.

Q: What is your background/interest as election administration?

Ian: I have no background in running elections. The software is intriguing to me. The way of verifying votes and ensuring anonymity is also intriguing.

Q: What are some of your goals as election administrator?

Ian: To run elections well and improve the software we use to run our elections.

Q: What are the criteria for a good election process?

Ian: This list is probably incomplete, but,
  • User friendly: The nomination process should be easy as should voting.
  • Transparent and Verifiable: Nominations and votes should be verifiable by any one observing the election.
  • Secure: It’s unlikely someone might try to attack a PSF election, but users should know that their votes aren’t being altered when casting them and that the ballot they received was correct.
  • Well documented: Voters and candidates should know the schedule. The software should be well documented for all involved - candidates, voters, and election administrators alike.
  • Cooperative: I have the great pleasure of coordinating with Ewa Jodlowska who helps in the election process. Massimo DiPierro and David Mertz have been very helpful in learning and navigating E-Vote.This whole process would have been a lot more stressful if not for their help and support.

Q: I understand that recent election yielded a tie in the number of votes for the eleventh Director’s seat. How was that resolved?

Ian: I spoke with David and in the past, ties have been broken with code such as:
if random.random() < 0.5:
    print('Candidate A')
    print('Candidate B')
So in following with that, I ran that code and came up with the 11th… For some amount of verifiability, I recorded the run of that script.

Q: How can we (PSF members) help?

Ian: Join the Elections WG! We’re trying to improve the whole of the PSF elections process. There are a few known issues with the current process. Many hands make light work.
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at

Tuesday, June 02, 2015

Congratualations to the new Board of Directors!

Board Election Results
The PSF annual Board members' election was just completed, with voting closed at end of day (AOE) on May 31, 2015. Thanks to all who took part, including candidates, PSF Directors, staff and volunteers, as well as all members who participated by voting in the election. A special thanks to Ian Cordasco who undertook the daunting task of administering this election at a point of upheaval and controversy last month.
The slate of candidates for the eleven Directors' seats was the strongest ever, with 23 people, each of whom brought a high level of skill and experience in tech and open source, and who collectively represented several countries, ethnicities, gender identities, and varied experiences. (Candidates' statements can be reviewed on the wiki.)
We are very excited and proud to see such strength and diversity in our new Board and extremely grateful and proud of the work of our outgoing Directors, who pushed very hard and intentionally toward opening the Board to this new diversity. 
Please join me in thanking the outgoing Board members:
Brian Curtin, Kushal Das, Selena Deckelmann, Jessica McKellar, David Mertz, and Travis Oliphant.
Congratulations to the new PSF Board of Directors:
Nick Coghlan, Diana Clarke, Van Lindberg, Lynn Root, Alex Gaynor, Marc-Andre Lemburg, Carol Willing, Naomi Ceder, Anna Ossowski, Carrie Anne Philbin, and Ashwini Oruganti.
There has been a lot of growth and discussion of new ideas in the past couple of months, in the halls at PyCon, on the membership lists, and over emails. It is time to put those ideas, along with a new optimism and a renewed commitment to the mission of the PSF, to work.  I believe that this moment is the beginning of a new stage in the PSF adventure and I look forward to working with the new Board and all of the membership!
In my next post, I will be writing about some of what we’ve learned during this election process and how we’re channelling this learning via the new Elections Work Group, and posting an interview with our new Elections Administrator.
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at

Sunday, May 17, 2015

Read the Docs: growing with a little help from its friends at the PSF (and elsewhere)

Today's post, like the previous one, features a development project that the PSF has been delighted to fund once again this year.
On April 28, 2015, the PSF Board unanimously approved the following resolution:
RESOLVED, that the Python Software Foundation grant  $8,000 to Read the Docs, Inc. for developmental work.

What is RTD?

Looking for somewhere to host your open source project’s documentation in a way that will make it readily available, easy to find, fully searchable for your users, and exportable in PDF format, while at the same time offering you ease of use and the ability to add content as your project develops? Then, you’ll want to check out Read the Docs, the world’s largest documentation website for open source projects. 
… hosts documentation, making it fully searchable and easy to find. You can import your docs using any major version control system, including Mercurial, Git, Subversion, and Bazaar. We support webhooks so your docs get built when you commit code. There’s also support for versioning so you can build docs from tags and branches of your code in your repository.

RTD’s History

RTD was created in 2010 by Eric Holscher, Charles Leifer, and Bobby Grace for the 2010 Django Dash. Eric tells the interesting story at Djangocon. A Django Dash is a coding contest that allows 48 hours for development and implementation of a project. Eric and his team considered what to do and decided that, since current documentation hosting was less than satisfactory, they could be of most help to the community by creating a web-based doc hosting solution. They agreed that Sphinx was the best document tool for Python, so they went with that.
According to Eric, 2011 was the year that saw RTD go … from a hobby project, into something projects depended on. At that point, they were hosting documentation for Celery, Fabric, Nose, py.test, Virtualenv, Pip, Django CMS, Django, Grapelli/Floppyforms/Sentry, mod_wsgi. Currently, they are hosting what Eric describes as a decent part of the Python ecosystem, including SQL Academy, Pyramid, Requests, Minecraft Overviewer, and many others. They have over 50 contributors, 7500 users, and get over 15,000,000 pageviews a month. The code for RTD is on GitHub and its documentation can be found on the site. Rackspace provides free hosting. A full list of features is available on the site.

Photo Credit: Aaron Hockley, October 2014 
Creative Commons license 2.00

Use of PSF Grant

The PSF award was part of a fundraising drive that opened at PyCon 2015 and brought in $24,000 USD from 157 contributions since then (see the RTD Blog). Corporate sponsors included Twilio, Sentry, DreamHost, and Lincoln Loop; with service sponsorships from Elastic Search, MaxCDN, and Gandi.
This funding will support RTD for 3 months of development work on the path toward sustainability as an open source project. More specifically, the funds will allow RTD to hire 2 part-time paid positions: Community Developer and Operations Developer (see RTD Blogpost for details and how to apply).
Furthermore, RTD intends to document its use of PSF grant money;  how development time is spent and how funds are allocated will be posted on RTD’s public Trello board.
If you’d like to help, you can contribute to RTD at Gratipay and you can follow them on Twitter.
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at

Friday, May 08, 2015

PSF funds development: Armin Rigo's CFFI 1.0

In looking back over the PSF newsblog posts, it appears that most of the PSF funded projects I’ve written about were conferences, workshops, and education/outreach efforts. These are, of course, truly important. However, it’s also important to get the word out about several development projects that the PSF has sponsored in 2015. One such project is Armin Rigo’s work on CFFI 1.0. 
RESOLVED, that the Python Software Foundation grant Armin Rigo $2500 towards cffi development aimed at making cffi generated extension modules importable without runtime dependencies on an extension module build toolchain.
CFFI or C Foreign Function Interface for Python provides a way to call compiled C code, i.e., external C libraries, from Python using interface declarations written in C. This eliminates the need to use a programming language other than C and Python. At the same time, CFFI minimizes the amount of C code that needs to be written, so it really is a boon for Python developers. It works with Python 2.6 and up and with PyPy 2x and 3x. See CFFI Documentation.
CFFI has already had approximately 7 million downloads, so it is clearly of use, but its creator, Armin Rigo (who is also one of the creators of PyPy) saw room for improvement. Specifically, according to Armin, there were two main problems:
  1. The difficulties of installation [which] can be seen from outside by looking at various workarounds and 3rd-party documentation that have grown into existence. For example, the of projects like cryptography, PyNaCl and bcrypt deploys workarounds that are explicitly documented in
  2. The time taken at import is excessive in some cases. For example, importing pygame-cffi on a Raspberry Pi ARM board takes on the order of 10 to 20 seconds (and this is the fast case where the compiler doesn’t need to be invoked any more)
Due to the PSF grant, Armin was able to fix both problems. The 1.0 version, now in beta, is available at CFFI 1.0.
Our thanks to the amazing Armin Rigo for this very welcome tool!
Stay tuned for my next post about the PSF’s recent award of $8,000 USD for Read the Docs
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at

Thursday, May 07, 2015

New Board Election! Important! Please Read!

For those of you who haven't followed the recent discussion on the PSF members list, there has been an important development regarding the election of members to the Board of Directors. 

Due to ambiguity with respect to the candidate nomination deadline (the former election administrator interpreted the deadline as midnight May 1, UTC; while others were operating with the understanding that the deadline was midnight Anywhere on Earth), a candidate who wished to self-nominate was not able to.

The PSF Board moved quickly to respond to this issue and the following solution was adopted: 

Here's the official explanation by the Chairman of the Board of Directors, Van Lindberg:

Due to some procedural problems with the current election for the Board of the Python Software Foundation, the Foundation has taken some steps to make sure that the elections are freely open for nominations and that there are no conflicts of interest. Specifically, today the board adopted the following resolutions:

RESOLVED, due to procedural deficiencies, the Board Election ballots issued on May 1st (AOE)/May 2nd (UTC) be deemed null and void.

RESOLVED, that David Mertz be removed as election administrator, and that Ian Cordasco be appointed as election administrator.

David has been the election adminstrator for quite a while, and designed the "e-vote" system that we use along with Massimo DePierro. He has put in a lot of time and effort, and we thank him for it. David in particular volunteered for a complex voting administration task that needed to be handled as the PSF expanded internationally beyond a primarily US-based membership that could previously realistically vote (in person, or by proxy) at physical meetings held annually at PyCon

Without David's efforts as Election Administrator over that time, it would not have been feasible to expand the membership as we have, including the conversion to an open membership model in the 2014 update to the PSF bylaws.

For anyone who has received a ballot already, or has received a ballot reminder, please ignore it. We will be canceling the election as quickly as possible.

We also wanted to make sure that the procedure for upcoming board elections was clear, particularly with regard to the timelines for nominations and voting eligibility. To address that, we also adopted the following resolution concerning the timing of future votes for the board. For those who aren't familiar with the term "AOE", it means "Anywhere on Earth." 

RESOLVED, that the Python Software Foundation adopt the follow procedure for Board elections:
    - Day 1: There is announcement of an upcoming board election via public announcement and email to existing voting members.
    - Day 10 (AOE): Nominations and voting eligibility closes for the upcoming board election. The list of voting members is updated.
    - Day 14-15: Ballots are sent out to voting members.
    - Day 25 (AOE): Election closes.

We also are starting a new election using this procedure, so the timeline for the election is as follows:

    - May 5: Announcement of a new election . . .  and an email to the voting members.
    - May 15 (AOE): Nominations and voting eligibility closes for the upcoming board election. The list of voting members is updated.
    - May 19-20: Ballots are sent out to voting members.
    - May 30 (AOE): Election closes.

This means that in an effort to be inclusive, the nominations will again be open for anyone until May 15 AOE. If you missed the opportunity to nominate for the 2015 Python Software Foundation Board, you will have that chance.


Van Lindberg
PSF Chair
I urge all prospective candidates to post their nomination statements in advance of the May 15 (midnight AoE*) deadline, and all voters to read the Wiki for the candidate statements and to cast their ballots in advance of the May 30 (midnight AoE*) deadline Wiki.

* AoE = UTC - 12

For those with more specific scientific requirements for deadline info, the following should be completely unambiguous:

Deadline for candidate nominations and voting rights self-certification: End of day May 15, 2015, AoE: = UTC May 16, by12 noon = ISO 8601: 2015-05-15T23:59:59-12

Deadline for Voting: End of day May 30, 2015, AoE = UTC May 31, by 12 noon = ISO 8601: 2015-05-31T23:59:59-12:00

Any questions or problems can be addressed to the Board ( and/or the new election administrator, Ian Cordasco (

Photo Credit: M.A. Sushinsky, private collection 
(S. Dali multiple original lithograph--sketch for Persistence of Memory)

("Time is the horizon for the unfolding of the meaning of Being," 
-- M. Heidegger, 1927)

I would love to hear from readers. Please send feedback, comments, or blog ideas to me at