Skip to main content

Use the combined power of the official Meetup API and a web scraper to implement Meetup into your project.

Project description

Meetup-API

Use the combined power of the official Meetup API and a web scraper to implement Meetup into your project.

Want to support the development financially? Donations are always welcomed! Click here to donate on Liberapay

Installation

pip install MeetupAPI

Usage

from MeetupAPI import Meetup

API credentials optional

Meetup().events()

Based on https://www.meetup.com/meetup_api/docs/:urlname/events/#list

Meetup().events() will return a JSON with events from the group you enter. By default it returns the first 10.000 events of the group.

Required inputs for Meetup():

groupname = str

Optional inputs for .events():

results_per_page = int
pages = 'all' or int ('all' is default)
maximum_num_results = int
fields = list

API credentials required

Meetup().upcoming_events()

Based on https://www.meetup.com/meetup_api/docs/find/upcoming_events/

Will return a list of upcoming events on Meetup.

Required inputs for Meetup():

groupname = str
client_id = str
client_secret = str
redirect_uri = str

Optional inputs for .upcoming_events():

results_per_page = int
pages = 'all' or int ('all' is default)
maximum_num_results = int
city = str (Example: 'Berlin, Germany' or 'New York, NY')
lat = float
lon = float
text = str
topic_category = int
min_num_attendees = int
filter = list (options are: 
    'online_meetups' -> filters for online meetups, on zoom, skype, jitsi, etc.
    'lang:{language short code}' -> filter for events who's title is in the language you define. Example: 'lang:en' or 'lang:de'
    'group_urls_only' -> returns urls of groups instead of events as json

Meetup().create()

Based on https://www.meetup.com/meetup_api/docs/:urlname/events/#create

If successfull, Meetup().create() will return the event it was given, but with the meetup link as event.url_meetup_event. If the request fails, Meetup().create returns None.

Required inputs for Meetup():

groupname = str
client_id = str
client_secret = str
redirect_uri = str

Optional inputs for Meetup():

default_space_name = str
default_space_address_street = str
default_space_address_zip = str
default_space_address_city = str
default_space_address_countrycode = str
default_space_how_to_find_us = str
default_space_timezonestring = str

Required inputs for .create():

event = Event class (with fields 
    'str_name_en_US',
    'text_description_en_US',
    'int_minutes_duration',
    'float_lat',
    'float_lon',
    'str_name_en_US',
    'int_UNIXtime_event_start',
    'url_meetup_event' 
    and Event.save() function)

Optional inputs for .create():

announce = boolean (announces the event to group members on meetup)
publish_status = 'draft' or 'published' (default is 'draft')

Meetup().delete()

Based on https://www.meetup.com/meetup_api/docs/:urlname/events/#delete

If successfull, Meetup().delete() will return the event it was given, but with event.url_meetup_event = None. If the request fails, Meetup().delete returns None.

Required inputs for Meetup():

groupname = str
client_id = str
client_secret = str
redirect_uri = str

Required inputs for .delete():

event = Event class (with field 'url_meetup_event' and Event.save() function)

Meetup().message()

Meetup().message() can send a message (including optional placeholders) to one or multiple other users.

Required inputs for Meetup():

email = str (required because Meetup doesn't have an API function for sending messages, so it's done via Selenium)
password = str (required because Meetup doesn't have an API function for sending messages, so it's done via Selenium)

Required inputs for .message():

receiver_member_ids = str or list
message = str

Optional inputs for .message():

json_placeholders = list (with json entries in this scheme: {'keyword':xxxx,'replace_with':yyyyy})
save_log = boolean
log_path = str (default: 'sent_messages_log.json')
spam_prevention = boolean (default: True, prevents sending the same message multiple times to the same user or sending too many messages in a short time period to the same user)
spam_prevention_wait_time_minutes = int (default: 1440)
test = boolean (default: False, makes a screenshot of the message instead of sending the message)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MeetupAPI-1.2.0.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

MeetupAPI-1.2.0-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file MeetupAPI-1.2.0.tar.gz.

File metadata

  • Download URL: MeetupAPI-1.2.0.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for MeetupAPI-1.2.0.tar.gz
Algorithm Hash digest
SHA256 c7436be63c6426aefcd75051d73020ac396713ba829c6a0d0b14f55b799531d4
MD5 20f4f0a8cc54db15f1b3e26d5032f595
BLAKE2b-256 b53f311355563438ea7831810b2ebff9d3dc4fcbf2e6189f2f0981e7ea18a7fd

See more details on using hashes here.

File details

Details for the file MeetupAPI-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: MeetupAPI-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 27.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for MeetupAPI-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5dccaea662eda568c6e81b042a0004755accde00f8a7c8f1e6431cb686f28545
MD5 a40b18eb3e1ecbd4053befa7eb1112e0
BLAKE2b-256 c701b588a6a037d103daa41a66ca4ac05e316cc10ce27e2ad1cac9fbd86362e2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page