OpenHatch May sprint report
Many thanks to all the attendees for a fun OpenHatch sprint. As announced on OH-Dev, we met up at the new Metreon in San Francisco, CA.

Here’s a quick summary of what we were up to:
- Karen Rustad began the process of converting our CSS to use less, a CSS wrapper that lets us use named constants and other niceties that make design work more enjoyable. (This is published on a branch, awaiting work to make sure it gets a production mode.)
- New contributor Roan Kattouw worked on improving GitMediawiki, a Perl-based tool to let us use git to push/pull from the OpenHatch wiki. Wiki spam is still a small problem for us, and I think interacting with the wiki over git will make cleaning up the spam easier. (This work is nearly done; it works against a local wiki on Roan’s dev machine, but has some small snag against the main OpenHatch wiki.) It also led to Roan submitting a patch to MediaWiki to improve its API.
- Daniel Mizyrycki continued to work on moving our documentation from the wiki into Sphinx. He also investigated documenting our new, Github-based workflow.
- Remote sprinter Shawn Landden landed his first commits, fixing links in our documentation and cleaning up some text in the tar training mission. (This work is committed and deployed!)
- First-time committer Mark Holmquist came to the sprint and fixed UI problems via CSS and Javascript contributions. (This work is committed and deployed!)
- Nathan Yergler continued work on a refactoring of the training missions, including documenting how to write a training mission. This is will be ready to land as soon as some test failures are fixed.
- Asheesh fixed a bug that was breaking the Subversion training mission and mentored people through their contributions. (The code work here is pushed and deployed! Reviewed by Shawn.)
- Berry Phillips begun moving the tests for oh-bugimporters out of the oh-mainline repo, starting with the tests for the Trac bug importers. This separates concerns more effectively and paves the way for it to be way easier to add new types of bug importers. (This is awaiting a review, but is expected to be pushed and deployed shortly.)
- Grant Bowman from Partimus also stopped by (sadly, not during the time we took the group photo) and provided his feedback on the site’s user experience. Major thanks to Grant for this review.
Thanks to all who attended! Special thanks to the Python Software Foundation for sponsoring the sprint, and to Cortland Setlow for taking the group picture!
Wrapping up the 6th Boston Python Workshop
The 6th Boston Python Workshop ran the weekend of March 30th at MIT.

This workshop marks a full year of diversity outreach with the Boston Python user group. Thank you to the amazing volunteers who have dedicated so much of their time this past year to making this workshop and this whole initiative such a success.
The Boston Python Workshop is a 1.5 day introduction to Python for women and their friends, focusing on beginning programmers. We had roughly 60 attendees and 15 volunteers staffing this event. This was the second workshop to utilize our grant from the Python Software Foundation’s Outreach and Education Committee; thank you to the PSF for supporting this outreach initiative here in Boston as well as other cities in the US.
The workshop structure was roughly the same as that of the 5th workshop:
Friday evening: laptop setup and first steps with Python
We assume no prior programming experience and require no prior laptop setup, so when you get to the workshop we help you install Python and set up your development environment, including installing a reasonable text editor for writing code and learning some basic command line navigation.
The bulk of Friday evening is dedicated to an online, self-directed tutorial covering basic data types and flow control. We reinforce the material through custom online CodingBat question.

Saturday: interactive lecture and projects
- 10am – Noon: an interactive lecture that builds on Friday’s material and covers lists, dictionaries, and iteration. Lecture ends with a state capitals quizzer that synthesizes the morning’s material.
- Noon – 1pm: lunch and demos. Pam showcased a Lunar Lander clone written in PyGame that she’s creating with her son. Katherine talked about the excellent work being done with Boston University’s Artemis Project — a summer computer science program for rising 9th grade girls. I pitched matplotlib — a powerful plotting library and Excel alternative.
- 1pm – 4pm: CodingBat review followed by splitting into groups to work through our afternoon projects.
- 4pm – 4:30pm: wrap-up and next steps. Workshop alums are encouraged to attend the next monthly Boston Python Project Night, where we can continue to support them as they learn and practice Python.

