Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

An API for the Threema gateway service to send and receive messages including text, images, files and delivery reports.

Project description

Travis codecov

threema-gateway is a Python 3 module for the Threema gateway service. This API can be used to send and receive text messages to and from any Threema user.


On machines where Python 3 is not the default Python runtime, you should use pip3 instead of pip.


$ sudo apt-get install python3 python3-pip

We recommend using venv to create an isolated Python environment:

$ pyvenv venv

You can switch into the created virtual environment venv by running this command:

$ source venv/bin/activate

While the virtual environment is active, all packages installed using pip will be installed into this environment.

To deactivate the virtual environment, just run:

$ deactivate

If you want easier handling of your virtualenvs, you might also want to take a look at virtualenvwrapper.


If you are using a virtual environment, activate it first.

Install the module by running:

$ pip install threema.gateway

The dependency libnacl will be installed automatically. However, you may need to install libsodium for libnacl to work.

Command Line Usage

The script threema-gateway provides a command line interface for the Threema gateway. Run the following command to see usage information:

$ threema-gateway --help

Feature Levels

Level Text Capabilities Image File Credits
1 X        
2 X X X X  
3 X X X X X

You can see the implemented feature level by invoking the following command:

$ threema-gateway version

Callback Server

The callback server can be used to receive messages. The demo script threema-callback-server prints out received message on the command line. Run the following command to see usage information.

$ threema-callback-server --help

The script resides here.


If you want to contribute to this project, you should install the optional dev requirements of the project in an editable environment:

$ git clone
$ cd threema-msgapi-sdk-python
$ pip install -e .[dev]

Before creating a pull request, it is recommended to run the following commands to check for code style violations (flake8), optimise imports (isort) and run the project’s tests:

$ flake8 .
$ isort -rc .
$ py.test

You should also run the type checker that might catch some additional bugs:

$ mypy .

Reporting Security Issues

Please report security issues directly to one or both of the following contacts:


3.0.6 (2017-09-22)

  • Migrate to aiohttp2

3.0.5 (2017-07-25)

  • Fix to handle new libnacl exceptions.

3.0.4 (2017-05-23)

  • Fix CLI

3.0.2 (2017-05-12)

  • Initial publication on PyPI

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
threema.gateway-3.0.6-py34.py35.py36-none-any.whl (35.4 kB) Copy SHA256 hash SHA256 Wheel py34.py35.py36
threema.gateway-3.0.6.tar.gz (47.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page