Skip to main content

Python bindings for the Delta Chat Core library using CFFI against the Rust-implemented libdeltachat

Project description

This package provides Python bindings to the deltachat-core library which implements IMAP/SMTP/MIME/OpenPGP e-mail standards and offers a low-level Chat/Contact/Message API to user interfaces and bots.

Installing pre-built packages (Linux-only)

If you have a Linux system you may try to install the deltachat binary “wheel” packages without any “build-from-source” steps. Otherwise you need to compile the Delta Chat bindings yourself.

We recommend to first install virtualenv, then create a fresh Python virtual environment and activate it in your shell:

virtualenv env  # or: python -m venv
source env/bin/activate

Afterwards, invoking python or pip install only modifies files in your env directory and leaves your system installation alone.

For Linux we build wheels for all releases and push them to a python package index. To install the latest release:

pip install deltachat

To verify it worked:

python -c "import deltachat"

Running tests

Recommended way to run tests is using tox. After successful binding installation you can install tox and run the tests:

pip install tox
tox -e py3

This will run all “offline” tests and skip all functional end-to-end tests that require accounts on real e-mail servers.

Running “live” tests with temporary accounts

If you want to run live functional tests you can set DCC_NEW_TMP_EMAIL to a URL that creates e-mail accounts. Most developers use https://testrun.org URLs created and managed by mailadm.

Please feel free to contact us through a github issue or by e-mail and we’ll send you a URL that you can then use for functional tests like this:

export DCC_NEW_TMP_EMAIL=<URL you got from us>

With this account-creation setting, pytest runs create ephemeral e-mail accounts on the http://testrun.org server. These accounts exists only for one hour and then are removed completely. One hour is enough to invoke pytest and run all offline and online tests:

tox -e py3

Each test run creates new accounts.

Installing bindings from source

Install Rust and Cargo first. The easiest is probably to use rustup.

Bootstrap Rust and Cargo by using rustup:

curl https://sh.rustup.rs -sSf | sh

Then clone the deltachat-core-rust repo:

git clone https://github.com/deltachat/deltachat-core-rust
cd deltachat-core-rust

To install the Delta Chat Python bindings make sure you have Python3 installed. E.g. on Debian-based systems apt install python3 python3-pip python3-venv should give you a usable python installation.

Ensure you are in the deltachat-core-rust/python directory, create the virtual environment with dependencies using tox and activate it in your shell:

cd python
tox --devenv env
source env/bin/activate

You should now be able to build the python bindings using the supplied script:

python3 install_python_bindings.py

The core compilation and bindings building might take a while, depending on the speed of your machine.

Building manylinux based wheels

Building portable manylinux wheels which come with libdeltachat.so can be done with Docker or Podman.

If you want to build your own wheels, build container image first:

$ cd deltachat-core-rust # cd to deltachat-core-rust working tree
$ docker build -t deltachat/coredeps scripts/coredeps

This will use the scripts/coredeps/Dockerfile to build container image called deltachat/coredeps. You can afterwards find it with:

$ docker images

This docker image can be used to run tests and build Python wheels for all interpreters:

$ docker run -e DCC_NEW_TMP_EMAIL \
   --rm -it -v $(pwd):/mnt -w /mnt \
   deltachat/coredeps scripts/run_all.sh

Project details


Download files

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

Source Distribution

deltachat-1.92.0.tar.gz (117.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

deltachat-1.92.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.92.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.92.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.92.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.92.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.92.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.92.0-cp310-cp310-musllinux_1_1_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

deltachat-1.92.0-cp310-cp310-musllinux_1_1_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

deltachat-1.92.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

deltachat-1.92.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

deltachat-1.92.0-cp39-cp39-musllinux_1_1_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

deltachat-1.92.0-cp39-cp39-musllinux_1_1_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

deltachat-1.92.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

deltachat-1.92.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

deltachat-1.92.0-cp38-cp38-musllinux_1_1_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

deltachat-1.92.0-cp38-cp38-musllinux_1_1_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

deltachat-1.92.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

deltachat-1.92.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

deltachat-1.92.0-cp37-cp37m-musllinux_1_1_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

deltachat-1.92.0-cp37-cp37m-musllinux_1_1_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

deltachat-1.92.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

deltachat-1.92.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

File details

Details for the file deltachat-1.92.0.tar.gz.

File metadata

  • Download URL: deltachat-1.92.0.tar.gz
  • Upload date:
  • Size: 117.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: devpi-server/6.6.0.dev2 (py3.8.11; linux)

File hashes

Hashes for deltachat-1.92.0.tar.gz
Algorithm Hash digest
SHA256 c39c3bd6e42501016c7bc3073f80f0a77c902aff6d4c54982a22e3d8726af515
MD5 3ea1a600ec60629787e67c112d65a3f9
BLAKE2b-256 ca7c288125def240e599188d0d46454214df862c30f3f72de296a4bd89d5bef1

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a8cce104f9038c5d08c9dce403ae916ab20e0e7484c786fd0329a83c0a8b948
MD5 629a132ef311351f8127cc3cffeff662
BLAKE2b-256 b5970fe783a711e293e7047a554953b4abbe04c9691c66bd3187d54220d82543

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f8e6376e00ce250f2aa222848c745cae088ecf660bfd260568fa31520892de13
MD5 3030ba9d441937a36a1e060dd2e9083c
BLAKE2b-256 b4ce72d28be8481991fa288b3e0f582d77cb4a5c4de55470d410b917cada7b67

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 010bfc35410a7995910c390541350877b393b9f4520fa93740d5cb6aa3f2a98c
MD5 0b8ac0819d9863a4412e1643a1e16ec9
BLAKE2b-256 d997380cca6ae17aac1588501748ae4ee046f226b52e42c47f6f28a625f72382

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d0b8d42f0e29884ff512f95c72444d8669616a94aac599e5562a44d36463b011
MD5 83b7c6bec5b936203f59e9028cad1301
BLAKE2b-256 c45d7a7b88f665cbf215145ad4cea1904bad63414fc7459fccd4654cf2532043

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 872faecad3e3fe32eb6cef4071dd3e40b542392eb8b14d98c3ce27668acc0032
MD5 bc95c1c83c1baf0816de2cad45963c8e
BLAKE2b-256 3e4b0faca329b65922987b95e775d15a38eb31bc14b1c26d9a0e5d9ce63e0a58

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b2c9029020e8c5105f5d84f62b0b9f70f78224de4eaeef76476931658547640
MD5 a0805f65f7607cff64f5fc60fca56c2a
BLAKE2b-256 d9eeedd919d0315c2ad532fbc3d2282c82d74ea0f12bd4b405d3fa62ab910531

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2b1f953a683c6d7f318e1d0620fc8a4b3f7122ac6dcb371033528a649badc8c7
MD5 45a5b99af61b283108f43161e7b24d3c
BLAKE2b-256 b01d429c8bbdcc1980fcf59d45a65c07a0253c418389b297c1a8293134f0a066

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 3a131f114c8f5cb9b22d901bff50b32848f47bc844aca353c361e4c2e44e2e46
MD5 2c23848da59887c11c80e6185155016e
BLAKE2b-256 aa619520f9afb30891ad9d15c3fbb91a3f4851bedff06a0d50cd019b258acd3f

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b6df578bcce5641e7c77739b0aed2936720748659862be2b223359bb6d5dcc3
MD5 215102789e1bcc521df3a37191803a6b
BLAKE2b-256 17737e9196af48278dde1ac1d23a85de96a76dd004071784b032864889189302

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8045cb345159c6f51348d3df881d4e620a72746a64e67b62b49628b5f70384b7
MD5 0e691bc9c90b1eaba263bad2ef45f872
BLAKE2b-256 0a9b7b745b8bfd1137b9dc4914dcb9f960f3005b5cfd754b2dabda27f9ff103d

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 81b0ad87a2288bac47a4d1f1efdb49c08f7c774a990c14aca2bb0f0e4963c03d
MD5 512c7269f5e14527bad68b4544e1908a
BLAKE2b-256 84c104874d93a5d38b261442e6136eb22046b105fcb5969d1efd3905f331667d

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 09094c099f549e78134565274a4b10608b5b6b8fbfdee960095b420bcabca7d5
MD5 f65a2cfe7413de921ed44469a5e35e2a
BLAKE2b-256 e922c575c345011a6f4847facd3c36ad7b026f7bcf648c263aa55f847cb574ea

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cafda7b7413b65a999040cd9797e838749f6faf2eed4f386c09e0aed637117b4
MD5 f0726c71f466d46b9939814f818f3d39
BLAKE2b-256 8e784cc8a673fa4e0216df1da6e247fc770f96cf8a3ecab36c2e409aa355c5ab

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a3a6baa17ab25eb07d4d5f3a4ac469acf15c95b4c83380cc8b9fc88fc1aa0201
MD5 cdf2755a107ef89c904d66c72e253070
BLAKE2b-256 42e747c80a069d576a5179e74d60efdaf630aa900d65c9ea985609c3f4731a3d

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 96020a99bb2f509499d29e9e35381c444403a08953fb5843c88a32691d837e64
MD5 984fd8e4f541731df6265542cb51b7e1
BLAKE2b-256 d45338bfac4f09c31b8da7e294dd18f805a4f50b330dea13e902b9dc8647de83

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp38-cp38-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ecc9a404506ec305c84d849aafce548353291e11d6a11a252935ccc28f08a510
MD5 d6a0bbf83e0a611175005b1ac4f7f2a0
BLAKE2b-256 90fdfe8a8c3d7adb859c97d0aca47e123caa520e2f57a42a37b8d569c9acc676

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7a3141907a1d1b2d8a205723697e44a1ec5751735963f8678cba36c74396aa34
MD5 9a0e084d115bc0dbef84a9d0a33e2e81
BLAKE2b-256 a1def84b84e2b8d07551d82f55da1cd8a301c82e8e7015fcc4502ffa9b19d7b4

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 140b77f0974517c4fceb19113fc3362c78c8c2728506b497ee03170295259e5b
MD5 e8135b087551a112ec7e31dc9307170d
BLAKE2b-256 07e160e509476c2ac4830ca4ac89c5d163fae43fab7d8e2d4f6946e65d001f3a

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d4e31e616cb2568c45819c7874e59a4a9aad9d69d831a9fcbde2e61136d2334f
MD5 8238ea2a335cf851b50bb86cd465a200
BLAKE2b-256 fe8715c03296726b0cce14c38807db071a3a5436fbd1b6964b0ee97b465292db

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp37-cp37m-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 befda57bbad36498f31bbda465c4a605b985b2c240d65f768b145b20fb72a1d1
MD5 5ae6872ccc49b6cf9e2c59d3eb417c6d
BLAKE2b-256 8ee4ba720993e4e100c4470039efa3e3e1d02d8cc2f19b07c5f95de1b521a9b1

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8eba06a803d1713d60d6717ac1f49c99728cae290645b66b3c6889c9482d9f5f
MD5 11f396374502deb386a6e8ba60c53f16
BLAKE2b-256 457834e4895b81a312a848ffbd079777fb3d4eb2f4a7a4afbdd4c714b089b627

See more details on using hashes here.

File details

Details for the file deltachat-1.92.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deltachat-1.92.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4a6b25fa2d5807beac1eac6601e1d43fe67fdb1f1114feee5e41c1771548808f
MD5 5da08c5fccfdd31a26a867a1d7877f1f
BLAKE2b-256 7741ee1c75083cef02c4391c81dc070e39017c5f96ceea3bd97e442bd457faf1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page