Saturday projects
We reinforce the lecture material through small, real-world Python projects. This is also an opportunity for attendees to collaborate and practice reading other people’s code.
- Twitter: use the Twitter API to write parts of a Twitter client.
- Wordplay: learn about regular expressions and how to cheat at Words with Friends.
- ColorWall: program graphical effects for a pixel grid.
Reflection
We conduct an exit survey after every workshop and consistently get very thoughtful and helpful feedback from our attendees. I wanted to highlight an observation from this workshop’s exit survey:
I was listening to folks describing their backgrounds at lunch. You pulled in people from a wide range of interests an expertise. Yay for diversity!
We work very hard to advertise this event to a wide range of communities in the Boston area and to make sure that the event is accessible for as many people as possible, so it is great to see and hear that those efforts pay off.
One question we ask is about prior programming experience. This workshop, we got everything from an emphatic
“NONE”
to
“studied and did programming 30 years ago. Mainly C. Haven’t programmed in over 18 years. Gee — my oldest child is 18 … Even with that, I didn’t feel “old”, even with the teenager in the room :-) Looking to get back on the career track.”
How awesome is that? It is really gratifying to see people from such diverse computing backgrounds, as well as such a wide range of ages and cultural backgrounds, at our events.
Resources

For more details about the 6th Boston Python Workshop, please check out:
Want to see an event like this in your city? Get in touch! Our material is all online and Creative Commons licensed.
-Jessica, for the Boston Python Workshop staff
OpenHatch goes to RPI, concluding our Spring 2012 university tour

