Threema Gateway API
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
pip3 instead of
$ 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:
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
libnacl will be installed automatically. However, you
may need to install libsodium for
libnacl to work.
Command Line Usage
threema-gateway provides a command line interface for
the Threema gateway. Run the following command to see usage information:
$ threema-gateway --help
You can find a few example scripts in the
Note that most of them need to be adjusted to at least add your gateway ID credentials before they run successfully.
You can see the implemented feature level by invoking the following command:
$ threema-gateway version
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.
Invalid environment marker: python_version<="3.4"
If you're getting the following error when installing the library:
Unpacking /tmp/threema-msgapi-sdk-python Running setup.py (path:/tmp/pip-5b1d7h0w-build/setup.py) egg_info for package from file:///tmp/threema-msgapi-sdk-python error in threema.gateway setup command: Invalid environment marker: python_version<="3.4" Complete output from command python setup.py egg_info: error in threema.gateway setup command: Invalid environment marker: python_version<="3.4"
... then you have an old version of setuptools installed. If you use a venv (as
described in the "Prerequisites" section), enter it (using
venv/bin/activate) and then upgrade setuptools:
$ pip install -U setuptools
Now installing the
threema.gateway module should work.
If you want to contribute to this project, you should install the
dev requirements of the project in an editable environment:
$ git clone https://github.com/lgrahl/threema-msgapi-sdk-python.git $ 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 (
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: