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.107.1-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.107.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.6 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.107.1-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.107.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.6 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.107.1-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.107.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.6 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

deltachat-1.107.1-cp310-cp310-musllinux_1_1_aarch64.whl (10.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

deltachat-1.107.1-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.107.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

deltachat-1.107.1-cp39-cp39-musllinux_1_1_aarch64.whl (10.9 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

deltachat-1.107.1-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.107.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

deltachat-1.107.1-cp38-cp38-musllinux_1_1_aarch64.whl (10.9 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

deltachat-1.107.1-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.107.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

deltachat-1.107.1-cp37-cp37m-musllinux_1_1_aarch64.whl (10.9 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

deltachat-1.107.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

deltachat-1.107.1-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.107.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deltachat-1.107.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d518a8728a15fc7c6234790b8a785791fae41e41468a6b514ba4586070bf57f
MD5 976cda51a5c72d5440179f8f442aced2
BLAKE2b-256 7b3b59614fbde3295104039650ad57feb542acdb701c1b49cd18d21c979211ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 09da01e8a6e0f2bb5b39bd3a13479ae2213c6a4fb3343fcfb58aa0465e876233
MD5 5ffc39b6c971f52392e492c13b96a1c1
BLAKE2b-256 b11b89be3c0c7990ee7b6933ee6ec148e25274a810d147737be48731f763cc95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 771efc96f88a9c77d7337c7786e65080c6a884ccee4d95bb638caf6c082ae62e
MD5 b904e610905d85ee0cb9db9dea2cebe1
BLAKE2b-256 68122c8d7e578192342fe77a384dd94a542fb3c896e86c6865bfa7dbd8a027f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1d2398ddb63908bc2df61031d4b50e98e8a39650cd58690a0715ebd7ff09c737
MD5 1beefaf7c42f2f756804cd5e9a9245e3
BLAKE2b-256 13ae9b337ee94c8e7cbc94a4aa7549321e6825d9168c7d99071ee5e9871e755f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3852536e94c9efcbd78f56ea23208a6b94335787ccc1eaea270e19b968116656
MD5 c618e4313e06947cc4ce59fd625c7daf
BLAKE2b-256 d14331e1054c8d4761577af75f2c60f5f852900871be2928e8b99481d0b27197

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6d2dd8127dbc7bba58ebf8a123f56899916c50007c3ddb6949aff6125f5fb7dc
MD5 c3d39832fb959a24d47f1caa1ce000a0
BLAKE2b-256 695bc0099a51f24b2ca862dbd3c1479e285a5abe86683724502d1a14faafee44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 038799fdb4f5e77a97c338379e122f0ce310b41ff527e50a3565c6137070ce33
MD5 d4b29b5e5f5b628d95b5bd3670f61f82
BLAKE2b-256 e299f1364242fabd5963cbeb976c2fa2ad96d092cb07d0de763db029123aac09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 b830dcaaf31efef5bccda888bdf02fe58d153a94b4736da5f94172aaa4a74b71
MD5 ae4f77ced8bb1126fae532ae09fa1284
BLAKE2b-256 d32d3afe8a1f67ec167477aaaf3ec123fb6eb4f7c876a96a7f11b32141ac23d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7cacaa0ca64c75d6f17b8cd3aa5f7b2b2a3aa8981b01da1a5d47b0aeab10ad79
MD5 7f2184e94c47ba835f20fad9581afc4e
BLAKE2b-256 05dbb376eb5504a7a76a640528d8600ac23baf03de2ca8f0b30e5021190cbe29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0de7a7b9d5e8072160f604c8a59e14358b2155f85d291612a2d51e263abbf9ad
MD5 4838a86930881dad7a851672b0636bfa
BLAKE2b-256 1e5bbe58e299f2dbcae7fec15a813981c386b578fabc114f80a2907361505978

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f7ab19fefdd1e13d0af0aefe4be95d0cd60417ac90ac9a970139803ad9c633b0
MD5 acc6540c3b37a4cb432c38e2360d5cd3
BLAKE2b-256 97baac1173ba3c92a474ca64f5738a3ff463ebea72afbe12361f08ca960238be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 5c9fa3361493667c4ada6881251cbb4f2ff7805e49f4a2327c1bfef175c23e35
MD5 31c802376a6e2745440831056026c065
BLAKE2b-256 efec2d079de6915d5a77f2b8d577ebe489cc3eab5858de6d581fca60fed36fc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d3ec4734dda0a35b91cf17dad790100dcfa012faf217481c39bcdeb63d38631c
MD5 be45a19499cb70a32e1c5bbb368548f7
BLAKE2b-256 9141b4c22107fbd3f92ddb288ec403090b85ec84e81c084adbfef8611f61ffa4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f8a716e36031d3b930c2dfb9ca99be79c513ba80c8d3f162b4d45acd623a3011
MD5 77d3d62df09b03cd13911ac05e965758
BLAKE2b-256 377e3769e1b5a15eb2bb5059ec29aa5be64b48dfa391ff4bf7b22305a5509278

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 95ea5b142a2620a6b565eae057ff2d353a8b52800bf8d002e13853b4a1c0df56
MD5 6a816ec16b6c05f087fb12a2a0af9285
BLAKE2b-256 5671e72c1204ebb6499702d731dcf71d63fd878843be302cdcc375ab01723d59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 e7bc79795c14654a68b3e4acab0d783ec58f69474d0fe30e7f5d2ae319c19136
MD5 5f3090fd513f62fe7932d3cf6ae7033e
BLAKE2b-256 6bd9d2c6af99a158f865b2ac2eaf67a8c05ca0d76fba269987744b03690e47c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c714a78eddc9ce9891944c6c00f4d9ec258393d69bfb20db2b5aa82c72daaab6
MD5 2bb6205ce229809cc18d49c06549dc98
BLAKE2b-256 2f70348e0c12dfb7466fb402788cf00ec190a9f8fe7f903691ad74de351e50ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 32a4aae9934ec965ad3cf07cf0f3a72ce14be3c3b568ea384293d6ab883e9569
MD5 635c682ffacaf2686fcc51455aca9531
BLAKE2b-256 a0937bdb9f17a5f8b3b2c4dfe7da165697e01a1aa91e2394f1b55802b06912c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 069428d2c0f4f94057b8839fff641e2ace66bbde79e0e6cbd1074556590b75bb
MD5 4148ec2c202130e2c1d3da7e0bbaaa30
BLAKE2b-256 bde6450cdd0734bb51ae1cd5e79e240e8d8cbdbff23f5945ddd2595eb3b8c599

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 9aa97556f800db4d144d174c2b684ea20731345cfd6dc296473d7cfb4492333f
MD5 d97efca6dd32dbf42d4b8d9e8f6adaa9
BLAKE2b-256 7b146eee33c8554f4be79a54e8409ce562ebcb6917fb93091ce1aefb433193f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b276608cade53a01ce09894c30d4a1c58a8f0eb9af220f83fc949a5c24190ba0
MD5 1626c19641e3c3effea1a715e76f2b3c
BLAKE2b-256 ff8b2a976ac0205859e1d9b2428fbf0780de5113057ff8f2ad90c71c68450af7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.107.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 92962673acf4a01deaa175f6fa8f107ae7ba7da8c8c10b61eb51a3284c95d4d0
MD5 012c2ab36b84303a1517ec08f24b05d8
BLAKE2b-256 7e9c8c386a51f185baf2db4e71db8f08db2355260e24ef0f0ab02d15399d5db8

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