On April 21-22, OpenHatch visited Rensselaer Polytechnic Institute (RPI) as the fourth site in the campus.openhatch.org program!
We were honored to be invited by the Rensselaer Center for Open Source, a student computing organization that encourages students to develop open source projects. Thanks also go out to the event’s sponsors, Nokia and Kitware.
You can see photos of the event taken by Christopher Schmidt, Asheesh Laroia, and Peter Hajas.
As usual, we split the event in two days: Saturday, for learning more background about open source, and Sunday, for getting involved in real open source communities. (This post is co-written by Christopher Schmidt and Asheesh Laroia.) Keep reading for the full details.
Thanking rsync.net for donated backup space
Thanks to rsync.net and their donated storage space, we now have constant, tested backups of the main OpenHatch virtual machine! I’ve just set up a Jenkins job that creates a blank VM, restores from backup, and makes sure the site can load there.
I’ve just finished creating a tested backups plan for main OpenHatch website, its databases, and the entire filesystem on our main (virtual) server. I’ve been keeping documentation of this on a wiki page.
I want to draw special attention to the fact that their recommended backup procedure involves encrypting backups so they can’t read them. Kudos to them for that! The other reasons I’ve enjoyed them is:
- It’s extremely to use if you’re used to UNIXy tools like rsync and the quota command.
- They recommend and document how to use duplicity to secure backups.
- Every time I’ve contacted support, I’ve received a prompt, smart response.
With the donated space, we use duplicity (as per the rsync.net official document) to do full encrypted backups weekly and incrementals daily. I sent an email to the OH-Dev list with the full details.
Thanks to rsync.net for donating this space! Please consider them when you’re thinking about where and how to back up your own data.
You are invited: welcoming women into the Python community, one workshop at a time
This week — still flying high from my experience at PyCon 2012 — I’ll begin planning Philadelphia’s fourth introduction to Python workshop for women and their friends.
For nearly a year, I’ve been working with a fantastic group of Pythonistas, women and men, to get more women involved in our local Python community. Our strategy has been to create events that are beginner-friendly, welcoming, fun, and content-rich, and to invite as many women as possible to participate.
We’ve been calling our group PyStar Philly, and so far we’ve organized several workshops, project nights, and beginner-level lectures. We’ve reached out to librarians, designers, data analysts, artists, geographers, engineers, graduate students, historians, stay-at-home moms, gamers, and journalists. At our workshops, we’ve welcomed a 12-year-old girl who wants to design her own games, 20- and 30-somethings looking to make career changes, 40-somethings eager to re-enter the workforce after time at home with kids, and women in their 50s and 60s interested in building new tech skills. (We’ve also welcomed several men, usually as guests of our female students.) We’ve garnered tremendous support from a broad segment of the Python community: PhillyPUG, our local Python user group; the Boston Python Workshop and the Boston Python user group; PyLadies; PyStar San Francisco and PyStar Minneapolis; and the Python Software Foundation.
In this year of community building, I’ve learned a couple of crucial lessons:
1. Everyone wants to be invited, especially newbies. Personal invitations are the best.
2. It’s impossible to do this work alone.
These things are as true for workshop organizers as they are for students learning to code.
I got started organizing our Python workshops because several amazing folks invited and challenged me to do it. In April 2011, I stumbled across the PyStar website and dashed off a message to the PyStar Google group, asking about a possible workshop in Philly. Within minutes, Lukas Blakk, who founded PyStar in the Bay Area, responded with information and resources for organizing a workshop on my own. Within two weeks, I was sitting in a coffee shop with Amanda Nyren, a PyStar Minneapolis organizer (she was in Philly visiting friends), getting an earful of encouragement. Her invitation: You can do this! I want you to do this. Go for it! Later that month, I had separate lunches with Mike Taylor (Bear), a developer at Mozilla who also had been thinking about organizing a Philly-based Python workshop for women, and Asheesh Laroia, an experienced tech community organizer and the co-founder of the Boston Python Workshop. Both of them offered clear steps for how to move forward.
Over the next several months, I reached out to the Philly tech community for help and pulled together a terrific group of instructors and volunteers: Maneesha Sane, Bear, Jake Richter, Andrew Jennings, Erika Owens, Pam Selle, Justin Walgran, Mjumbe Poe, Corey Laitslaw, Gabe Farrell, Sarah Gray, Far McKon, and Erik Osheim. With the help of Christine Spang and Jessica McKellar, veteran instructors from Boston Python, we offered workshops on June 18, 2011 and September 24, 2011. Jessica and Christine provided us with a curriculum and traveled to Philly to lead the lectures and show us how to teach the material to new coders.
After our second workshop, our friends from Boston presented us with a bigger challenge: make the workshop part of our Python user group and create a pipeline to get more women involved with our local Python community.
Lucky for us, Tom Panzarella, the PhillyPUG organizer and a huge supporter of our work, loved the idea. In early 2012, PyStar Philly joined PhillyPUG, and on February 3-4, 2012 we offered our first workshop under the PhillyPUG umbrella. Students must now join the user group before they can register for a workshop, and once they’ve joined they’re automatically invited to PhillyPUG’s project nights, meetups, and other great events. Probably the best outcome of this collaboration is that it creates opportunities for workshop graduates to continue their learning and network with professional programmers.
Maneesha Sane, who co-organizes our Python workshops, and I are excited about what’s next. Boston Python continues to support our efforts, and through that group we’ve received grant money from the Python Software Foundation to cover some of the costs of our workshops and project nights. We’re also grateful to have the support of several local companies and organizations: Azavea, Chariot Solutions, Cloudmine, Devnuts, the Drexel University Computer Science Department, the Hacktory, Mozilla, NextFab Studio, Girl Geek Dinners, Girl Develop It, and Web Start Women. Like us, these folks are committed to getting more women involved in the Philly tech community.
We still have a lot of work to do. We want to create a program as comprehensive and well-documented as the Boston Python Workshop. We also share Lukas Blakk’s goals to expand opportunities and create bigger challenges for workshop graduates. We hope to build a professional network of Pythonistas that is as vibrant and joyous and women-centered as the network created by the PyLadies. Our biggest goal is to welcome many more women into the Philly Python community, one workshop and project night at a time.
The truth is that we’re just getting started. And we’d like to invite you to help.
In addition to being a Python workshop organizer, Dana Bauer (@geography76) is an independent mapmaker and spatial data analyst. For more information about getting involved with PyStar Philly and the Philadelphia Python Workshop, please contact Dana, dana.bauer {at} gmail dot com, or Maneesha Sane, ahseenam {at} gmail dot com.
Ten contributors hacked on OpenHatch during PyCon sprints
Hi there! This is Greg Grossmeier, new member of the OpenHatch publicity team writing my first post for the OH blog.
As you know, OpenHatch was at PyCon this year. Asheesh and Jessica gave a great talk on diversity in usergroups specifically about the Boston Python user group.
But the OpenHatch goodness didn’t stop with just a great talk. Long time contributors and board members Karen and Asheesh organized a sprint for the website code. There was a lot of great activity during the sprint on OpenHatch, and we welcomed some new members to our community, which is amazing.
Here is some of what was accomplished (thanks to Asheesh for writing this up in an email):
- Portia, a new contributor, submitted a patch to improve the quality of the git training mission.
- Jacquie, whose first commit landed in Janaury 2012, stayed to sprint on improving the quality of the training missions, moving them toward class-based views. This also meant learning a lot about git branches and Github.
- Berry Phillips started (and completed, post-sprint) the long slog of extracting the OpenHatch bug download+parse code into a separate Python package. Having seen the deep inside of OpenHatch, he will probably spend a bunch of his future time on the frontend. (-:
- John Morrison wrote new code that integrates with the Github API to download issue data from there. This, having just been deployed, makes it possible for users of Github Issues to automatically add their bitesize bugs to OpenHatch’s volunteer opportunity finder.
- Karen Rustad fixed crucial layout issues with the redesign that Asheesh missed when he deployed the redesign, and also created (and got feedback on) a mockup for how openhatch.org/search/ can meaningfully show projects, not just individual bugs, for new contributors.
- Russia submitted her first patch, moving patch.py from mysite/missions/base/ into the vendor/ directory. She also experimented with Github pull requests, and is interested in solving another ticket.
- Walker Hale IV identified two fundamental issues with the data import/export system, and submitted patches+email conversations that addressed most of them. Jenkins’ builder for the search app is still failing; further patches to finish the issues are forthcoming. He also repeatedly answered the question for other PyCon attendees, “What is OpenHatch?” which was great.
- Daniel Mizyrycki got to know our documentation and auto-builders. He was particularly enthused by Karen’s talk on documentation, and how it can be built in a way that does not repeat oneself. We now have Sphinx documentation directly due to him.
- Pam Selle submitted fixes for various important layout problems, some which were as bad as CSS syntax errors and missing close-tags on our HTML.
- Asheesh managed to not just mentor new contributors but also write some code that is a sketch of how we can improve the bug downloading code, via removing a lot of our bookkeeping on top of Twisted, and showing that to John, who might be able to run with it.
- Pam and Walker led the battle cry to convince Asheesh to accept patches as Github pull requests, which he succumbed to. See the OpenHatch GitHub project page.
- We all made a video of the sprint, and a photo was snapped also. I don’t know where the video is, but if you see it anywhere on PyVideo, please let us know :-).
In terms of users of the site, and interest in the project,
- glyph (of Twisted) asked if we had implemented a workflow for handing new contributors to his project. Asheesh was happy to say “yes,” thanks to Jule Slootbeek’s work on the backend a few months ago.
- One new user went through the training missions and learned a lot about command-line tools on his Ubuntu machine in the process.
This was astounding! OpenHatch had 10 people at the sprint who made meaningful contributions to the code. And their enthusiasm for the project is what will push it to new great new directions.
Asheesh reflected on this and thinks a few things made this such as success:
- He prepared (during the start of the sprint, as well as over the course of the sprint) to list some good issues for newcomers.
- He asked people at the beginning of the sprint what their backgrounds are, and aimed to come up with tasks targeted at them.
- Pam showed up in the middle, adding one to our contributor count, and also encouraged us to have a group dinner. (-:
- People were quite willing to ask questions. This could have been even better — more maintainers in attendance would have been a plus. New contributors did chat a lot with each other, so Asheesh wasn’t always a bottleneck, which is great.
- The setup instructions for getting a development environment going were dramatically more reliable, compared to one year ago.
We can’t wait until next year for another great PyCon Sprint!
The Boston Python Workshop at PyCon 2012
Asheesh Laroia and I gave a talk at PyCon 2012 called Diversity in practice: How the Boston Python user group grew to 1700 people and over 15% women:
How do you bring more women into programming communities with long-term, measurable results? In this talk we’ll analyze one successful effort, the Boston Python Workshop, which brought over 200 women into Boston’s Python community this year. We’ll talk about lessons learned running the workshop, the dramatic effect it has had on the local user group, and how to run a workshop in your city.
You can also view the video online with Universal Subtitles here. Thank you to the PyCon organizers and conference volunteers for orchestrating the lightning-fast turnaround time on subtitling and publishing the talk videos.
The slides are available here.
Starting with the thesis that diversity makes a user group better and that diversity outreach is a great way for user groups to grow, we covered the following material:
- The Boston Python Workshop
- Motivation
- Goals
- Central tenant: work within existing communities for measurable, long-term change
- Setting up a beginners’ pipeline into the community
- Boston Python Workshop structure
- Impact on the Boston Python user group
- Now > 15% women at general user group events
- Successful beginners’ pipeline benefits all community members
- Global community impact: the women of PyCon 2012
- Individual success stories: workshop alums’ first programming jobs, and more
- Reflection and sharing
- Public iteration, Creative Commons-licensed material remixed across the globe
- Giving open-source materials back upstream
- Scaling out: impact beyond Boston
- Python Software Foundation grant for women-focused outreach across the US
- Inspiring new communities: PyStar, PyLadies
- What’s next: turning workshop volunteers and alums into community leaders
- Call to action: how to run successful, effective programming outreach in your city
The talk was very well-received, with a great Q&A and many follow-up contacts from folks interested in running outreach events in their communities. Praise from Glyph, the creator of Twisted and a long-time supporter who is leaving Boston soon for San Francisco, was particularly touching. We also had a chance to share strategies with other user group organizers at a community organizers’ Birds of a Feather.
Want to see an event like the Boston Python Workshop in your city? Get in touch!
1137 people have learned free software skills with the help of OpenHatch’s training missions!
The OpenHatch training missions are a group of interactive web pages for learning skills you would use when contributing to free software. It’s time to announce that more than a thousand people have successfully used them!
We at OpenHatch have long suspected that the training missions were the most used, well-loved portion of this website. People regularly give us lots of feedback on the existing training missions and request new ones. We know of a few free software projects, such as GNU Mediagoblin and WordPress, who link newcomers to our training missions in their IRC channels or as part of their new contributor documentation. When OpenHatch runs in-person events, such as OpenHatch Comes to Campus workshops, we use the training missions there too. And it makes intuitive sense to us that simple, interactive introductions to common tools used in free software (and software development generally) would be useful to many people. Unlike a long tutorial or text-heavy manual, a training mission gives you a short, concrete task to perform, a few levels of hints, and lets you know if you succeeded.
We’re always working to better track site usage and performance and keep better metrics. Recently, while preparing a talk proposal for OSCON, we looked up how much the training missions have been used.
Total # of missions successfully completed: 1303
for step_prefix in ['tar', 'diffpatch', 'svn', 'git']:
relevant_steps = Step.objects.filter(name__startswith=step_prefix)
stepname2person_ids = {}
for step in relevant_steps:
person_ids = StepCompletion.objects.filter(step=step).filter(is_currently_completed=True).values_list('person_id', flat=True)
stepname2person_ids[step.name] = list(person_ids)
person_id_lists = stepname2person_ids.values()
person_set = set(person_id_lists.pop())
for person_id_list in person_id_lists:
person_set = person_set.intersection(set(person_id_list))
step_prefix2person_count[step_prefix] = len(person_set)
print sum(step_prefix2person_count.values())
# of users who’ve completed at least one step in a mission: 1137
>>> StepCompletion.objects.filter(is_currently_completed=True).values('person_id').distinct().count()
1137
Most popular mission: Using tar
>>> Step.objects.annotate(num_completions=Count('stepcompletion')).order_by('-num_completions')[0].name
'tar_extract'
Wow!
We began writing the training missions in the summer of 2010 as a Google Summer of Code project. One and a half years later, we’re ridiculously excited that the training missions are really, actually being used by human beings. We’re also looking forward to making the training missions even better! Last week I finished an audit of the training missions based on our missions pedagogy guidelines to see where our older missions met our standards and where there was room for improvement. (Thanks to Mel Chua for her help in creating the guidelines!)
We are also working on standardizing the code style across the training missions (and documenting the results) so that it will be easy for others to write new missions and plug them into the OpenHatch codebase. We have a number of open requests: new training missions, possibly covering topics such as IRC, bash and bug triage.
Through feedback, we recently added a full tutorial on setting up a Windows machine to be able to easily go through the missions. We are also fielding requests and suggestions for improved plot lines.
If you haven’t tried out the training missions recently, we’d love it if you checked them out and gave us feedback. Or patches! We always need more contributors to write creative stories and code the backend that makes a mission real. So far, 24 different people have contributed to OpenHatch’s training missions code–not including people who have filed bugs or given other non-code help. It’d be great if you were the 25th.
If you have an open source software project of your own that uses a piece of technology covered by one of our training missions, please consider linking to it in your new-contributor documentation!
OpenHatch is an open source community and now a non-profit. We’re always looking for ways to make open source communities more inviting and active. Get in touch!
OpenHatch t-shirts are coming!
Oh my goodness. After two-and-a-half years of grumbling about how OpenHatch ought to have t-shirts, I am SO excited to announce that we are making them happen! For OpenHatch contributors, OpenHatch fans, everyone who likes free software communities, the family and friends (and enemies) of all the above… for *you*, if you want one!
The five-color design will be silkscreened on nice blue American Apparel t-shirts in both men’s and women’s sizes. We’ve gotten a preliminary estimate back from the printer saying that they’ll be about $20 a shirt. However, if lots of people order, we may be able to get them for cheaper! So, we’re doing pre-orders (with just a form–we’re still working on setting up OpenHatch’s PayPal account, so no money yet) to gauge people’s interest.
To help us plan what sizes to get and get a sense of how many people are interested, please fill out our “pre-order” form at this link by February 28 at noon. While we will be printing a few extra shirts beyond what people pre-order, we’re not going to keep much stock around–so if you want one, PLEASE let us know now!
Diversifying PyCon: the power of cooperative outreach

Python practice at PyStar Philly 2
I want to share an e-mail I received recently from a woman named Pam. It is a response to an e-mail I sent to the DevChix mailing list, calling on DevChixen to attend PyCon, the largest annual Python conference, and submit posters for the PyCon poster session:
Holy wow. I’ve had your email starred since you sent it, and only just now realized that you’re the Jess who was at PyStar Philly.
Because of this email:
- I decided to try to go to PyCon
- I submitted a poster
- Said poster was accepted
- I applied for money with PyLadies to go
- I’ll hopefully be going, and it will be awesome
This is an amazing e-mail.
It is a response to an e-mail to the DevChix mailing list, which is “an international group of female programmers working to make the tech community a better place for everyone.”
Pam attended the first PyStar Philly, an intro to Python event focusing on women in the same spirit as the Boston Python Workshop. She is a new Python programmer, and it is awesome that she had the motivation and community support to put herself out there and submit a PyCon poster as a first-time PyCon attendee.
PyStar Philly organizer Dana Bauer was inspired to run outreach workshops after seeing the success of other regional events under the PyStar umbrella. She and co-organizer Maneesha Sane have now run 3 PyStar Philly events, which are now integrated with PhillyPUG, Philadelphia’s Python user group.
I was helping at PyStar Philly by way of the Boston Python Workshop. PyStar Philly reuses a lot of material from the Boston Python Workshop, and Boston Python Workshop staff have visited Philadelphia to help with all 3 PyStar Philly events. Pam was a staffer at the most recent PyStar Philly, which was sponsored in part by a grant to the Boston Python Workshop from the Python Software Foundation’s Outreach and Education Committee.
She is able to attend PyCon because of PyCon’s generous financial aid program and its partnership with PyLadies to have additional grants for women attendees. Significantly, the PyLadies grants have a later deadline than the main financial aid program, which gives newcomers to the community extra time and encouragement to make arrangements and register for the conference.
Let’s summarize all of the groups involved in getting Pam to PyCon and presenting a poster:
- The Python Software Foundation’s Outreach and Education Committee awarded the Boston Python Workshop a grant to bring outreach workshops to new cities in the US, and PyStar Philly is one of the recipient organizations.
- PyStar Philly and the Boston Python Workshop have worked together to bring recurring intro to Python events to her city, where she has graduated from attendee to staffer and is now an active member of the local programming community.
- PyCon and PyLadies work together to encourage women to attend PyCon through a generous financial aid program.
- The e-mail to DevChix is what pushed her over the edge to submit a poster and attend PyCon.

This is an incredible series of collaborations that are really making a difference in the Python community and the tech community in general. I am thankful that all of these organizations exist, and success stories like this are why I dedicate so much of my time to open source outreach. Thank you to everyone who made this story possible, and Pam, I’ll see you at PyCon 2012!
-Jessica
Want to see an outreach event like the Boston Python Workshop or PyStar Philly happen in your city? Get in touch!
Going to PyCon? Join us for
Diversity in practice: How the Boston Python User Group grew to 1700 people and over 15% women.
Thank you to the Python Software Foundation, PyStar, the Boston Python Workshop, PyLadies, PyCon, and DevChix for the use of these logos.



