Skip to the content.

Latest ReleaseReport IssueGitHub Repository


meetup-scheduler

Batch-create Meetup.com events from JSON specifications.

Features

Installation

uv tool install meetup-scheduler

Or install from source:

git clone https://github.com/things-nyc/meetup-scheduler.git
cd meetup-scheduler
uv tool install -e .

If you prefer not to install globally, you can run commands from the source directory using uv run meetup-scheduler instead.

Authentication

Before using meetup-scheduler, you need to authenticate with your Meetup account:

meetup-scheduler login

This opens your browser to log in to Meetup and grant access. Your credentials are stored securely and refreshed automatically.

To remove stored credentials:

meetup-scheduler logout

Quick Start

# Initialize your project directory
meetup-scheduler init .

# Log in to your Meetup account
meetup-scheduler login

# Sync groups and venues from Meetup
meetup-scheduler sync

# Create events from a JSON file (dry-run first)
meetup-scheduler schedule events.json --dry-run

# Create events as drafts
meetup-scheduler schedule events.json

You can also initialize a new directory in one step from anywhere:

meetup-scheduler init ~/my-meetup-project
cd ~/my-meetup-project

Commands

Command Description
login Authenticate with Meetup (opens browser)
logout Remove stored Meetup credentials
init [PATH] Initialize project directory with skeleton files
config Get or set configuration values
sync Fetch group/venue data from Meetup API
schedule Create events from JSON file
generate Generate event JSON from recurrence pattern
readme Display this README (use --raw for markdown source)

Global Options

Option Description
-v, --verbose Increase verbosity (can repeat: -vv)
-q, --quiet Suppress non-error output
--debug Enable debug mode (show stack traces)
--config PATH Override config file location
--dry-run Show what would happen without making changes

Boolean options can be explicitly negated with --no- prefix (e.g., --no-debug, --no-dry-run). This is useful for overriding defaults or config file settings.

Configuration

Configuration is stored in platform-specific locations:

Project-specific settings go in meetup-scheduler-local.json in your project directory.

License

MIT License. See LICENSE.md for details.

Meta

Contributors

Support

This project is maintained by The Things Network New York.

If you find this helpful, please support The Things Network New York by joining, participating, or donating.