# tgalal/yowsup

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tgalal-yowsup).**

7,178 stars · 2,191 forks · Python · GPL-3.0

## Links

- GitHub: https://github.com/tgalal/yowsup
- awesome-repositories: https://awesome-repositories.com/repository/tgalal-yowsup.md

## Description

Yowsup is a protocol library and client framework for implementing WhatsApp clients. It provides an interface for sending and receiving multimedia messages, managing group chats, and handling account registration.

The project features a modular system for building communication stacks that process encrypted data and network connections. It includes a protocol library to manage messaging, presence states, and account registration, alongside an interactive command line interface for interacting with users and managing contacts.

The framework covers a range of communication capabilities, including end-to-end encryption for text and media files, group chat management, and contact data synchronization. It also implements network reliability utilities for proxy connections, heartbeat intervals, and automated session recovery.

## Tags

### Networking & Communication

- [WhatsApp Messaging Integrations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/whatsapp-messaging-integrations.md) — Provides a comprehensive SDK for sending and receiving multimedia messages and managing group chats via the WhatsApp protocol.
- [Custom WhatsApp Clients](https://awesome-repositories.com/f/networking-communication/custom-whatsapp-clients.md) — Provides a comprehensive framework for building alternative messaging applications with custom user interfaces and logic.
- [Protocol Libraries](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/protocol-libraries.md) — Provides a protocol library for handling messaging, presence states, and account registration.
- [WhatsApp Bot Frameworks](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/whatsapp-bot-frameworks.md) — Offers a modular framework for building automated bots to manage contacts and messages via the WhatsApp protocol.
- [Command Line Messaging Clients](https://awesome-repositories.com/f/networking-communication/command-line-messaging-clients.md) — Ships an interactive command line interface for communicating with users and managing contacts through a terminal.
- [Communication Layers](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-layers.md) — Assembles a modular pipeline of abstraction layers to route data between the network and the application.
- [Communication Stacks](https://awesome-repositories.com/f/networking-communication/custom-whatsapp-clients/communication-stacks.md) — WhatsApp-web-api assembles pipelines of protocol and interface layers to define authentication and data processing. ([source](https://github.com/tgalal/yowsup/wiki/Sample-Application))
- [Group Chat Administration](https://awesome-repositories.com/f/networking-communication/group-chat-administration.md) — Enables programmatic creation of groups, member role adjustments, and participant removal. ([source](https://github.com/tgalal/yowsup/blob/master/CHANGELOG.md))
- [Text Message Transmission](https://awesome-repositories.com/f/networking-communication/text-message-transmission.md) — Provides the capability to transmit text-based messages to specific contacts or groups using protocol entities. ([source](https://github.com/tgalal/yowsup/wiki/Sample-Application))
- [Contact Synchronizations](https://awesome-repositories.com/f/networking-communication/contact-management/contact-caches/contact-synchronizations.md) — Synchronizes contact lists and processes notifications when contact information changes. ([source](https://github.com/tgalal/yowsup/blob/master/CHANGELOG.md))
- [Incoming Message Processors](https://awesome-repositories.com/f/networking-communication/incoming-message-processors.md) — Implements handlers that listen for incoming messages and trigger specific callbacks based on the message type. ([source](https://github.com/tgalal/yowsup/wiki/Sample-Application))
- [Message Receipt Transmission](https://awesome-repositories.com/f/networking-communication/message-receipt-transmission.md) — Implements the transmission of delivery and read status indicators for messages within the protocol. ([source](https://github.com/tgalal/yowsup/wiki/Sample-Application))
- [Proxy-Managed Connection Sessions](https://awesome-repositories.com/f/networking-communication/network-reliability-diagnostics/connection-session-management/connection-management/proxy-managed-connection-sessions.md) — Manages network connectivity through proxies with automated ping intervals and session recovery logic.
- [Stream Reconnection Management](https://awesome-repositories.com/f/networking-communication/network-reliability-diagnostics/connection-session-management/connection-management/stream-reconnection-management.md) — Manages proxy connections and implements automated reconnection logic and ping intervals to maintain stream stability. ([source](https://github.com/tgalal/yowsup/blob/master/CHANGELOG.md))
- [Protocol Event Handlers](https://awesome-repositories.com/f/networking-communication/protocol-event-handlers.md) — Triggers specific callback functions automatically when protocol entities like messages or presence updates are received. ([source](https://github.com/tgalal/yowsup/wiki/Architecture))

### Part of an Awesome List

- [Messaging Multimedia Transmission](https://awesome-repositories.com/f/awesome-lists/media/media-and-files/messaging-multimedia-transmission.md) — Transmits and receives diverse media types including audio, video, images, and documents through the WhatsApp protocol. ([source](https://github.com/tgalal/yowsup/blob/master/CHANGELOG.md))
- [WhatsApp - Mobile and desktop messaging app](https://awesome-repositories.com/f/awesome-lists/more/whatsapp-mobile-and-desktop-messaging-app.md) — Listed in the “WhatsApp - Mobile and desktop messaging app” section of the List Of Python Api Wrappers awesome list.

### Security & Cryptography

- [Encrypted Messaging Platforms](https://awesome-repositories.com/f/security-cryptography/encrypted-messaging-platforms.md) — Implements secure text and multimedia communication leveraging end-to-end encryption protocols.
- [End-to-End Encryption](https://awesome-repositories.com/f/security-cryptography/end-to-end-encryption.md) — Secures conversations using end-to-end encryption protocols to prevent unauthorized interception of messages. ([source](https://github.com/tgalal/yowsup/blob/master/CHANGELOG.md))
- [Media Encryption](https://awesome-repositories.com/f/security-cryptography/privacy-data-protection/data-encryption/end-to-end-encryption/media-encryption.md) — Provides cryptographic protection for binary media assets during transmission and storage.
- [User Profile Management](https://awesome-repositories.com/f/security-cryptography/identity-access-management/identity-management/user-management/user-profile-management.md) — Provides functionality to retrieve profile pictures, update privacy settings, and fetch contact status. ([source](https://github.com/tgalal/yowsup/blob/master/CHANGELOG.md))
- [User Account Registrations](https://awesome-repositories.com/f/security-cryptography/user-account-registrations.md) — Handles the account setup process by requesting registration codes via SMS or voice. ([source](https://github.com/tgalal/yowsup/wiki/yowsup-cli))

### Artificial Intelligence & ML

- [Chat State Indications](https://awesome-repositories.com/f/artificial-intelligence-ml/chat-state-management/chat-state-indications.md) — Exchanges real-time chat state indications, such as typing or paused status, with the server. ([source](https://github.com/tgalal/yowsup/blob/master/CHANGELOG.md))

### Business & Productivity Software

- [Group Settings Management](https://awesome-repositories.com/f/business-productivity-software/group-management/group-settings-management.md) — Allows for the programmatic configuration of group attributes and member permission levels.

### Data & Databases

- [Object-to-XML Mapping](https://awesome-repositories.com/f/data-databases/data-serialization-formats/xml-serialization-formats/xml-serialization/object-to-xml-mapping.md) — Translates raw XML data from the protocol into structured language objects to avoid manual node traversal. ([source](https://github.com/tgalal/yowsup/wiki/Architecture))

### Software Engineering & Architecture

- [Event-Driven Callbacks](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-callbacks.md) — Implements an architectural pattern that executes specific handler functions in response to asynchronous protocol events.

### System Administration & Monitoring

- [Account Automation Frameworks](https://awesome-repositories.com/f/system-administration-monitoring/account-management-apis/account-automation-frameworks.md) — Provides a programmable interface for automating account registration, profile updates, and contact synchronization.

### User Interface & Experience

- [Collaborative Presence States](https://awesome-repositories.com/f/user-interface-experience/application-state-managers/collaborative-presence-states.md) — Maintains and broadcasts real-time user activity indicators like online status through the protocol.
