This page describes tips and best practices for group organizers in regards to:
Creating a new Python user group (You should have checked LocalUserGroups to ensure that there is not an existing group already).
Improving an existing Python user group.
- Starting Your Python Users Group
- Day-to-day operation
- Videos to watch
- Notes from BOF at PyCon 2013
Starting Your Python Users Group
These are the initial steps to prepare before the first meeting:
Define the group name - usually Python <city name>
- Have a website (preferably with your own domain name), so you can include the URL when promoting the group.
Define a meeting location (See Finding the right location below.)
Define the style of meetings for the group (see Organizing Activities below)
- Find one or more people to become part of the organizers team. Getting a second person to sign up as a core organiser helps prevent your own burn-out, and reduces the 'bus number', for when you are indisposed. (on holiday, hospitalised, etc)
Define the means to promote the group (See Getting the word out below)
Getting the Word Out
Create a chapter on python.meetup.com. Such chapters cost per month; some say $19.95/month but I'm paying $9.95/month so far. It's a good way for people to find you though, and you can take donations from the membership. Here in the DFW Pythoneers, we have found many of our members via this method. (Much the same is true for Houston.)
Standard ways of communicating meetings (i.e. you don't have to use one of the above sites):
For each meeting or other event, post an email to mail.python.org email lists "python-announce" and "python-list". While, in my experience, many are not on these lists, it reaches another subset of the Python community you can't reach any other way. (These are mirrored to Google groups comp.lang.python.announce and comp.lang.python)
- Other mailing lists, newsgroups, twitter, RSS, etc.
Add your group in LocalUserGroups. Some people come here to find such groups.
- Identify other user groups in your area and, with their permission, post an announcement of your meetings. For DFW Pythoneers we use the DFW Unix Users Group, and need to start making use of the .NET Users Group, the Apple Users Group and the North Texas Linux Users Group.
- Hang some flyers at your local college; hold some meetings on a campus and get listed as a campus organization.
- Produce some podcasts (or even better screencasts) and get them listed on video.google.com, Python 411 and such. Be sure to edit in a publicity blurb about your user group.
Set up a Google adwords (or similar) campaign targeting your local geographic area for search terms such as Python, Java, and scripting. Keeping the spread local keeps the cost reasonable. We targeted the province of Manitoba in Canada, population 1 million, for http://WinniPUG.ca, both Python and Java, for about $60 per year, and it generated a lot of interest. We pass a hat at meetings to cover the cost.
- Consider putting your group on facebook, upcoming, and other places. Note that there is a cost to putting your energies into keeping these multiple places up to date, but it can get you users who would otherwise not find you. So you need to balance your time constraints to your desire to grow the size of the group.
Finding the right location
- It's good to have a location you can rely upon, monthly, without fail.
- Businesses that are heavily invested in your technology may sponsor your group.
- Libraries often have space available, although their hours can be limited
- Bars may host groups on off-nights - they can see it as a way to fill their bar with people.
- Coworking spaces are often a good choice as well, as they want their members to be able to network.
Decide on the flavor of your meetings.
There are lots of different things to do at meetings.
- Lightning talks
- Code reviews
- Display videos
- Project walkthroughs
- Standard module of the month
- Some people are looking for social opportunities and here in Dallas we hold
- those once a month, an evening at a local restaurant.
- Others want something more in-depth; we hold twice-monthly Saturday afternoon
- sessions at a local bookstore that has wireless. Sometimes we have presentations and other times sprints, with hands-on coding.
- Some people find it works not to have a topic but just have people talk about what they've found interesting and what they're working on.
- Often groups meet for beer/food before and/or after the meeting, to give people a chance to congregate and hang out after the meeting place has closed.
Possible Group Projects
- Put together a club website using one of the many Python web frameworks.
- Establish a club mailing list, wiki and subversion repository.
- Consider producing audio recordings ala podcasts, an especially good option if your group is geographically dispersed or cannot agree on meeting times/locations.
- Work to run a "scripting conference" in your area, bringing together proponents of the various languages. Some people will convert, either because your group looks like more fun or Python is such a cool language.
- Work to run a "web technology conference" in your area, bringing together proponents of the various approaches. Many just want *something* to easily produce web sites and if Python is more friendly, they'll give it a try.
I've found that keeping the presentations short, and maybe having two or three speakers, is a good alternative to having one speaker (unless a good speaker volunteers!). It takes some of the load off the speaker and gets more people involved.
Some groups hold social meetings occasionally, often inviting other tech groups. This can be a potluck affair so that the only real concern is getting the space. The Portland group has a twice-a-year social even where the dynamic-language groups all get together.
Presenting for upcoming conferences
A local meeting is a good place to have members practice for upcoming conferences. You may find that if you can find three people to give a presentation on a topic that suddenly you are creating something larger.
I don't have experience with this yet, but if you get people together to work on projects, you can have some people show up with projects they're already interested in and have others show up without projects and people will gravitate towards the projects they're interested in. It works well if experienced programmers come with projects and the less experienced programmers can pair up with them. I'd love to hear more about how to make these work.
Other types of meetings
One of the amazing things about tech today is that if you state clearly that something is going to happen, and give people enough information about what you're planning, people will show up. Some other types of meetings I've heard people running or participating in:
- Startup weekend.
- Saturday house
- Local conferences
Topic days, like pymug (the UG of Mauritius) organised a Web Scraping Day
Your group could host any one of these.
Contact Kurt Kaiser/Treasurer to setup a way for PSF to receive donations from sponsors in the U.S., similar to Donation for Boston Python
If you are organizing a user group event, please consider adding the event to the Python Event Calendar on pycon.org and in the side bar of the python.org website. This calendar is administered by a group of volunteers. Please see the PythonEventsCalendar wiki page for details on how to get events listed.
The Group-organizers mailing list supports people starting and running user groups. A post in the archives of the Group-organizers list describes several organizing tactics (you must join the list in order to view its archives).
Also, please consider posting news from your user group on the Python User Group Blog!
You may draw on the PythonSpeakers page to help find speakers.
Videos to watch
Diversity in practice: How the Boston Python User Group grew to 1700 people and over 15% women, by Jessica McKellar and Asheesh Laroia, PyCon 2012.
Montreal-Python -- Lessons Learned from Bootstraping a Python Community, by Yannick Gingras at PyCon 2011.
Notes from BOF at PyCon 2013
- Find out other local user groups, like Ruby, PHP, Java, Hacker Garage, etc.
- Attend one of their meetings and invite their members.
- Learn from their practices and ideas.
- Reach out to high school students.
- Set ambience music
- Get free food, like doughnuts or bread, from local businesses.
- Create a group in meetup.com. The 12USD cost can be reimbursed by the PSF.
- People can find you.
- Reach out people in other local groups.
- It sends email reminders.
- Know how many responded yes to attend.
- Ask existing members to invite friends or relatives to the meetup.
Reach women in technical jobs. See Boston Python Workshop.
- Invite external speakers, they will invite their friends.
Use google+, LinkedIn, twitter, facebook
- Ask one of the meetup attendants to blog about the meetup and share pictures.
- Coder Social in Portland.
- Coding Dojo.
- Look in active group web sites for past meetup topics.
- List half a dozen modules and ask attendants to do a lightning talk on one.
Project night - get help from others.
- Friday practice
- lecture 2hr
- practice x hr
- projects LED simulator, twitter 2 hr
- wrap up
- Slide presentation Karakoke - show a set of slides, do the talk
Alternatives to meetup:
Discussion of meetup alternatives: