PyLadies and local Python User Groups

Last updated: August 4, 2015

I am not a statistician by trade; far from it. I did take a few stats & econometrics courses in college, but I won't even consider myself an armchair statistician here.

I am not making any suggestions about causation, just merely exploring what the Meetup API has to offer.

This also isn't how I code in general; but I love IPython Jupyter Notebooks, and I wanted an excuse to use it with Pandas (first time I'm using Pandas too!).


This data was used in my EuroPython 2015 talk, Diversity: We're not done yet. (Slides, video soon)


In [98]:
from __future__ import print_function
from collections import defaultdict
import json
import os
import time

import requests

Part 1: Grabbing all Python-centric meetup groups

NOTE

This repository includes all the data files that I used (latest update: Aug 4, 2015). You may skip this part if you don't want to call the Meetup API to get new/fresh data.


TIP

Take a look at Meetup's API Console; I used it when forming API requests as well as getting an idea of pagination for some requests.


What we're doing

We'll call a few different endpoints from the Meetup API and save the data locally in a json file for us to use later.

To get your own Meetup API key, you'll need a regular Meetup user account. Once you're logged in, you can navigate to the API Key portion of the API docs to reveal your API key.

API Endpoint docs:


In [15]:
def save_output(data, output_file):
    with open(output_file, "w") as f:
        json.dump(data, f)

In [6]:
# Set some global variables
MEETUP_API_KEY = "yeah right"
MEETUP_GROUPS_URL = "https://api.meetup.com/2/groups"
PARAMS = {
    "signed": True,
    "key": MEETUP_API_KEY,
    "topic": "python",
    "category_id": 34,  # 34 = Tech, there are only ~35 categories
    "order": "members",
    "page": 200, # max allowed
    "omit": "group_photo"  # no need for photos in response
}
TOTAL_PAGES = 6  # looked on the API console, 1117 meetup groups as of 7/17, 200 groups per page = 6 pages

The Meetup API limits requests, however their documentation isn't exactly helpful. Using their headers, I saw that I was limited to 30 requests per 10 seconds. Therefore, I'll sleep 1 second in between each request to be safe.


In [16]:
def get_meetup_groups():
    meetup_groups = []

    for i in xrange(TOTAL_PAGES):
        PARAMS["offset"] = i
        print("GROUPS: Getting page {0} of {1}".format(i+1, TOTAL_PAGES+1))
        response = requests.get(MEETUP_GROUPS_URL, params=PARAMS)
        if response.ok:
            meetup_groups.extend(response.json().get("results"))
        time.sleep(1)  # don't bombard the Meetup API
    print("GROUPS: Collected {0} Meetup groups".format(len(meetup_groups)))
    return meetup_groups

In [17]:
meetup_groups = get_meetup_groups()


GROUPS: Getting page 1 of 7
GROUPS: Getting page 2 of 7
GROUPS: Getting page 3 of 7
GROUPS: Getting page 4 of 7
GROUPS: Getting page 5 of 7
GROUPS: Getting page 6 of 7
GROUPS: Collected 1135 Meetup groups

In [20]:
# Create a directory to save everything
data_dir = "meetup_data"
if not os.path.exists(data_dir):
    os.makedirs(data_dir)

# Save meetup groups data
output = os.path.join(data_dir, "meetup_groups.json")
save_output(meetup_groups, output)

In [21]:
# inspect one for funsies
meetup_groups[0]


Out[21]:
{u'category': {u'id': 34, u'name': u'tech', u'shortname': u'tech'},
 u'city': u'Mountain View',
 u'country': u'US',
 u'created': 1206761791000,
 u'description': u'<p><a href="http://hf.cx/">You should really go over there and learn more about us</a>.</p>\n<p>Hackers / Founders is the largest community of early tech founders in Silicon Valley ( that includes SF ).</p>\n<p><a href="http://hf.cx/coop/">We have a founder\'s co-op accelerator. &nbsp;Learn more here</a></p>\n<p><span>Like reviewing startups? <a href="https://docs.google.com/a/hf.cx/forms/d/1ImzZHqHI1w8azBhTBeXBUn8lLzzdxTx0eq2FAnSdO-8/viewform">Sign up here!</a></span></p>\n<p><span>We host networking events and meetups in </span>Silicon Valley<span>, San Francisco, Berkeley and San Jose.</span></p>',
 u'id': 1084744,
 u'join_mode': u'open',
 u'lat': 37.40999984741211,
 u'link': u'http://www.meetup.com/Hackers-and-Founders/',
 u'lon': -122.08000183105469,
 u'members': 12374,
 u'name': u'Hackers and Founders',
 u'organizer': {u'member_id': 6851835, u'name': u'Jonathan Nelson'},
 u'rating': 4.62,
 u'state': u'CA',
 u'timezone': u'US/Pacific',
 u'topics': [{u'id': 682, u'name': u'Robotics', u'urlkey': u'robotics'},
  {u'id': 1040, u'name': u'Ruby', u'urlkey': u'ruby'},
  {u'id': 1064, u'name': u'Python', u'urlkey': u'python'},
  {u'id': 2400, u'name': u'Lisp & Scheme', u'urlkey': u'lisp'},
  {u'id': 7029, u'name': u'JavaScript', u'urlkey': u'javascript'},
  {u'id': 17628,
   u'name': u'Programming Languages',
   u'urlkey': u'programming-languages'},
  {u'id': 17936, u'name': u'Scala', u'urlkey': u'scala'},
  {u'id': 20346,
   u'name': u'Android Development',
   u'urlkey': u'android-developers'},
  {u'id': 22791, u'name': u'Haskell', u'urlkey': u'haskell'},
  {u'id': 29661, u'name': u'Clojure', u'urlkey': u'clojure'},
  {u'id': 39012, u'name': u'Arduino', u'urlkey': u'arduino'},
  {u'id': 46514,
   u'name': u'Erlang Programming',
   u'urlkey': u'erlang-programming'},
  {u'id': 48471,
   u'name': u'Computer programming',
   u'urlkey': u'computer-programming'},
  {u'id': 101960, u'name': u'nodeJS', u'urlkey': u'nodejs'},
  {u'id': 127567, u'name': u'iOS Development', u'urlkey': u'ios-development'}],
 u'urlname': u'Hackers-and-Founders',
 u'utc_offset': -25200000,
 u'visibility': u'public',
 u'who': u'Hackers / Founders'}

Part 2: Narrow down & sort the meetup groups

We got a lot returned from searching the /groups endpoint with just the "python" topic. So we should narrow it down a bit, as well as sort out PyLadies groups.

My process is to just narrow down by actual name of the group (e.g. python, py, django, etc).

Spot checking the results will definitely be needed, but will come a bit later.


In [44]:
search = ["python", "pydata", "pyramid", "py", "django", "flask", "plone"]
omit = ["happy"]  # I realize that a group could be called "happy python user group" or something...

def is_pug(group):
    """
    Return `True` if in `search` key words and not in `omit` keywords.
    """
    group_name = group.get("name").lower()
    for o in omit:
        if o in group_name:
            return False
    for s in search:
        if s in group_name:
            return True
    return False
    
    
def sort_groups(groups):
    """
    Sort groups by 'pyladies' and 'python user groups'.
    """
    pyladies = []
    user_groups = []
    for g in groups:
        if "pyladies" in g.get("name").lower():
            pyladies.append(g)
        else:
            if is_pug(g):
                user_groups.append(g)
    return user_groups, pyladies

In [42]:
user_groups, pyladies = sort_groups(meetup_groups)

In [47]:
# Let's spot check the UGs to see if what we're left with makes sense
# Note: I took a peek at a few (not shown here) and for the most part, 
#       all seems okay
for g in user_groups:
    print(g.get("name"))


The New York Python Meetup Group
San Francisco Python Meetup Group
The Boston Python User Group
Silicon Valley Python Meetup
DC Python
BangPypers - Bangalore Python Users Group
The Austin Python Meetup
The San Francisco Django Meetup Group
Taipei.py - Taipei Python User Group
Django-NYC
PyAtl: Atlanta Python Programmers
PyData London Meetup
Django Boston Meetup Group
Portland Python User Group
The London Python Group - TLPG
PyData NYC
Python Ireland
The Philadelphia Python Users Group (PhillyPUG)
San Francisco PyData
SoCal Python
Bangalore Django User Group
Bay Area Python Interest Group (BayPIGgies)
Stockholm Python User Group
Sydney Python (SyPy)
The Barcelona Python Meetup Group
NOVA-Python
San Diego Python Users Group
Learn Python NYC
Puget Sound Programming Python (PuPPy)
Python Toronto
PyData Boston
Paris.py (Python, Django & friends)
Python Data Science - Seattle - Bellevue
PythonPune
Austin Web Python
Python Users Berlin (PUB)
Hyderabad Python Meetup Group
Amsterdam Python Meetup Group
Python for Quant Finance
Python Data Science LA
PyMNtos - Twin Cities PUG
Ukrainian Python User Groups
PyDelhi - Python Delhi User Group
DFW Pythoneers
PyHou - Houston Python Enthusiasts!
Pittsburgh Python User Group
Chicago Pythonistas
Vancouver Python User Group
Django District, etc.™
Melbourne Python Charmers Meetup Group
LA Django
PythonKC
The London Django Meetup Group
Front Range Pythoneers
NY Python Data Science
Austin Learn Python Meetup
Django Bogotá
Python User Group in Princeton
OCPython: US.CA.Orange County's Python Community Group
San Francisco Python Pub Night
budapest.py
Beijing Python
Chennaipy
PyData Berlin
Grupy-SP
NY Quantitative Python User Group
Triangle Python Users Group (formerly TriZPUG)
ChiPy: Chicago's Official Python User Group
Madrid Python Meetup
Learning to Program With Python
IndyPy Meetup
Montréal-Python
The Central Ohio Python Users Group
Flask-NYC
Zurich Python User Group
Hyderabad Python and Data Science Group
PyNash
Singapore Python User Group
Los Angeles LAMP Developers (PHP/Perl/Python/Mysql/Apache)
Ottawa Python Authors Group
Salt Lake City Python
PyWeb-IL
Dutch Python & Django User Group
Python in Korea - Software Geek's Project
Charlotte Python Meetup
Django User Group Berlin (djub)
MelbDjango
Python Philippines
PyData / PlaY data
DesertPy - Phoenix Python Meetup Group
Django Paris
East Bay Python Web Development
Python Helsinki meetups
ThaiPy - Bangkok Python Meetup
Cleveland Area Python Interest Group
Boulder Python
Python Hsinchu User Group
Rochester Python Meetup
Alamo City Python Group
Python for Quant Finance NYC
baltimore-python
Python and Django Coding Session
San Francisco Python Hack Night
Python ID
Brisbane Python User Group
The Orlando Python User Group
Python-Django Dilli
Les Ateliers Python de l'AFPy au NUMA
STL Python
PyWaw
The San Francisco Flask Meetup Group
New Zealand Python User Group - Auckland
Python Chile
Silicon Valley Python Data Science
Django Stockholm Meetup Group
djangovan: The Django Vancouver Meetup Group
Tainan.py - Python Tainan User Group
Istanbul Python - Django Meetup
Miami Python Meetup Group
Moscow Python Meetup
Buenos Aires Python Meetup
Belo Horizonte Python User Group
The Tampa Bay Python Meetup Group
PyWeb Houston
hsv.py - Huntsville Python Users Group
NY Financial Python Users Group
München (Python|Data)
Bogotá Python Meetup Group
Django Seattle
Python User Group Austria
Oslo Python
Oxford Python Meetup Group
li.py
Inland Empire Python Users Group
Python Perú
The Copenhagen Django Meetup Group
SyDjango
Medellín Python y Django Meetup
Python Big Data Analytics
Johannesburg Python Meetup
México City Pythonistas Meetup
Python User Group Hamburg
Cape Town Python Users' Group (CTPUG)
Python Monterrey
wroc.py
Python Nairobi
SV Python Workshops
PyData - Boston - Cambridge Meetup
Taichung.py -- Taichung Python User Group
PyData Seattle
New Zealand Python User Group - Wellington
Python Istanbul
GothPy
Python the hard way TLV
GTU Python User Group
San Francisco Twisted Python Meetup
Python Brooklyn
PyYYC
Chilango Django
Python Hrvatska
Belgium Python Meetup (aka AperoPythonBe)
The Greater Hartford Python Group
WatPy
Buenos Aires Django Meetup
GRPUG - Grand Rapids Python Users Group
The Montevideo Python Meetup Group
Python Milano
Ljubljana Python User Group
MKE Python
Python Latvia
Michigan Python Development Group
Las Vegas Python User Group
Django Cali
Alamo Python Learners
Django User Group Switzerland
Oklahoma City Python Users Group
PySprings
RoPython-Cluj
Django Group Budapest
Helsinki Python Workshops
RoPython Timisoara
South Bay Python Group
Boulder Python Web - Django, Flask, and more
Front Range PyData
Python Users Lisbon
Bangalore Python (Scikit-Learn, numpy, pandas ...) Meetup
PyBelfast
PyNoCo
OC-U-PY
Py­thon User ­Group Rhein-­Main
Python Edinburgh
CincyPy Meetup
Valencia Python Meetup
757 Python Users Group
Pycademy
PyThess
DerbyPy - Louisville Python Meetup
VilniusPy
DN: Python Users Group Nepal
Pych(Pythonists Chennai) Meetup
PizzaPy.PH
Django Istanbul
Programming for Everybody (Python) - Study Group
Colombo Python Meetup
PyInt.
Django Friends – Vienna
The Brainport Eindhoven Python Meetup Group
PyGrunn
Boise Area Python User Group
Nantes Python Meetup
Groupe d'utilisateurs Python - Grenoble
Python Valparaiso y Viña del Mar
Pykonik, Kraków Python User Group
Heidelberg Python Meetup Group
PyData - Chicago
Los Angeles Professional Python Users Group
Python Buffalo
PyData SG
PYthon Piedmont Triad User Group (PYPTUG)
Friendly Django Meetup
North Jersey Python/Django Developers Group
New Zealand Python User Group - Christchurch
Py-CU
Kochi Python
SPython
LaPlata.py - Grupo de desarrolladores Python en La Plata
Django Coding Club
Medellín Python Meetup
SPb Python Interest Group
Python User Group Köln
PyGda (Gdańsk)
Python Testing
APPy-Andhra Pradesh Python Users Group
Python User Group Pernambuco (PUG-PE)
Django Maine
Perth Django Users Group
Django Barranquilla
Rhode Island Python User Group
DjangoMX
The Ahmedabad Python Meetup Group
Chattanooga Python User Group
Django User Group Hamburg
Python Saigon
@Flask.route('/Paris')
Minneapolis/Saint Paul django Meetup Group
Python User Group Graz
Python Łódź
Hub City Python User Group
FayettePy Python Meetup
Gainesville Python Ninjas
istanbul python developers
Python User Group Nürnberg
Detroit Python User Group
Free Python Django Workshop
São Paulo Python Meetup
pyCOMO
PyKnoxville - Knoxville Python Meetup Group
PythonTLH
IndyDjango
Wasatch Python Developers
Phoenix Django Developers
Spokane Python User Group
Python User Group Freiburg
Albuquerque Python Meetup
Learn Python - Seattle / Bellevue
Boston Twisted Python
DurianPy
México City Python Meetup
The London Pyramid Group
Floripa Python Meetup
PySprints
Hualien.Py
Hawaii Python Users' Group
Idiomatic Python
Hyderabad Getting started with Python Meetup
BhubaneswarPythonists - Bhubaneswar Python Users Group
PyMunich
Canberra Python Charmers Meetup Group
Python Artists of Arkansas (PyAR2)
Python at the Point
PyData Warsaw
The Boston Plone Meetup Group
Aberdeen Python Meetup
Salvador Python Meetup
PyJax: Jacksonville Python Users
Python Utah North
Python & Django Group
Django Medellín
New Zealand Python User Group - Hamilton
PyHawaii: the Pacific's premier Python Users Group
Sarajevo Python Meetup
Ahmedabad Python Users Meetup
Python Porto
Sacramento Django Python
<DOT>PY - Learn How To Code This Summer
The Barcelona Plone Meetup Group
Southcoast Python
Py In The Sky - Code And Craft In London's Tallest Buildings
Flask-SP
IC Python
Fox Valley Python
SaarPython
Panamá´s Python Meetup Group
PythonMid
Python México
Python NEA
Patagonia Python Meetup
Plone Meetup Switzerland
Gurgaon Django Meetup
Django Santa Marta
Pasto Python
London Django-cms developers Meetup
PyFi
Python Tallinn
Python Supper in Odesa
Utah Python
Django Shanghai Meetup Group
Django Suisse Romande
IPython Istanbul Meetup
ATX Django
Chengdu Python User Group
Springfield Python Developers
Mallorca Python Meetup
Navi Mumbai Python Programming Meetup
Marin Python Meetup
Py-U-Mah
Python Paraguay
Lower Bucks Python Meetup
Bangalore Open ERP Odoo Python Meetup
Ogden Python Programmers (OPP)
Leiden Python Meetup Group
Juiz de Fora Python Meetup
RoPython Iași
Motor City Django
Myrtle Beach Python Brainshare
GruPy-PR
Varanasi Python web development Meetup
Mombasa Python User Group
The Fresno Python User Group
Python2Web
Warsaw Kivy (and pygame) Framework Meetup
Avellino Python Meetup
Django SJC Meetup
PyRa - Poznan Python Programmers
The Bristol Pyramid Group
Mendoza Python Meetup

Part 3: Find all Python meetup groups with a PyLadies within 50 miles

I've adapted this from a Java implementation to find if a point is within a radius of another point. Geo-math is hard.


In [48]:
from math import sin, cos, asin, degrees, radians, atan2, sqrt

In [49]:
RADIUS = 3958.75  # Earth's radius in miles

In [50]:
def is_within_50_miles(pyladies_coords, python_coords):
    pyladies_lat, pyladies_lon = pyladies_coords[0], pyladies_coords[1]
    python_lat, python_lon = python_coords[0], python_coords[1]
    d_lat = radians(pyladies_lat - python_lat)
    d_lon = radians(pyladies_lon - python_lon)
    sin_d_lat = sin(d_lat / 2)
    sin_d_lon = sin(d_lon / 2)
    a = (sin_d_lat ** 2 + sin_d_lon ** 2 ) * cos(radians(pyladies_lat)) * cos(radians(python_lat))
    c = 2 * atan2(sqrt(a), sqrt(1-a))
    dist = RADIUS * c
    
    return dist <= 50

In [53]:
def get_coords(group):
    return group.get("lat"), group.get("lon")

def get_nearby_python_groups(pyl, collect):
    pyl_coords = get_coords(pyl)
    
    nearby = []
    for group in user_groups:
        pyt_coords = get_coords(group)
        if is_within_50_miles(pyl_coords, pyt_coords):
            nearby.append(group)
    
    collect[pyl.get("name")] = nearby
    return collect

In [54]:
collect = {}
for pylady in pyladies:
    collect = get_nearby_python_groups(pylady, collect)

In [57]:
for item in collect.items():
    print(item[0], len(item[1]))


PyLadiesCZ 2
PyLadies HTX 2
PyLadies Moscow 1
Pyladies India 3
Ann Arbor PyLadies 3
DC PyLadies 4
Inland Empire Pyladies 5
PyLadies RDU 1
PyLadies Amsterdam 4
NYC PyLadies 15
PyLadies ATX 5
PyLadies Wellington 1
PyLadies Boston 9
PyLadies - Twin Cities 3
PyLadies Istanbul 5
PyLadies Vancouver 2
Helsinki PyLadies 3
PyLadies Edinburgh 1
PyLadies Vienna 2
PyLadies London 8
PyLadiesATL 1
PyLadies Munich 2
Hinterland PyLadies 0
Salt Lake PyLadies 5
PyLadies San Diego 1
PyLadies Perú 1
PyLadies Berlin 5
PyLadies of San Francisco 13
PyLadies BCN 2
PyLadies Taiwan 3
PyLadies Dublin 1
Chicago PyLadies 5
PyLadies Pune 3
Seoul PyLadies Meetup 1
PyLadies PDX 1
PyLadies Paris 4
SA PyLadies Meetup 2
Seattle PyLadies 5
PyLadies Montréal 1
PyLadies Manila 1
PyLadies Milano 1
Pyladies.LosAngeles 8
PyLadies Toronto 2
PyLadiesStockholm 2
DFW PyLadies 1

In [82]:
# Save data into pyladies-specific directories
def pylady_dir(pyl):
    _dir = pyl.split()
    _dir = "".join(_dir)
    outdir = os.path.join(data_dir, _dir)
    if not os.path.exists(outdir):
        os.makedirs(outdir)
    return _dir

def save_pyladies():
    for pylady in pyladies:
        name = pylady.get("name")
        subdir = pylady_dir(name)
        outputdir = os.path.join(data_dir, subdir)
        output = os.path.join(outputdir, subdir + ".json")
        save_output(pylady, output)

        groups = collect.get(name)
        for g in groups:
            group_link = g.get("link")
            group_name = group_link.split(".com/")[1][:-1]
            group_name = "".join(group_name)
            outfile = group_name + ".json"
            ug_output = os.path.join(outputdir, outfile)
            save_output(g, ug_output)

In [83]:
save_pyladies()

Sanity check (I have a tree command installed via brew install tree):


In [89]:
!tree


.
├── Meetup Stats.ipynb
├── Meetup Topics.ipynb
└── meetup_data
    ├── AnnArborPyLadies
    │   ├── AnnArborPyLadies.json
    │   ├── Detroit-Python-User-Group.json
    │   ├── Michigan-Python-Development-Group.json
    │   └── motorcitydjango.json
    ├── ChicagoPyLadies
    │   ├── ChicagoPyLadies.json
    │   ├── ChicagoPythonistas.json
    │   ├── Fox-Valley-Python.json
    │   ├── PyData-Chicago.json
    │   ├── _ChiPy_.json
    │   └── friendlydjango.json
    ├── DCPyLadies
    │   ├── DCPyLadies.json
    │   ├── DCPython.json
    │   ├── NOVA-Python.json
    │   ├── baltimore-python.json
    │   └── django-district.json
    ├── DFWPyLadies
    │   ├── DFWPyLadies.json
    │   └── dfwpython.json
    ├── HelsinkiPyLadies
    │   ├── HelPy-meetups.json
    │   ├── Helsinki-Python-Workshops.json
    │   ├── HelsinkiPyLadies.json
    │   └── Python-Tallinn.json
    ├── HinterlandPyLadies
    │   └── HinterlandPyLadies.json
    ├── InlandEmpirePyladies
    │   ├── InlandEmpirePyladies.json
    │   ├── OCPython.json
    │   ├── South-Bay-Python-Group.json
    │   ├── iepython.json
    │   ├── lalamp.json
    │   └── oc-u-py.json
    ├── NYCPyLadies
    │   ├── Django-Coding-Club.json
    │   ├── NY-Financial-Python-Users-Group.json
    │   ├── NY-Quantitative-Python-User-Group.json
    │   ├── NYCPyLadies.json
    │   ├── North-Jersey-Python-Django-Developers-Group.json
    │   ├── PyDataNYC.json
    │   ├── Python-for-Quant-Finance-NYC.json
    │   ├── PythonBrooklyn.json
    │   ├── Testing-With-Python.json
    │   ├── django-nyc.json
    │   ├── flask-nyc.json
    │   ├── learn-python-nyc.json
    │   ├── li-python.json
    │   ├── ny-python-data-science.json
    │   ├── nycpython.json
    │   └── pug-ip.json
    ├── PyLadies-TwinCities
    │   ├── Minneapolis-Saint-Paul-Django-Meetup-Group.json
    │   ├── Py-U-Mah-Mn.json
    │   ├── PyLadies-TwinCities.json
    │   └── PyMNtos-Twin-Cities-Python-User-Group.json
    ├── PyLadiesATL
    │   ├── PyLadiesATL.json
    │   └── python-atlanta.json
    ├── PyLadiesATX
    │   ├── ATX-Django.json
    │   ├── AustinLearnPython.json
    │   ├── PyFinance.json
    │   ├── PyLadiesATX.json
    │   ├── austinpython.json
    │   └── austinwebpythonusergroup.json
    ├── PyLadiesAmsterdam
    │   ├── Amsterdam-Python-Meetup-Group.json
    │   ├── Brainport-Python-Meetup-Group.json
    │   ├── Leiden-Python-Meetup-Group.json
    │   ├── PyLadiesAmsterdam.json
    │   └── dutch-django-assocation.json
    ├── PyLadiesBCN
    │   ├── PyLadiesBCN.json
    │   ├── plone-5.json
    │   └── python-185.json
    ├── PyLadiesBerlin
    │   ├── PyData-Berlin.json
    │   ├── PyLadiesBerlin.json
    │   ├── PySprints.json
    │   ├── Python-Big-Data-Analytics.json
    │   ├── Python-Users-Berlin-PUB.json
    │   └── django-user-group-berlin.json
    ├── PyLadiesBoston
    │   ├── Boston-Cambridge-Python-Meetup.json
    │   ├── Boston-Twisted-Python.json
    │   ├── Learning-to-Program-With-Python.json
    │   ├── PyData-Boston.json
    │   ├── PyLadiesBoston.json
    │   ├── Rhode-Island-Python-User-Group.json
    │   ├── Southcoast-Massachusetts-Python-User-Group.json
    │   ├── bostonplone.json
    │   ├── bostonpython.json
    │   └── djangoboston.json
    ├── PyLadiesCZ
    │   ├── Django-Vienna.json
    │   ├── PYUGAT.json
    │   └── PyLadiesCZ.json
    ├── PyLadiesDublin
    │   ├── PyLadiesDublin.json
    │   └── pythonireland.json
    ├── PyLadiesEdinburgh
    │   ├── PyLadiesEdinburgh.json
    │   └── Python-Edinburgh.json
    ├── PyLadiesHTX
    │   ├── PyLadiesHTX.json
    │   ├── python-14.json
    │   └── python-web-houston.json
    ├── PyLadiesIstanbul
    │   ├── IPython-Istanbul-Meetup.json
    │   ├── Istanbul-Python-Django-Meetup.json
    │   ├── PyLadiesIstanbul.json
    │   ├── djangoist.json
    │   ├── istanbul-python-developers.json
    │   └── python-istanbul.json
    ├── PyLadiesLondon
    │   ├── London-Django-cms-developers-Meetup.json
    │   ├── London-Weekly-Python-and-Django-Coding-Session.json
    │   ├── Py-In-The-Sky-Code-And-Craft-In-Londons-Tallest-Buildings.json
    │   ├── PyData-London-Meetup.json
    │   ├── PyLadiesLondon.json
    │   ├── Python-for-Quant-Finance-London.json
    │   ├── The-London-Django-Meetup-Group.json
    │   ├── The-London-Pyramid-Group.json
    │   └── The-London-Python-Group-TLPG.json
    ├── PyLadiesManila
    │   ├── PyLadiesManila.json
    │   └── pythonph.json
    ├── PyLadiesMilano
    │   ├── PyLadiesMilano.json
    │   └── Python-Milano.json
    ├── PyLadiesMontréal
    │   ├── Montreal-Python.json
    │   └── PyLadiesMontréal.json
    ├── PyLadiesMoscow
    │   ├── Moscow-Python-Meetup.json
    │   └── PyLadiesMoscow.json
    ├── PyLadiesMunich
    │   ├── Munchen-Python-Data.json
    │   ├── PyLadiesMunich.json
    │   └── PyMunich.json
    ├── PyLadiesPDX
    │   ├── PyLadiesPDX.json
    │   └── pdxpython.json
    ├── PyLadiesParis
    │   ├── Django-Paris.json
    │   ├── Flask-route-Paris.json
    │   ├── Paris-py-Python-Django-friends.json
    │   ├── PyLadiesParis.json
    │   └── Python-NUMA.json
    ├── PyLadiesPerú
    │   ├── PyLadiesPerú.json
    │   └── pythonperu.json
    ├── PyLadiesPune
    │   ├── Free-Python-Django-Workshop.json
    │   ├── Idiomatic-Python.json
    │   ├── PyLadiesPune.json
    │   └── PythonPune.json
    ├── PyLadiesRDU
    │   ├── PyLadiesRDU.json
    │   └── tripython.json
    ├── PyLadiesSanDiego
    │   ├── PyLadiesSanDiego.json
    │   └── pythonsd.json
    ├── PyLadiesStockholm
    │   ├── PyLadiesStockholm.json
    │   ├── djangosthlm.json
    │   └── pysthlm.json
    ├── PyLadiesTaiwan
    │   ├── PyLadiesTaiwan.json
    │   ├── Taipei-py.json
    │   ├── playdata.json
    │   └── pythonhug.json
    ├── PyLadiesToronto
    │   ├── PyLadiesToronto.json
    │   ├── Python-Buffalo.json
    │   └── Python-Toronto.json
    ├── PyLadiesVancouver
    │   ├── PyLadiesVancouver.json
    │   ├── djangovan.json
    │   └── vanpyz.json
    ├── PyLadiesVienna
    │   ├── Django-Vienna.json
    │   ├── PYUGAT.json
    │   └── PyLadiesVienna.json
    ├── PyLadiesWellington
    │   ├── NZPUG-Wellington.json
    │   └── PyLadiesWellington.json
    ├── PyLadiesofSanFrancisco
    │   ├── BayPIGgies.json
    │   ├── East-Bay-Python-Web-Development.json
    │   ├── Marin-Python-Meetup.json
    │   ├── PyLadiesofSanFrancisco.json
    │   ├── SV-Python-Workshops.json
    │   ├── San-Francisco-PyData.json
    │   ├── San-Francisco-Python-Drinkup.json
    │   ├── San-Francisco-Python-Hack-Night.json
    │   ├── San-Francisco-Twisted-Python-Meetup.json
    │   ├── The-San-Francisco-Django-Meetup-Group.json
    │   ├── The-San-Francisco-Flask-Meetup-Group.json
    │   ├── sfpython.json
    │   ├── silicon-valley-python.json
    │   └── sv-python-data-science.json
    ├── Pyladies.LosAngeles
    │   ├── Los-Angeles-Professional-Python-Users-Group.json
    │   ├── OCPython.json
    │   ├── Pyladies.LosAngeles.json
    │   ├── Python-Data-Science-Los-Angeles.json
    │   ├── South-Bay-Python-Group.json
    │   ├── ladjango.json
    │   ├── lalamp.json
    │   ├── oc-u-py.json
    │   └── socalpython.json
    ├── PyladiesIndia
    │   ├── Gurgaon-Django-Meetup.json
    │   ├── PyladiesIndia.json
    │   ├── Python-Django-Dilli.json
    │   └── pydelhi.json
    ├── SAPyLadiesMeetup
    │   ├── Alamo-City-Python-Group.json
    │   ├── Alamo-Python-Learners.json
    │   └── SAPyLadiesMeetup.json
    ├── SaltLakePyLadies
    │   ├── Ogden-Python-Programmers-OPP.json
    │   ├── PythonAtThePoint.json
    │   ├── SLCPython.json
    │   ├── SaltLakePyLadies.json
    │   ├── Utah_Python.json
    │   └── pywasatch.json
    ├── SeattlePyLadies
    │   ├── Django-Seattle.json
    │   ├── Learn-Python-Seattle-Bellevue.json
    │   ├── PSPPython.json
    │   ├── PyData-Seattle.json
    │   ├── SeattlePyLadies.json
    │   └── seattle-python-data-science.json
    ├── SeoulPyLadiesMeetup
    │   ├── SeoulPyLadiesMeetup.json
    │   └── pykorea.json
    └── meetup_groups.json

46 directories, 198 files

Part 4: Membership join history

Note

If getting members from an endpoint returns 0, despite the member count in the group data being a positive number, then the group is set to private & accessible only to members (you can join that group to be able to have access that data, but I did not; I already have too much email).

Note

There's a "pseudo" race condition where the group data member # may be one number, but you actually receive a different number (+/- ~3), it's (probably) due to people leaving or joining the group between the group API call and the members API call.

API endpoint docs:


In [114]:
MEETUP_MEMBER_URL = "https://api.meetup.com/2/members"
PARAMS = {
    "signed": True,
    "key": MEETUP_API_KEY,
}

In [115]:
def get_members(group):
    PARAMS["group_id"] = group.get("id")
    members_count = group.get("members")
    print(u"MEMBERS: Getting {0} members for group {1}".format(members_count, group.get("name")))
    pages = members_count / 200
    remainder = members_count % 200
    if remainder > 0:
        pages += 1
    
    members = []
    for i in xrange(pages):
        print("MEMBERS: Iteration {0} out of {1}".format(i+1, pages+1))
        PARAMS["offset"] = i
        resp = requests.get(MEETUP_MEMBER_URL, PARAMS)
        if resp.ok:
            results = resp.json().get("results")
            members.extend(results)
        time.sleep(1)
    print("MEMBERS: Got {0} members".format(len(members)))
    return members

In [118]:
def get_members_collection(pylady, groups):
    pylady_members = get_members(pylady)
    pug_members = defaultdict(list)
    for g in groups:
        pg_mbrs = get_members(g)
        pug_members[g.get("name")].append(pg_mbrs)
    return pylady_members, pug_members

In [120]:
# NOTE: this takes *FOREVER*.  
start = time.time()
for i, item in enumerate(collect.items()):
    print("COLLECTING: {0} out of {1}".format(i+1, len(collect)+1))
    pylady = [p for p in pyladies if p.get("name") == item[0]][0]
    pylady_members, pug_members = get_members_collection(pylady, item[1])
    
    print("COLLECTING: Saving all the data!")
    pylady_name = pylady.get("name")
    outdir = pylady_dir(pylady_name)
    outdir = os.path.join(data_dir, outdir)
    outfile = os.path.join(outdir, "pyladies_members.json")
    save_output(pylady_members, outfile)
    outfile = os.path.join(outdir, "pug_members.json")
    save_output(pug_members, outfile)
end = time.time()
delta_s = end - start
delta_m = delta_s / 60
print("**DONE**")
print("Completed in {:.0f} minutes".format(delta_m))


COLLECTING: 1 out of 46
MEMBERS: Getting 20 members for group PyLadiesCZ
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 20 members
MEMBERS: Getting 305 members for group Python User Group Austria
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 305 members
MEMBERS: Getting 144 members for group Django Friends – Vienna
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 144 members
COLLECTING: Saving all the data!
COLLECTING: 2 out of 46
MEMBERS: Getting 154 members for group PyLadies HTX
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 154 members
MEMBERS: Getting 829 members for group PyHou - Houston Python Enthusiasts!
MEMBERS: Iteration 1 out of 6
MEMBERS: Iteration 2 out of 6
MEMBERS: Iteration 3 out of 6
MEMBERS: Iteration 4 out of 6
MEMBERS: Iteration 5 out of 6
MEMBERS: Got 829 members
MEMBERS: Getting 319 members for group PyWeb Houston
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 319 members
COLLECTING: Saving all the data!
COLLECTING: 3 out of 46
MEMBERS: Getting 18 members for group PyLadies Moscow
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 18 members
MEMBERS: Getting 334 members for group Moscow Python Meetup
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 334 members
COLLECTING: Saving all the data!
COLLECTING: 4 out of 46
MEMBERS: Getting 55 members for group Pyladies India
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 0 members
MEMBERS: Getting 847 members for group PyDelhi - Python Delhi User Group
MEMBERS: Iteration 1 out of 6
MEMBERS: Iteration 2 out of 6
MEMBERS: Iteration 3 out of 6
MEMBERS: Iteration 4 out of 6
MEMBERS: Iteration 5 out of 6
MEMBERS: Got 847 members
MEMBERS: Getting 397 members for group Python-Django Dilli
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 397 members
MEMBERS: Getting 45 members for group Gurgaon Django Meetup
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 45 members
COLLECTING: Saving all the data!
COLLECTING: 5 out of 46
MEMBERS: Getting 110 members for group Ann Arbor PyLadies
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 110 members
MEMBERS: Getting 207 members for group Michigan Python Development Group
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 207 members
MEMBERS: Getting 88 members for group Detroit Python User Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 88 members
MEMBERS: Getting 25 members for group Motor City Django
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 25 members
COLLECTING: Saving all the data!
COLLECTING: 6 out of 46
MEMBERS: Getting 598 members for group DC PyLadies
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 598 members
MEMBERS: Getting 2892 members for group DC Python
MEMBERS: Iteration 1 out of 16
MEMBERS: Iteration 2 out of 16
MEMBERS: Iteration 3 out of 16
MEMBERS: Iteration 4 out of 16
MEMBERS: Iteration 5 out of 16
MEMBERS: Iteration 6 out of 16
MEMBERS: Iteration 7 out of 16
MEMBERS: Iteration 8 out of 16
MEMBERS: Iteration 9 out of 16
MEMBERS: Iteration 10 out of 16
MEMBERS: Iteration 11 out of 16
MEMBERS: Iteration 12 out of 16
MEMBERS: Iteration 13 out of 16
MEMBERS: Iteration 14 out of 16
MEMBERS: Iteration 15 out of 16
MEMBERS: Got 2894 members
MEMBERS: Getting 1181 members for group NOVA-Python
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 1181 members
MEMBERS: Getting 768 members for group Django District, etc.™
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 768 members
MEMBERS: Getting 431 members for group baltimore-python
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 431 members
COLLECTING: Saving all the data!
COLLECTING: 7 out of 46
MEMBERS: Getting 120 members for group Inland Empire Pyladies
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 120 members
MEMBERS: Getting 671 members for group OCPython: US.CA.Orange County's Python Community Group
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 0 members
MEMBERS: Getting 515 members for group Los Angeles LAMP Developers (PHP/Perl/Python/Mysql/Apache)
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 515 members
MEMBERS: Getting 294 members for group Inland Empire Python Users Group
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 294 members
MEMBERS: Getting 187 members for group South Bay Python Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 187 members
MEMBERS: Getting 167 members for group OC-U-PY
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 167 members
COLLECTING: Saving all the data!
COLLECTING: 8 out of 46
MEMBERS: Getting 154 members for group PyLadies RDU
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 0 members
MEMBERS: Getting 611 members for group Triangle Python Users Group (formerly TriZPUG)
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 612 members
COLLECTING: Saving all the data!
COLLECTING: 9 out of 46
MEMBERS: Getting 186 members for group PyLadies Amsterdam
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 186 members
MEMBERS: Getting 879 members for group Amsterdam Python Meetup Group
MEMBERS: Iteration 1 out of 6
MEMBERS: Iteration 2 out of 6
MEMBERS: Iteration 3 out of 6
MEMBERS: Iteration 4 out of 6
MEMBERS: Iteration 5 out of 6
MEMBERS: Got 880 members
MEMBERS: Getting 483 members for group Dutch Python & Django User Group
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 483 members
MEMBERS: Getting 137 members for group The Brainport Eindhoven Python Meetup Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 137 members
MEMBERS: Getting 27 members for group Leiden Python Meetup Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 27 members
COLLECTING: Saving all the data!
COLLECTING: 10 out of 46
MEMBERS: Getting 1486 members for group NYC PyLadies
MEMBERS: Iteration 1 out of 9
MEMBERS: Iteration 2 out of 9
MEMBERS: Iteration 3 out of 9
MEMBERS: Iteration 4 out of 9
MEMBERS: Iteration 5 out of 9
MEMBERS: Iteration 6 out of 9
MEMBERS: Iteration 7 out of 9
MEMBERS: Iteration 8 out of 9
MEMBERS: Got 1487 members
MEMBERS: Getting 7327 members for group The New York Python Meetup Group
MEMBERS: Iteration 1 out of 38
MEMBERS: Iteration 2 out of 38
MEMBERS: Iteration 3 out of 38
MEMBERS: Iteration 4 out of 38
MEMBERS: Iteration 5 out of 38
MEMBERS: Iteration 6 out of 38
MEMBERS: Iteration 7 out of 38
MEMBERS: Iteration 8 out of 38
MEMBERS: Iteration 9 out of 38
MEMBERS: Iteration 10 out of 38
MEMBERS: Iteration 11 out of 38
MEMBERS: Iteration 12 out of 38
MEMBERS: Iteration 13 out of 38
MEMBERS: Iteration 14 out of 38
MEMBERS: Iteration 15 out of 38
MEMBERS: Iteration 16 out of 38
MEMBERS: Iteration 17 out of 38
MEMBERS: Iteration 18 out of 38
MEMBERS: Iteration 19 out of 38
MEMBERS: Iteration 20 out of 38
MEMBERS: Iteration 21 out of 38
MEMBERS: Iteration 22 out of 38
MEMBERS: Iteration 23 out of 38
MEMBERS: Iteration 24 out of 38
MEMBERS: Iteration 25 out of 38
MEMBERS: Iteration 26 out of 38
MEMBERS: Iteration 27 out of 38
MEMBERS: Iteration 28 out of 38
MEMBERS: Iteration 29 out of 38
MEMBERS: Iteration 30 out of 38
MEMBERS: Iteration 31 out of 38
MEMBERS: Iteration 32 out of 38
MEMBERS: Iteration 33 out of 38
MEMBERS: Iteration 34 out of 38
MEMBERS: Iteration 35 out of 38
MEMBERS: Iteration 36 out of 38
MEMBERS: Iteration 37 out of 38
MEMBERS: Got 7327 members
MEMBERS: Getting 2096 members for group Django-NYC
MEMBERS: Iteration 1 out of 12
MEMBERS: Iteration 2 out of 12
MEMBERS: Iteration 3 out of 12
MEMBERS: Iteration 4 out of 12
MEMBERS: Iteration 5 out of 12
MEMBERS: Iteration 6 out of 12
MEMBERS: Iteration 7 out of 12
MEMBERS: Iteration 8 out of 12
MEMBERS: Iteration 9 out of 12
MEMBERS: Iteration 10 out of 12
MEMBERS: Iteration 11 out of 12
MEMBERS: Got 2098 members
MEMBERS: Getting 1574 members for group PyData NYC
MEMBERS: Iteration 1 out of 9
MEMBERS: Iteration 2 out of 9
MEMBERS: Iteration 3 out of 9
MEMBERS: Iteration 4 out of 9
MEMBERS: Iteration 5 out of 9
MEMBERS: Iteration 6 out of 9
MEMBERS: Iteration 7 out of 9
MEMBERS: Iteration 8 out of 9
MEMBERS: Got 1577 members
MEMBERS: Getting 1169 members for group Learn Python NYC
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 1170 members
MEMBERS: Getting 727 members for group NY Python Data Science
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 726 members
MEMBERS: Getting 694 members for group Python User Group in Princeton
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 694 members
MEMBERS: Getting 619 members for group NY Quantitative Python User Group
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 619 members
MEMBERS: Getting 552 members for group Flask-NYC
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 552 members
MEMBERS: Getting 435 members for group Python for Quant Finance NYC
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 435 members
MEMBERS: Getting 317 members for group NY Financial Python Users Group
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 317 members
MEMBERS: Getting 300 members for group li.py
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 300 members
MEMBERS: Getting 241 members for group Python Brooklyn
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 241 members
MEMBERS: Getting 121 members for group North Jersey Python/Django Developers Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 121 members
MEMBERS: Getting 114 members for group Django Coding Club
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 114 members
MEMBERS: Getting 107 members for group Python Testing
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 0 members
COLLECTING: Saving all the data!
COLLECTING: 11 out of 46
MEMBERS: Getting 457 members for group PyLadies ATX
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 457 members
MEMBERS: Getting 2246 members for group The Austin Python Meetup
MEMBERS: Iteration 1 out of 13
MEMBERS: Iteration 2 out of 13
MEMBERS: Iteration 3 out of 13
MEMBERS: Iteration 4 out of 13
MEMBERS: Iteration 5 out of 13
MEMBERS: Iteration 6 out of 13
MEMBERS: Iteration 7 out of 13
MEMBERS: Iteration 8 out of 13
MEMBERS: Iteration 9 out of 13
MEMBERS: Iteration 10 out of 13
MEMBERS: Iteration 11 out of 13
MEMBERS: Iteration 12 out of 13
MEMBERS: Got 2248 members
MEMBERS: Getting 1014 members for group Austin Web Python
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 1014 members
MEMBERS: Getting 721 members for group Austin Learn Python Meetup
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 721 members
MEMBERS: Getting 43 members for group PyFi
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 43 members
MEMBERS: Getting 39 members for group ATX Django
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 39 members
COLLECTING: Saving all the data!
COLLECTING: 12 out of 46
MEMBERS: Getting 6 members for group PyLadies Wellington
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 0 members
MEMBERS: Getting 252 members for group New Zealand Python User Group - Wellington
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 252 members
COLLECTING: Saving all the data!
COLLECTING: 13 out of 46
MEMBERS: Getting 711 members for group PyLadies Boston
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 711 members
MEMBERS: Getting 5604 members for group The Boston Python User Group
MEMBERS: Iteration 1 out of 30
MEMBERS: Iteration 2 out of 30
MEMBERS: Iteration 3 out of 30
MEMBERS: Iteration 4 out of 30
MEMBERS: Iteration 5 out of 30
MEMBERS: Iteration 6 out of 30
MEMBERS: Iteration 7 out of 30
MEMBERS: Iteration 8 out of 30
MEMBERS: Iteration 9 out of 30
MEMBERS: Iteration 10 out of 30
MEMBERS: Iteration 11 out of 30
MEMBERS: Iteration 12 out of 30
MEMBERS: Iteration 13 out of 30
MEMBERS: Iteration 14 out of 30
MEMBERS: Iteration 15 out of 30
MEMBERS: Iteration 16 out of 30
MEMBERS: Iteration 17 out of 30
MEMBERS: Iteration 18 out of 30
MEMBERS: Iteration 19 out of 30
MEMBERS: Iteration 20 out of 30
MEMBERS: Iteration 21 out of 30
MEMBERS: Iteration 22 out of 30
MEMBERS: Iteration 23 out of 30
MEMBERS: Iteration 24 out of 30
MEMBERS: Iteration 25 out of 30
MEMBERS: Iteration 26 out of 30
MEMBERS: Iteration 27 out of 30
MEMBERS: Iteration 28 out of 30
MEMBERS: Iteration 29 out of 30
MEMBERS: Got 5604 members
MEMBERS: Getting 1709 members for group Django Boston Meetup Group
MEMBERS: Iteration 1 out of 10
MEMBERS: Iteration 2 out of 10
MEMBERS: Iteration 3 out of 10
MEMBERS: Iteration 4 out of 10
MEMBERS: Iteration 5 out of 10
MEMBERS: Iteration 6 out of 10
MEMBERS: Iteration 7 out of 10
MEMBERS: Iteration 8 out of 10
MEMBERS: Iteration 9 out of 10
MEMBERS: Got 1711 members
MEMBERS: Getting 1056 members for group PyData Boston
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 1056 members
MEMBERS: Getting 591 members for group Learning to Program With Python
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 591 members
MEMBERS: Getting 261 members for group PyData - Boston - Cambridge Meetup
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 261 members
MEMBERS: Getting 101 members for group Rhode Island Python User Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 101 members
MEMBERS: Getting 79 members for group Boston Twisted Python
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 79 members
MEMBERS: Getting 65 members for group The Boston Plone Meetup Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 65 members
MEMBERS: Getting 55 members for group Southcoast Python
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 55 members
COLLECTING: Saving all the data!
COLLECTING: 14 out of 46
MEMBERS: Getting 219 members for group PyLadies - Twin Cities
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 219 members
MEMBERS: Getting 857 members for group PyMNtos - Twin Cities PUG
MEMBERS: Iteration 1 out of 6
MEMBERS: Iteration 2 out of 6
MEMBERS: Iteration 3 out of 6
MEMBERS: Iteration 4 out of 6
MEMBERS: Iteration 5 out of 6
MEMBERS: Got 857 members
MEMBERS: Getting 94 members for group Minneapolis/Saint Paul django Meetup Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 94 members
MEMBERS: Getting 36 members for group Py-U-Mah
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 36 members
COLLECTING: Saving all the data!
COLLECTING: 15 out of 46
MEMBERS: Getting 28 members for group PyLadies Istanbul
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 28 members
MEMBERS: Getting 340 members for group Istanbul Python - Django Meetup
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 340 members
MEMBERS: Getting 252 members for group Python Istanbul
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 252 members
MEMBERS: Getting 149 members for group Django Istanbul
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 149 members
MEMBERS: Getting 88 members for group istanbul python developers
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 0 members
MEMBERS: Getting 40 members for group IPython Istanbul Meetup
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 40 members
COLLECTING: Saving all the data!
COLLECTING: 16 out of 46
MEMBERS: Getting 55 members for group PyLadies Vancouver
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 56 members
MEMBERS: Getting 777 members for group Vancouver Python User Group
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 777 members
MEMBERS: Getting 356 members for group djangovan: The Django Vancouver Meetup Group
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 356 members
COLLECTING: Saving all the data!
COLLECTING: 17 out of 46
MEMBERS: Getting 149 members for group Helsinki PyLadies
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 149 members
MEMBERS: Getting 455 members for group Python Helsinki meetups
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 455 members
MEMBERS: Getting 188 members for group Helsinki Python Workshops
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 188 members
MEMBERS: Getting 42 members for group Python Tallinn
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 42 members
COLLECTING: Saving all the data!
COLLECTING: 18 out of 46
MEMBERS: Getting 106 members for group PyLadies Edinburgh
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 106 members
MEMBERS: Getting 165 members for group Python Edinburgh
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 165 members
COLLECTING: Saving all the data!
COLLECTING: 19 out of 46
MEMBERS: Getting 152 members for group PyLadies Vienna
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 152 members
MEMBERS: Getting 305 members for group Python User Group Austria
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 305 members
MEMBERS: Getting 144 members for group Django Friends – Vienna
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 144 members
COLLECTING: Saving all the data!
COLLECTING: 20 out of 46
MEMBERS: Getting 434 members for group PyLadies London
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 0 members
MEMBERS: Getting 1846 members for group PyData London Meetup
MEMBERS: Iteration 1 out of 11
MEMBERS: Iteration 2 out of 11
MEMBERS: Iteration 3 out of 11
MEMBERS: Iteration 4 out of 11
MEMBERS: Iteration 5 out of 11
MEMBERS: Iteration 6 out of 11
MEMBERS: Iteration 7 out of 11
MEMBERS: Iteration 8 out of 11
MEMBERS: Iteration 9 out of 11
MEMBERS: Iteration 10 out of 11
MEMBERS: Got 1847 members
MEMBERS: Getting 1639 members for group The London Python Group - TLPG
MEMBERS: Iteration 1 out of 10
MEMBERS: Iteration 2 out of 10
MEMBERS: Iteration 3 out of 10
MEMBERS: Iteration 4 out of 10
MEMBERS: Iteration 5 out of 10
MEMBERS: Iteration 6 out of 10
MEMBERS: Iteration 7 out of 10
MEMBERS: Iteration 8 out of 10
MEMBERS: Iteration 9 out of 10
MEMBERS: Got 1639 members
MEMBERS: Getting 878 members for group Python for Quant Finance
MEMBERS: Iteration 1 out of 6
MEMBERS: Iteration 2 out of 6
MEMBERS: Iteration 3 out of 6
MEMBERS: Iteration 4 out of 6
MEMBERS: Iteration 5 out of 6
MEMBERS: Got 879 members
MEMBERS: Getting 738 members for group The London Django Meetup Group
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 738 members
MEMBERS: Getting 423 members for group Python and Django Coding Session
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 423 members
MEMBERS: Getting 75 members for group The London Pyramid Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 75 members
MEMBERS: Getting 55 members for group Py In The Sky - Code And Craft In London's Tallest Buildings
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 55 members
MEMBERS: Getting 44 members for group London Django-cms developers Meetup
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 44 members
COLLECTING: Saving all the data!
COLLECTING: 21 out of 46
MEMBERS: Getting 228 members for group PyLadiesATL
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 228 members
MEMBERS: Getting 1908 members for group PyAtl: Atlanta Python Programmers
MEMBERS: Iteration 1 out of 11
MEMBERS: Iteration 2 out of 11
MEMBERS: Iteration 3 out of 11
MEMBERS: Iteration 4 out of 11
MEMBERS: Iteration 5 out of 11
MEMBERS: Iteration 6 out of 11
MEMBERS: Iteration 7 out of 11
MEMBERS: Iteration 8 out of 11
MEMBERS: Iteration 9 out of 11
MEMBERS: Iteration 10 out of 11
MEMBERS: Got 1910 members
COLLECTING: Saving all the data!
COLLECTING: 22 out of 46
MEMBERS: Getting 151 members for group PyLadies Munich
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 151 members
MEMBERS: Getting 317 members for group München (Python|Data)
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 317 members
MEMBERS: Getting 70 members for group PyMunich
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 70 members
COLLECTING: Saving all the data!
COLLECTING: 23 out of 46
MEMBERS: Getting 32 members for group Hinterland PyLadies
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 32 members
COLLECTING: Saving all the data!
COLLECTING: 24 out of 46
MEMBERS: Getting 108 members for group Salt Lake PyLadies
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 107 members
MEMBERS: Getting 503 members for group Salt Lake City Python
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 503 members
MEMBERS: Getting 83 members for group Wasatch Python Developers
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 83 members
MEMBERS: Getting 68 members for group Python at the Point
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 69 members
MEMBERS: Getting 42 members for group Utah Python
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 42 members
MEMBERS: Getting 29 members for group Ogden Python Programmers (OPP)
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 29 members
COLLECTING: Saving all the data!
COLLECTING: 25 out of 46
MEMBERS: Getting 256 members for group PyLadies San Diego
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 256 members
MEMBERS: Getting 1169 members for group San Diego Python Users Group
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 1170 members
COLLECTING: Saving all the data!
COLLECTING: 26 out of 46
MEMBERS: Getting 12 members for group PyLadies Perú
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 12 members
MEMBERS: Getting 294 members for group Python Perú
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 294 members
COLLECTING: Saving all the data!
COLLECTING: 27 out of 46
MEMBERS: Getting 341 members for group PyLadies Berlin
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 341 members
MEMBERS: Getting 1011 members for group Python Users Berlin (PUB)
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 1011 members
MEMBERS: Getting 621 members for group PyData Berlin
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 621 members
MEMBERS: Getting 474 members for group Django User Group Berlin (djub)
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 474 members
MEMBERS: Getting 285 members for group Python Big Data Analytics
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 285 members
MEMBERS: Getting 74 members for group PySprints
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 74 members
COLLECTING: Saving all the data!
COLLECTING: 28 out of 46
MEMBERS: Getting 2409 members for group PyLadies of San Francisco
MEMBERS: Iteration 1 out of 14
MEMBERS: Iteration 2 out of 14
MEMBERS: Iteration 3 out of 14
MEMBERS: Iteration 4 out of 14
MEMBERS: Iteration 5 out of 14
MEMBERS: Iteration 6 out of 14
MEMBERS: Iteration 7 out of 14
MEMBERS: Iteration 8 out of 14
MEMBERS: Iteration 9 out of 14
MEMBERS: Iteration 10 out of 14
MEMBERS: Iteration 11 out of 14
MEMBERS: Iteration 12 out of 14
MEMBERS: Iteration 13 out of 14
MEMBERS: Got 2407 members
MEMBERS: Getting 6204 members for group San Francisco Python Meetup Group
MEMBERS: Iteration 1 out of 33
MEMBERS: Iteration 2 out of 33
MEMBERS: Iteration 3 out of 33
MEMBERS: Iteration 4 out of 33
MEMBERS: Iteration 5 out of 33
MEMBERS: Iteration 6 out of 33
MEMBERS: Iteration 7 out of 33
MEMBERS: Iteration 8 out of 33
MEMBERS: Iteration 9 out of 33
MEMBERS: Iteration 10 out of 33
MEMBERS: Iteration 11 out of 33
MEMBERS: Iteration 12 out of 33
MEMBERS: Iteration 13 out of 33
MEMBERS: Iteration 14 out of 33
MEMBERS: Iteration 15 out of 33
MEMBERS: Iteration 16 out of 33
MEMBERS: Iteration 17 out of 33
MEMBERS: Iteration 18 out of 33
MEMBERS: Iteration 19 out of 33
MEMBERS: Iteration 20 out of 33
MEMBERS: Iteration 21 out of 33
MEMBERS: Iteration 22 out of 33
MEMBERS: Iteration 23 out of 33
MEMBERS: Iteration 24 out of 33
MEMBERS: Iteration 25 out of 33
MEMBERS: Iteration 26 out of 33
MEMBERS: Iteration 27 out of 33
MEMBERS: Iteration 28 out of 33
MEMBERS: Iteration 29 out of 33
MEMBERS: Iteration 30 out of 33
MEMBERS: Iteration 31 out of 33
MEMBERS: Iteration 32 out of 33
MEMBERS: Got 6207 members
MEMBERS: Getting 3666 members for group Silicon Valley Python Meetup
MEMBERS: Iteration 1 out of 20
MEMBERS: Iteration 2 out of 20
MEMBERS: Iteration 3 out of 20
MEMBERS: Iteration 4 out of 20
MEMBERS: Iteration 5 out of 20
MEMBERS: Iteration 6 out of 20
MEMBERS: Iteration 7 out of 20
MEMBERS: Iteration 8 out of 20
MEMBERS: Iteration 9 out of 20
MEMBERS: Iteration 10 out of 20
MEMBERS: Iteration 11 out of 20
MEMBERS: Iteration 12 out of 20
MEMBERS: Iteration 13 out of 20
MEMBERS: Iteration 14 out of 20
MEMBERS: Iteration 15 out of 20
MEMBERS: Iteration 16 out of 20
MEMBERS: Iteration 17 out of 20
MEMBERS: Iteration 18 out of 20
MEMBERS: Iteration 19 out of 20
MEMBERS: Got 3666 members
MEMBERS: Getting 2226 members for group The San Francisco Django Meetup Group
MEMBERS: Iteration 1 out of 13
MEMBERS: Iteration 2 out of 13
MEMBERS: Iteration 3 out of 13
MEMBERS: Iteration 4 out of 13
MEMBERS: Iteration 5 out of 13
MEMBERS: Iteration 6 out of 13
MEMBERS: Iteration 7 out of 13
MEMBERS: Iteration 8 out of 13
MEMBERS: Iteration 9 out of 13
MEMBERS: Iteration 10 out of 13
MEMBERS: Iteration 11 out of 13
MEMBERS: Iteration 12 out of 13
MEMBERS: Got 2226 members
MEMBERS: Getting 1383 members for group San Francisco PyData
MEMBERS: Iteration 1 out of 8
MEMBERS: Iteration 2 out of 8
MEMBERS: Iteration 3 out of 8
MEMBERS: Iteration 4 out of 8
MEMBERS: Iteration 5 out of 8
MEMBERS: Iteration 6 out of 8
MEMBERS: Iteration 7 out of 8
MEMBERS: Got 1383 members
MEMBERS: Getting 1315 members for group Bay Area Python Interest Group (BayPIGgies)
MEMBERS: Iteration 1 out of 8
MEMBERS: Iteration 2 out of 8
MEMBERS: Iteration 3 out of 8
MEMBERS: Iteration 4 out of 8
MEMBERS: Iteration 5 out of 8
MEMBERS: Iteration 6 out of 8
MEMBERS: Iteration 7 out of 8
MEMBERS: Got 1314 members
MEMBERS: Getting 670 members for group San Francisco Python Pub Night
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 670 members
MEMBERS: Getting 456 members for group East Bay Python Web Development
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 459 members
MEMBERS: Getting 418 members for group San Francisco Python Hack Night
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 418 members
MEMBERS: Getting 383 members for group The San Francisco Flask Meetup Group
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 383 members
MEMBERS: Getting 368 members for group Silicon Valley Python Data Science
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 368 members
MEMBERS: Getting 265 members for group SV Python Workshops
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 264 members
MEMBERS: Getting 244 members for group San Francisco Twisted Python Meetup
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 244 members
MEMBERS: Getting 36 members for group Marin Python Meetup
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 36 members
COLLECTING: Saving all the data!
COLLECTING: 29 out of 46
MEMBERS: Getting 96 members for group PyLadies BCN
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 96 members
MEMBERS: Getting 1183 members for group The Barcelona Python Meetup Group
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 1183 members
MEMBERS: Getting 55 members for group The Barcelona Plone Meetup Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 55 members
COLLECTING: Saving all the data!
COLLECTING: 30 out of 46
MEMBERS: Getting 265 members for group PyLadies Taiwan
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 265 members
MEMBERS: Getting 2167 members for group Taipei.py - Taipei Python User Group
MEMBERS: Iteration 1 out of 12
MEMBERS: Iteration 2 out of 12
MEMBERS: Iteration 3 out of 12
MEMBERS: Iteration 4 out of 12
MEMBERS: Iteration 5 out of 12
MEMBERS: Iteration 6 out of 12
MEMBERS: Iteration 7 out of 12
MEMBERS: Iteration 8 out of 12
MEMBERS: Iteration 9 out of 12
MEMBERS: Iteration 10 out of 12
MEMBERS: Iteration 11 out of 12
MEMBERS: Got 2167 members
MEMBERS: Getting 462 members for group PyData / PlaY data
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 462 members
MEMBERS: Getting 435 members for group Python Hsinchu User Group
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 435 members
COLLECTING: Saving all the data!
COLLECTING: 31 out of 46
MEMBERS: Getting 162 members for group PyLadies Dublin
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 162 members
MEMBERS: Getting 1535 members for group Python Ireland
MEMBERS: Iteration 1 out of 9
MEMBERS: Iteration 2 out of 9
MEMBERS: Iteration 3 out of 9
MEMBERS: Iteration 4 out of 9
MEMBERS: Iteration 5 out of 9
MEMBERS: Iteration 6 out of 9
MEMBERS: Iteration 7 out of 9
MEMBERS: Iteration 8 out of 9
MEMBERS: Got 1536 members
COLLECTING: Saving all the data!
COLLECTING: 32 out of 46
MEMBERS: Getting 292 members for group Chicago PyLadies
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 292 members
MEMBERS: Getting 796 members for group Chicago Pythonistas
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 796 members
MEMBERS: Getting 604 members for group ChiPy: Chicago's Official Python User Group
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 604 members
MEMBERS: Getting 131 members for group PyData - Chicago
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 131 members
MEMBERS: Getting 122 members for group Friendly Django Meetup
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 122 members
MEMBERS: Getting 52 members for group Fox Valley Python
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 52 members
COLLECTING: Saving all the data!
COLLECTING: 33 out of 46
MEMBERS: Getting 59 members for group PyLadies Pune
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 59 members
MEMBERS: Getting 1023 members for group PythonPune
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 0 members
MEMBERS: Getting 87 members for group Free Python Django Workshop
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 87 members
MEMBERS: Getting 72 members for group Idiomatic Python
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 72 members
COLLECTING: Saving all the data!
COLLECTING: 34 out of 46
MEMBERS: Getting 19 members for group Seoul PyLadies Meetup
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 19 members
MEMBERS: Getting 479 members for group Python in Korea - Software Geek's Project
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 479 members
COLLECTING: Saving all the data!
COLLECTING: 35 out of 46
MEMBERS: Getting 487 members for group PyLadies PDX
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 487 members
MEMBERS: Getting 1680 members for group Portland Python User Group
MEMBERS: Iteration 1 out of 10
MEMBERS: Iteration 2 out of 10
MEMBERS: Iteration 3 out of 10
MEMBERS: Iteration 4 out of 10
MEMBERS: Iteration 5 out of 10
MEMBERS: Iteration 6 out of 10
MEMBERS: Iteration 7 out of 10
MEMBERS: Iteration 8 out of 10
MEMBERS: Iteration 9 out of 10
MEMBERS: Got 1680 members
COLLECTING: Saving all the data!
COLLECTING: 36 out of 46
MEMBERS: Getting 71 members for group PyLadies Paris
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 0 members
MEMBERS: Getting 1054 members for group Paris.py (Python, Django & friends)
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 1054 members
MEMBERS: Getting 458 members for group Django Paris
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 458 members
MEMBERS: Getting 391 members for group Les Ateliers Python de l'AFPy au NUMA
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 391 members
MEMBERS: Getting 96 members for group @Flask.route('/Paris')
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 96 members
COLLECTING: Saving all the data!
COLLECTING: 37 out of 46
MEMBERS: Getting 129 members for group SA PyLadies Meetup
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 129 members
MEMBERS: Getting 435 members for group Alamo City Python Group
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 435 members
MEMBERS: Getting 205 members for group Alamo Python Learners
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 207 members
COLLECTING: Saving all the data!
COLLECTING: 38 out of 46
MEMBERS: Getting 474 members for group Seattle PyLadies
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 476 members
MEMBERS: Getting 1091 members for group Puget Sound Programming Python (PuPPy)
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 1092 members
MEMBERS: Getting 1029 members for group Python Data Science - Seattle - Bellevue
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 1030 members
MEMBERS: Getting 306 members for group Django Seattle
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 308 members
MEMBERS: Getting 255 members for group PyData Seattle
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 255 members
MEMBERS: Getting 81 members for group Learn Python - Seattle / Bellevue
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 81 members
COLLECTING: Saving all the data!
COLLECTING: 39 out of 46
MEMBERS: Getting 252 members for group PyLadies Montréal
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 252 members
MEMBERS: Getting 571 members for group Montréal-Python
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 572 members
COLLECTING: Saving all the data!
COLLECTING: 40 out of 46
MEMBERS: Getting 15 members for group PyLadies Manila
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 15 members
MEMBERS: Getting 466 members for group Python Philippines
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 466 members
COLLECTING: Saving all the data!
COLLECTING: 41 out of 46
MEMBERS: Getting 41 members for group PyLadies Milano
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 41 members
MEMBERS: Getting 212 members for group Python Milano
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 212 members
COLLECTING: Saving all the data!
COLLECTING: 42 out of 46
MEMBERS: Getting 452 members for group Pyladies.LosAngeles
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 452 members
MEMBERS: Getting 1341 members for group SoCal Python
MEMBERS: Iteration 1 out of 8
MEMBERS: Iteration 2 out of 8
MEMBERS: Iteration 3 out of 8
MEMBERS: Iteration 4 out of 8
MEMBERS: Iteration 5 out of 8
MEMBERS: Iteration 6 out of 8
MEMBERS: Iteration 7 out of 8
MEMBERS: Got 1342 members
MEMBERS: Getting 866 members for group Python Data Science LA
MEMBERS: Iteration 1 out of 6
MEMBERS: Iteration 2 out of 6
MEMBERS: Iteration 3 out of 6
MEMBERS: Iteration 4 out of 6
MEMBERS: Iteration 5 out of 6
MEMBERS: Got 868 members
MEMBERS: Getting 753 members for group LA Django
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 754 members
MEMBERS: Getting 671 members for group OCPython: US.CA.Orange County's Python Community Group
MEMBERS: Iteration 1 out of 5
MEMBERS: Iteration 2 out of 5
MEMBERS: Iteration 3 out of 5
MEMBERS: Iteration 4 out of 5
MEMBERS: Got 0 members
MEMBERS: Getting 515 members for group Los Angeles LAMP Developers (PHP/Perl/Python/Mysql/Apache)
MEMBERS: Iteration 1 out of 4
MEMBERS: Iteration 2 out of 4
MEMBERS: Iteration 3 out of 4
MEMBERS: Got 515 members
MEMBERS: Getting 187 members for group South Bay Python Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 187 members
MEMBERS: Getting 167 members for group OC-U-PY
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 167 members
MEMBERS: Getting 129 members for group Los Angeles Professional Python Users Group
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 129 members
COLLECTING: Saving all the data!
COLLECTING: 43 out of 46
MEMBERS: Getting 300 members for group PyLadies Toronto
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 300 members
MEMBERS: Getting 1078 members for group Python Toronto
MEMBERS: Iteration 1 out of 7
MEMBERS: Iteration 2 out of 7
MEMBERS: Iteration 3 out of 7
MEMBERS: Iteration 4 out of 7
MEMBERS: Iteration 5 out of 7
MEMBERS: Iteration 6 out of 7
MEMBERS: Got 1078 members
MEMBERS: Getting 127 members for group Python Buffalo
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 127 members
COLLECTING: Saving all the data!
COLLECTING: 44 out of 46
MEMBERS: Getting 300 members for group PyLadiesStockholm
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 300 members
MEMBERS: Getting 1271 members for group Stockholm Python User Group
MEMBERS: Iteration 1 out of 8
MEMBERS: Iteration 2 out of 8
MEMBERS: Iteration 3 out of 8
MEMBERS: Iteration 4 out of 8
MEMBERS: Iteration 5 out of 8
MEMBERS: Iteration 6 out of 8
MEMBERS: Iteration 7 out of 8
MEMBERS: Got 1271 members
MEMBERS: Getting 363 members for group Django Stockholm Meetup Group
MEMBERS: Iteration 1 out of 3
MEMBERS: Iteration 2 out of 3
MEMBERS: Got 363 members
COLLECTING: Saving all the data!
COLLECTING: 45 out of 46
MEMBERS: Getting 60 members for group DFW PyLadies
MEMBERS: Iteration 1 out of 2
MEMBERS: Got 60 members
MEMBERS: Getting 836 members for group DFW Pythoneers
MEMBERS: Iteration 1 out of 6
MEMBERS: Iteration 2 out of 6
MEMBERS: Iteration 3 out of 6
MEMBERS: Iteration 4 out of 6
MEMBERS: Iteration 5 out of 6
MEMBERS: Got 837 members
COLLECTING: Saving all the data!
**DONE**
Completed in 33 minutes

Part 5: Graphing

Take a look at Creating Graphs with Pandas and matplotlib.ipynb for how to visualize this data with Pandas (not sure why I broke it up into two notebooks).


In [ ]: