A Guide to Running a Python User Group

This guide is intended to be a simple collection of wisdom learned by watching, participating in, and helping organize in-person Python communities over the years. The target audience is anyone who wants to make their user group better. It focuses on hands-on tips.

If you want to improve it, or you have an idea for new content to add, or new questions to answer, email me: <asheesh@asheesh.org>!

Getting people to show up

Meetup.com or not

A story: Two user group organizers were sitting next to each other at PyCon, sharing stories with a room of people who wanted to discuss user groups. One was talking about how, nine months earlier, he had put together a Python user group for his city. He created an email list, and advertised the group, but never got more than a dozen people to show up. The one sitting next to him created a group in the very same city, and quickly saw meetings of 20+ people. Eventually, they found each other and merged their groups.

A recommendation: In this guide, I strongly recommend your group use Meetup.com. This is despite various reservations: their administration panel makes it impossible for group organizers to find attendees’ email addresses, and the interface is always changing, to the chagrin of some users. Meetup.com is a for-pay service, creating an additional barrier. However, I find user groups are larger, more diverse, and have more co-organizers if they use Meetup.

Having said that, some user groups seem to do reasonably well with their own event announcement software. A handful of those, such as ChiPy in Chicago, also host Meetup.com pages where they cross-announce their events so they can reach people who use that site.

Please request reimbursement. If you do use Meetup.com, the Python Software Foundation will reimburse you for your yearly Meetup.com account fees. Just send an email to the PSF requesting that money; see the sample grant application for what to say when requesting it.

Again, please request this money! The PSF has allocated money toward this, and wants to spend it on your group! Also, I look good if I am the one who caused you to get this money.

Event formats

Lightning talks

Lightning talks are brief talks, usually capped at five minutes, where someone introduces a topic or tool they care about. This format keeps the barrier to entry for speaking low, which means that as an organizer, you can walk around and ask people, one-on-one, “What are you going to give a lightning talk about?” Ned Batchelder of Boston Python is famous for doing this.

Montreal Python found that by focusing on lightning talks, the core organizers didn’t need to do much publicity for their group. Instead, they asked the lightning talkers to invite their friends, and the group grew and grew.

Project night

Project nights are user group meetings where attendees come with their laptop computers and a desire to work on something Python-related. These are often the first thing that user groups add when they want to become more welcoming to newcomers. A true story: The Boston Python user group was so inclusive and welcoming that it inspired Boston.rb to run their first project night!

I recommend you choose inclusive phrasing like “project night” rather than terms like “hack night,” since I have seen people feel excluded by the term “hack.”

To make it as great as possible, prepare the following things before the event:

  • Inviting language on your event page to indicate all are welcome, whether newcomers, experienced Python programmers, or something else.
  • A collection of volunteers who are willing to spend the evening answering others’ questions.
  • A landing page for newcomers with links to tested resources. You can base yours off this page: https://openhatch.org/wiki/Project_night
  • A food sponsor, if possible.

Additionally, on the day of the event, when it starts, set the tone by getting everyone’s attention and saying:

Hello, everyone! I’m name, organizer of this Python user group.

Thanks for coming to the project night. We have wifi here, and food and drinks that you can take; thanks to sponsor name for making that possible.

We’re excited about having people of all experience levels in Python here today, and to support them, we have a few people who are excited about helping beginners. Can I get those people to stand up?

We’ve labeled a table as the “Beginner’s corner,” so if you specially want mentorship today, go visit there and say hi to the person next to you, and talk with one of the lovely people who want to help you have a great time with Python.

I’ll be here all evening, so if you need anything else, just ask me. Thanks to all of you for coming!

Setting the tone and helping people understand that they are not just present, but welcome, can make a huge difference.

Sample project night web pages you can use:

Discussions about organizing a Python Project Night:


What the PSF can provide

Python is supported by a US non-profit, the Python Software Foundation, and they want to help. That means they will fund a few things:

  • Meetup.com fees (see section on meetup.com)
  • Travel for exciting, far-away speakers to visit your town.
  • Food and other costs for diversity or newcomer teaching events.
  • Food for technical events to improve some part of the Python community (aka sprints).

The PSF can also serve as a “fiscal sponsor” for your user group, which means you get the benefits of being part of a 501(c)3 US non-profit without having to do the accounting work for it – the PSF’s treasurer will do so.

A future version of this document will explain how to get this money.

Finding sponsors

A future version of this document will explain how to find corporate sponsors for your event.

Beyond this document

Appendix: Sample grant applications

Requesting Meetup.com fees

From: Your Name <yourname@example.com>

To: psf@python.org, asheesh@asheesh.org

Subject: Grant Proposal: $144 for a year of meetup fees for YourUserGroupNamehere

*—body below this line—*

Grant objective: Pay for Meetup.com fees for YourUserGroupNameHere user group.

NOTE: If you are a group hosted both on Meetup and elsewhere, you can also add a sentence like this. “Chicago’s main PUG is ChiPy, which does not use Meetup, but by creating this account, we can mirror ChiPy events to Meetup.com’s active userbase.”

I am CC:ing Asheesh Laroia, who encouraged me to submit this application.

Grant size: $144 total

Grant beneficiaries: ChiPy is an active Python user group, with lightning talks and other meetings monthly.

NOTE: You should adjust the above text, and then remove this “NOTE”! A short sentence is fine; no need to write an essay.

Preferred method of funds delivery: a paypal deposit to:



NOTE: If you prefer a check in the mail, say that instead. PayPal and check-in-the-mail are the two primary methods of PSF reimbursement.



NOTE: that’s it!