Updates (January 1, 2015)
Happy new year!
P.S: Yowsup's license changed to GPLv3 (previously the MIT License was used).
(December 31, 2014)
New features land in yowsup. You will need to re-install to pull new dependencies. Follow the updated install instructions for your OS.
A couple of highlights:
Yowsup now implements the new end-to-end encryption recently introduced in WhatsApp (AKA axolotl) (AKA textsecure). To activate in demos pass in '--moxie' switch. Example:
yowsup-cli demos --config /path/to/config --yowsup --moxie
This will make messages communication with WhatsApp platforms which support this feature encrypted. At the moment it's only Android, which means yowsup got this feature even before official WhatsApp clients on other platforms.
For platforms which do not support encryption, they will get plaintext messages as usual.
More technical details about axolotl in yowsup here
New Send client demo
Use the send client demo in yowsup-cli to login, send a message and exit.
yowsup-cli demos --config /path/to/config --send NUMBER "Hello world"
Yowsup opened WhatsApp service under platforms!
Yowsup is a python library that enables you build application which use WhatsApp service. Yowsup has been used to create an unofficial WhatsApp client Nokia N9 through the Wazapp project which was in use by 200K + users as well as another fully featured unofficial client for Blackberry 10
What's new in Yowsup 2
Everything! The old library code was so messed up that I was disgusted just by looking at it. I rewrote the library from ground up with a much more robust, extensible architecture and a much simpler and easier to read code.
For devs, the update is breaking for any old code. While old code will stay in "legacy" branch for a while, it's advised that you upgrade your code. Unless your code is a full fledged WhatsApp application, migrating won't be a hard task.
Here is what you need to know about Yowsup 2.0 to get started: (Or quickly jump to installation):
- The new architecture
- Create a sample app
- yowsup-cli 2.0
- The new Command line client
- Yowsup development, debugging, maintainance and sanity
Installation (Updated Dec 31, 2014)
- Requires python2.6+, or python3.0 +
- Required python packages: python-dateutil,
- Required python packages for end-to-end encryption: protobuf, pycrypto, python-axolotl-curve25519
- Required python packages for yowsup-cli: argparse, readline (or pyreadline for windows)
Install using setup.py to pull all python dependencies
You need to have installed python headers (from probably python-dev package) and ncurses-dev, then run
python setup.py install
Because of a bug with python-dateutil package you might get permission error for some dateutil file called requires.txt when you use yowsup (see this bug report) to fix you'll need to chmod 644 that file.
I don't have mac to test. Send me instructions or a MacBook.
- Install mingw compiler
- Add mingw to your PATH
- In PYTHONPATH\Lib\distutils create a file called distutils.cfg and add these lines:
- Install gcc:
mingw-get.exe install gcc
- Install zlib
python setup.py install
If pycrypto fails to install with some "chmod error". You can install it separately using something like
and then rerun the install command again
Special thanks to:
and everyone else on the WhatsAPI project for their contributions to yowsup and the amazing effort they put into WhatsAPI, the PHP WhatsApp library
Special thanks goes to all other people who use and contribute to the library as well.
Please read this if you'd like to contribute to yowsup 2.0
As of January 1, 2015 yowsup is licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html.
Earlier versions were licensed under the MIT License and the reason for the change is the new dependency on python-axolotl (GPLv3) which provides us with End-to-End encryption, without which yowsup would have been unusable in the near future.