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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

deltachat-1.105.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.105.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.105.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.105.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.105.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.105.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.6 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.105.0-cp310-cp310-musllinux_1_1_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

deltachat-1.105.0-cp310-cp310-musllinux_1_1_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

deltachat-1.105.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

deltachat-1.105.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

deltachat-1.105.0-cp39-cp39-musllinux_1_1_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

deltachat-1.105.0-cp39-cp39-musllinux_1_1_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

deltachat-1.105.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

deltachat-1.105.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

deltachat-1.105.0-cp38-cp38-musllinux_1_1_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

deltachat-1.105.0-cp38-cp38-musllinux_1_1_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

deltachat-1.105.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

deltachat-1.105.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

deltachat-1.105.0-cp37-cp37m-musllinux_1_1_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

deltachat-1.105.0-cp37-cp37m-musllinux_1_1_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

deltachat-1.105.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

deltachat-1.105.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de9dfe35f24c63e1865ccb2d93ded19437582ad00e6d53c536773c93475a8236
MD5 8d38ad70d65d5abd768797461cd79c9f
BLAKE2b-256 04ebbdbc81ed05f98bd715e89a02b6463e878316c09574436822fba1edf5e3ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 76c474c337d5d3833b9fe21ce834e4fcdba443b1b71c609e1b24c9b5b70e18cf
MD5 964119088e31c3440cde41e0115e750e
BLAKE2b-256 2765dad3c6f34dedbf6d6aa8ce053a215c302759abf2fc7aa607e0b7531ac7ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10d2a285992969a1c4925987b28fc03daaf6b725be30ad8eaa9510983496e637
MD5 ba4cfcff8260da9c22d027741436458d
BLAKE2b-256 523b1e328a78267de6b2cc5a2556ee5754b2f12ba98bdcb441082a7ab317e2c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 43562d3673d92a13774b1f7edb40d1460db2055a238eb0ce2244d16b31117f0e
MD5 ba2476e93071da5ae2c25bd38492c224
BLAKE2b-256 b275fdaae08e2c2a9c700b3daa29e69b5182107bd9fed5f16d49d409f26000e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff208d79635fe6d3510a71a0e4c2adab62cb7c812d5609433e9b69ade59d13a3
MD5 1906ba42bc42bde0f19f479546430c54
BLAKE2b-256 7a4b7e4cd5cc68c332ca43d1892d48978e992d6190307797fcb9ba6b4fc26497

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5027f48d8146d729cf4e922322f43e45e382a51352e110caea43f946a3b3a5da
MD5 1f55c754e07cf5d0639620c46d044a3f
BLAKE2b-256 34577c5a90c379ea551d91916d249985a81b42bcb3c2a64a1dbd04f81b5ce7ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0c2d131a1d3dd25c1de29f4406e2cd429b95377844b6e1755fd29d67eb52209f
MD5 4c6f236c8fada777c5f00c08f742a77d
BLAKE2b-256 6009a19d5b7e09d05511f9eb7059d57d1a9ce2bdf360b4775b1841384ffdb45a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 807c1ed9fd2107639a49bb34ea74a8646d9533f02ef677a3dbe7addcb6fb62f2
MD5 06184873d3345d06030a5445bd05157c
BLAKE2b-256 01047ad1e14dd6e12fa5bbf89c5389dd56a44b41da97360220f02cfac8396063

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d41a7ae45d8372bc0185d80c3ce6a79c347486c8cf784cb431ba3cd1a76c98b3
MD5 821de3d971ff86c28246e175983aa7ec
BLAKE2b-256 0f51fbd645b055bda0f43c5ccb752e1d9ae001d001a3929777151779b3daaa7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 68d6461044c03afe029cbfe96bd23e862071c8c8627d0f41517deaa956414f32
MD5 5d7d85ed691a752f54e6000221e1f096
BLAKE2b-256 aa7cceef0c546972210f0a439eb6bc874bcdd7cb5f900c534333008a69c4029e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 eccd1425f4d9843b589947b247c3a3fb5cef1332745944a92eba4cd915a9aee3
MD5 49746d076c2756ad52d78eab43c20131
BLAKE2b-256 e8d759cbcf12016f81383cb0b0008030e98cfe79e9fe6cb0bab969a98094d114

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 56f0b8b648ca407a476f560e58370afd10e263b887c3a35d38351bc8ac433fc8
MD5 c68f0e661be02a6b96146bd4000cc90d
BLAKE2b-256 a3b9e1bc09877f12d48478a4e1cd072d298001b492d36fadd42d778ef32f6bd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aeb0c10b2be597f891908f0c35c0420f1021a0b9ad8d84f22ef1024a9cb8750c
MD5 62df41d9dcf339f9e0ef8e86206e0e6e
BLAKE2b-256 55f631f7702b11411c612617cadc89d709bdc4073fe145af40ba3abe76e82f57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bb186fd35c405eacadcce48270f267d1e51a08c020d3a359aa009fbe12c598ec
MD5 ed363d6f0b290c02b3d37c1261e8087c
BLAKE2b-256 2599f4e238f59e27934a820908e294669918385bbd20737baf3e5c4ddcf3bb5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d2904db0ededa4447ff7718143243f54c8da4fe9785c67ca319c37f7247d7a69
MD5 be0aea4835ed34bc3c9dc044a8163a48
BLAKE2b-256 ff56506ba18f7a3776d0fa076f2fb6ea0f2d9c6231ec68dfed9c54faa7acd0f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4311731fa8d89f3a4c494a065ddf2879e63513163f8567b3a15f07dfcc353ea6
MD5 973db32fee9a890ecb0703a22f4e1300
BLAKE2b-256 cb9d1e89e3232d0ffb3f24623bb0e9e19426d4f4d01c459ab814640e37444b6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d139374b14c5ceb07c3deb4f2fcaf7bad7613bf4924faa888a466fd518045f60
MD5 3cee26f87c1f3dba2eb0e152ebd3616f
BLAKE2b-256 25d46dc6c6c1f4c6c02cb718bb0246386b84e3972e65e51304a6bcf26ba09038

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 14c77e105e68874c8f3e39af5e48c0641ae99b9275a9997eefbe9ed520ab8ab2
MD5 943d25efdeba7846827619b51264e4db
BLAKE2b-256 9acebef5c253a3e103f6e0cac6a8c00d176cb8e5c23a0cd91f6d5945ae4f635a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 92b8419d5848292940dd95aded2ba534587dc5502242cb2a8da5a197b7dff3b8
MD5 957bb7429ccd89d6efd074511e513890
BLAKE2b-256 3f1da38dd20675de2ad946d27daccce44c672e2992e0663d8d452ed5b512cef1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 498f39c4fa18ac8ad0cc8473988b4e0595c10c01d6ed43331ef9f8fe4ed3d340
MD5 603e7f2302948e0d697a7128875476c4
BLAKE2b-256 8b7e82d8695ed31a0ebf958557ad0ffdc8613e69ce72c5dca108e25bdbc7a7a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 850bd022cf0014054620e3f7fc5fca092b15ec4c82b670aac6ddee07071e073d
MD5 15a69c3ee30ea287b4e1801c72bf43bf
BLAKE2b-256 230ef7ea90883ba3348047afd563ae4e1fa805e54e24854d3626c7cb82ad585d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.105.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4deb8c1e299ceb41a2e727e995e36c1947509080a4790bd3e357d71e597febfa
MD5 3aa339dca1501e048135cdf5cd46c88e
BLAKE2b-256 d15dd5fb9aee0f5a7627dd12d58a27b7270da6fd18719b7230437322e24df6bf

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