A command line python utility to manage your social networks (Twitter, Facebook, Instagram, LinkedIn, Discord, YouTube, TikTok, and Threads)
Current version: 2.0.0
Note
Agoras v2.0 Now Available!
Version 2.0 introduces major improvements:
- Modular Architecture: Split into 5 separate packages for better maintainability
- New Platforms: Telegram, WhatsApp, Threads, and X (Twitter rebrand) support
- OAuth2 Infrastructure: Automatic callback server for easier authentication
- Enhanced CLI: Platform-specific commands with improved validation
Breaking Changes: Import paths and package structure have changed. See MIGRATION.rst for detailed upgrade instructions.
Agoras is a python utility that helps publish and delete posts on the most popular social networks (X (formerly Twitter), Facebook, Instagram, LinkedIn, Discord, YouTube, TikTok, Threads, Telegram, and WhatsApp).
This repository stores the application. There's also GitHub actions that you can incorporate into your workflows.
For more information, please read the full documentation.
Agoras v2.0 introduces a modular architecture that splits the monolithic package into 5 independent PyPI packages:
- agoras-common: Shared utilities, logging, and constants
- agoras-media: Image and video processing
- agoras-core: Abstract interfaces (SocialNetwork), Feed, and Sheet logic
- agoras-platforms: Platform implementations (Facebook, Twitter, etc.)
- agoras: Command-line interface (depends on all above)
Key Features:
- New Platforms: Telegram, WhatsApp, Threads, and X (Twitter rebrand)
- OAuth2 Callback Server: Automatic local server for easier authentication
- Enhanced CLI: Platform-first commands (
agoras twitter postinstead ofagoras publish --network twitter) - Modular Installation: Install only what you need, or use
pip install agorasfor everything
Breaking Changes: Import paths and CLI commands have changed. See MIGRATION.rst for upgrade instructions.
The agoras program is written in python and hosted on PyPI.
Therefore, you can use pip to install the stable version:
$ pip install --upgrade agoras
If you want to install the development version (not recomended), you can install directlty from GitHub like this:
$ pip install --upgrade https://github.com/LuisAlejandro/agoras/archive/develop.tar.gz
Starting with v2.0, Agoras is split into 5 separate packages for better modularity. The main CLI package automatically installs all dependencies:
$ pip install agoras # Installs all 5 packages
For selective installation (advanced users only):
$ pip install agoras-common # Just utilities and logging $ pip install agoras-media # Common + media processing $ pip install agoras-core # Common + media + core interfaces $ pip install agoras-platforms # All above + platform implementations $ pip install agoras # Everything including CLI
Package Architecture:
agoras-common: Utilities, logging, shared constantsagoras-media: Image and video processingagoras-core: Abstract interfaces (SocialNetwork), Feed, Sheet logicagoras-platforms: Platform implementations (Twitter, Facebook, etc.)agoras: Command-line interface (depends on all above)
When to use each package:
- Most users:
pip install agoras(installs everything including CLI) - Python integrations:
pip install agoras-platforms(no CLI, all platforms) - Custom platforms:
pip install agoras-core(interfaces only) - Media processing:
pip install agoras-media(no social features) - Utilities only:
pip install agoras-common(minimal dependencies)
Post to Twitter with the new intuitive CLI:
$ agoras twitter post \
--consumer-key "${TWITTER_CONSUMER_KEY}" \
--consumer-secret "${TWITTER_CONSUMER_SECRET}" \
--oauth-token "${TWITTER_OAUTH_TOKEN}" \
--oauth-secret "${TWITTER_OAUTH_SECRET}" \
--text "Hello from Agoras!" \
--image-1 "https://example.com/image.jpg"
See all available platforms:
$ agoras --help
See platform-specific commands:
$ agoras twitter --help $ agoras facebook --help $ agoras youtube --help
Agoras supports 11 platforms with intuitive platform-first commands:
- X (formerly Twitter):
agoras x <action>- Full action set (post, video, like, share, delete) - Facebook:
agoras facebook <action>- Full action set (post, video, like, share, delete) - Instagram:
agoras instagram <action>- Post and video actions - LinkedIn:
agoras linkedin <action>- Full action set (post, video, like, share, delete) - Discord:
agoras discord <action>- Bot-based messaging (post, video, delete) - YouTube:
agoras youtube <action>- Video platform (video, like, delete) - TikTok:
agoras tiktok <action>- Video platform (video, delete) - Threads:
agoras threads <action>- Meta's platform (post, video, share, reply, analytics, moderation) - Telegram:
agoras telegram <action>- Send messages, photos, and videos - WhatsApp:
agoras whatsapp <action>- Send messages via WhatsApp Business API
Publish from RSS/Atom feeds:
$ agoras utils feed-publish \
--network twitter \
--mode last \
--feed-url "https://blog.example.com/feed.xml"
Run scheduled posts from Google Sheets:
$ agoras utils schedule-run \
--sheets-id "${GOOGLE_SHEETS_ID}" \
--sheets-name "Schedule"
- Using Agoras with Twitter
- Using Agoras with Facebook
- Using Agoras with Instagram
- Using Agoras with LinkedIn
- Using Agoras with Discord
- Using Agoras with YouTube
- Using Agoras with TikTok
- Using Agoras with Threads
- Migration Guide (New CLI Format)
- How to get credentials for Twitter
- How to get credentials for Facebook
- How to get credentials for Instagram
- How to get credentials for LinkedIn
- How to get credentials for Discord
- How to get credentials for YouTube
- How to get credentials for TikTok
- How to get credentials for Google spreadsheets
If you have any doubts or problems, suscribe to our Discord server and ask for help. You can also
ask your question on StackOverflow (tag it agoras) or drop me an email at luis@luisalejandro.org.
See CONTRIBUTING for details.
See HISTORY for details.
Copyright (C) 2022-2026, Agoras Developers (read AUTHORS for a full list of copyright holders).
Released under a GPL-3 License.
Web luisalejandro.org Β· GitHub @LuisAlejandro Β· Twitter @LuisAlejandro