An API for the Threema gateway service to send and receive messages including text, images, files and delivery reports.
Project description
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.
Note
On machines where Python 3 is not the default Python runtime, you should use pip3 instead of pip.
Prerequisites
$ 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.
Installation
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.
Contributing
If you want to contribute to this project, you should install the optional 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 (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:
Danilo Bargen
Email: mail@dbrgn.ch
Threema: EBEP4UCA
Lennart Grahl
Email: lennart.grahl@gmail.com
Threema: MSFVEW6C
Changelog
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
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 threema.gateway-3.0.5-py34.py35.py36-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b20772f191dfd3ce44b56a0fa800abeab77275219516973c9bd0a8f75cc831ca |
|
MD5 | f0248c85ee72c38aeafa1da1a472c5e7 |
|
BLAKE2b-256 | 691da78aac5e58b661342c2f48ce6281162ca7948c6fc00d8ccb93ec26741a85 |