Open source Python wrapper for the WhatsApp Cloud API
Project description
whatsapp-python
Free, open-source Python wrapper for the WhatsApp Cloud API.
Forked from Neurotech-HQ/heyoo.
Installation
To install the library you can either use pip (latest release version):
pip install whatsapp-python
You can also install the development GitHub version (always up to date):
git clone https://github.com/filipporomani/whatsapp.git
cd whatsapp
pip install .
If you want to use a local enviroment you can also use hatch:
git clone https://github.com/filipporomani/whatsapp.git
cd whatsapp
pip install hatch
hatch shell
Documentation is available in the wiki section on GitHub.
Why choose this library?
The main reason why I decided to fork the original library is that it uses an old version of the API, it's missing many useful features and it's almost not mantained anymore.
In this fork I added app events (to listen to incoming messages) and implemented an easier way to send/receive messages and media by using the Message
object.
I fixed some bugs and added many features, however the library still needs a lot of work to be done even if it's working and usable.
Supported features:
- Listening to events (messages, media, etc.)
- Sending messages
- Marking messages as read
- Sending Media (images, audio, video and documents)
- Sending location
- Sending interactive buttons
- Sending template messages
- Parsing messages and media received
Obtaining the WhatsApp API credentials
To use the WhatsApp API you need to create a Facebook Business account and a WhatsApp Business account.
[!TIP]
To create an account, I recommend to follow this video.
Pricing of the API
Whereas using third-party providers of the WhatsApp API can result in monthly fees, using the WhatsApp API^1 offered directly by Facebook is much cheaper, even if the billing documentation is quite difficult to understand.
[!CAUTION]
It is now mandatory to add a credit card to the WhatsApp account (at least for me) in order to use the service. I was even charged a fee for using a non-test phone number (~€1.20), so be careful when using the API! I'm not responsible for any costs you may face by using the API.
All the prices are available in the WhatsApp API docs.
[!TIP]
One recommendation I can give you is to use a test number (you can get a free phone number and use it for testing purposes only).
Migrating from Neurotech-HQ/heyoo
You can ignore this if it's your first time using the library.
- Any version >1.1.2 is incompatible with the original
heyoo
library! Be careful updating! Read the docs first! - Any version <=1.1.2 is fully compatible with the original
heyoo
library and doesn't include breaking changes.
Switching from heyoo to whatsapp-python doesn't require any change for versions up to 1.1.2: just uninstall heyoo
, install whatsapp-python==1.1.2
and change the import name from heyoo
to whatsapp
.
For versions GREATER THAN 1.1.2, messages have became objects, so you need to change your code to use the new methods.
[!NOTE]
Documentation for version 1.1.2 can be found here.
Contributing
If you are facing any issues or have any questions, please open a new issue!
This is an open source project published under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for whatsapp_python-3.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf4843d0ea0c290026fe7f0f7ff090aa4f4e577186164ebee310728f892fd4b1 |
|
MD5 | ead26eb148e6b03ea52175a709e98e39 |
|
BLAKE2b-256 | 58270c4c3212ddc9c68145b5a291f25ca413548f18f11e7d024e499c3b302287 |