This package provides bindings to the deltachat-core C-library which provides imap/smtp/crypto handling as well as chat/group/messages handling to Android, Desktop and IO user interfaces.
If you have a linux system you may install the deltachat binary "wheel" package
without any "build-from-source" steps.
Install virtualenv, then create a fresh python environment and activate it in your shell:
virtualenv -p python3 venv source venv/bin/activate
Afterwards, invoking
pythonorpip installwill only modify files in yourvenvdirectory and leave your system installation alone.Install the wheel for linux:
pip install deltachat Verify it worked by typing:: python -c "import deltachat"
For Linux, we automatically build wheels for all github PR branches and push them to a python package index. To install the latest github master:
pip install -i https://m.devpi.net/dc/master deltachat
If you can't use "binary" method above then you will need to install the delta-core C-library and then invoke installation of the source bindings:
pip install --no-binary :all: deltachat
Note
If you can help to automate the building of wheels for Mac or Windows, that'd be much appreciated! please then get in contact with us.
You may look at examples.
Get a checkout of the deltachat-core github repository and type:
cd python pip install tox tox
If you want to run functional tests with real e-mail test accounts, generate a "liveconfig" file where each lines contains test account settings, for example:
# 'liveconfig' file specifying imap/smtp accounts addr=some-email@example.org mail_pw=password addr=other-email@example.org mail_pw=otherpassword
The "keyword=value" style allows to specify any deltachat account config setting so you can also specify smtp or imap servers, ports, ssl modes etc. Typically DC's automatic configuration allows to not specify these settings.
You can now run tests with this liveconfig file:
tox -- --liveconfig liveconfig
Building portable manylinux1 wheels which come with libdeltachat.so and all it's dependencies is easy using the provided docker tooling.
We publish a build environment under the deltachat/wheel tag so
that you can pull it from the hub.docker.com site's "deltachat"
organization:
$ docker pull deltachat/wheel
The deltachat/wheel image can be used to build both libdeltachat.so
and the Python wheels:
$ docker run --rm -it -v $(pwd):/io/ deltachat/wheel /io/python/wheelbuilder/build-wheels.sh
This command runs a script within the image, after mounting $(pwd) as /io within
the docker image. The script is specified as a path within the docker image's filesystem.
The resulting wheel files will be in python/wheelhouse.
If you want to build your own custom docker image you can do this:
$ cd deltachat-core # cd to deltachat-core checkout directory $ docker build -t deltachat/wheel python/wheelbuilder/
This will use the python/wheelbuilder/Dockerfile to build
up docker image called deltachat/wheel. You can afterwards
find it with:
$ docker images
On more recent systems running the docker image may crash. You can
fix this by adding vsyscall=emulate to the Linux kernel boot
arguments commandline. E.g. on Debian you'd add this to
GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub.