/yowsup

The python WhatsApp library

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Yowsup 2 Build Status

Updates (August 01, 2015)

Yowsup v2.3.185 is out, contains fixes in axolotl integration. See release notes

Updates (July 27, 2015)

Yowsup v2.3.183, see release notes

Updates (July 21, 2015)

Yowsup v2.3.167, see release notes

Updates (June 23, 2015)

Yowsup v2.3.123, see release notes

Updates (May 29, 2015)

Yowsup v2.3.84, see release notes

Updates (February 17, 2015)

Yowsup 2.2.78 is out, see release notes.

Updates (January 12, 2015)

Yowsup 2.2.15 is out.

Image upload and send is now implemented. Read here how to integrate in your code, or try it out with yowsup-cli

Read full release notes

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:

End-to-End encryption

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):

Installation

(Updated Jan 12, 2015)

  • 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), pillow (for sending images)

Install using setup.py to pull all python dependencies, or using pip:

pip install yowsup2

Linux

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.

Mac

python setup.py install

Administrators privileges might be required, if so then run with 'sudo'

Windows

  • Install mingw compiler
  • Add mingw to your PATH
  • In PYTHONPATH\Lib\distutils create a file called distutils.cfg and add these lines:
[build]
compiler=mingw32
  • 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 easy_install http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe

or for python3 from:

https://github.com/axper/python3-pycrypto-windows-installer

and then rerun the install command again

Special thanks

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

Thanks!

License:

As of January 1, 2015 yowsup is licensed under the GPLv3+: http://www.gnu.org/licenses/gpl-3.0.html.