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.97.0.tar.gz (118.1 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.97.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.97.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.97.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.97.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.97.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.97.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.97.0-cp310-cp310-musllinux_1_1_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

deltachat-1.97.0-cp310-cp310-musllinux_1_1_aarch64.whl (10.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

deltachat-1.97.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

deltachat-1.97.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

deltachat-1.97.0-cp39-cp39-musllinux_1_1_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

deltachat-1.97.0-cp39-cp39-musllinux_1_1_aarch64.whl (10.5 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

deltachat-1.97.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

deltachat-1.97.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

deltachat-1.97.0-cp38-cp38-musllinux_1_1_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

deltachat-1.97.0-cp38-cp38-musllinux_1_1_aarch64.whl (10.5 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

deltachat-1.97.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

deltachat-1.97.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

deltachat-1.97.0-cp37-cp37m-musllinux_1_1_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

deltachat-1.97.0-cp37-cp37m-musllinux_1_1_aarch64.whl (10.5 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

deltachat-1.97.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

deltachat-1.97.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

File details

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

File metadata

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

File hashes

Hashes for deltachat-1.97.0.tar.gz
Algorithm Hash digest
SHA256 1f3410029ae70abc40745a4b4db6acaf804e4165d718b3e2756bf43efe9eba10
MD5 6208ae33cf19ed8c8d781cb3799752f8
BLAKE2b-256 5f68643961814a496ee1878b93d46de85b2e15936390f691e51e812111ec11e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13d06ac9fe2d685c68e30332745da538a59da96ab32f1216e1f46ee49190a267
MD5 39a977df43f886deeddd60ba85adca9f
BLAKE2b-256 918445163da2fdb5d5412c05dfb8d0a632ceeac5d65ab2c3fd43a609d8889b0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a865dbc9eb5fe970c1823d8c6664d6b5392fd6ac1a5c19d91547b223b90bc5d4
MD5 3f0031b009c233977a90738d03b50b71
BLAKE2b-256 5552c5c09a982318dbe691b8fabfa05841d68b577f81cf7618971b244265aa04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a17f45053795eaec83cc4857d909ed21a80ab2c26e1c75a7d7f2054e56c1c1e8
MD5 dd2b9a7c819b9bb10ba430e965c719d3
BLAKE2b-256 ddcaf61756ea41884d840e42b875e658c4b4b8f6716b9b4b07aa6ce19209833d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7b162cba61a6114ac34021ed1a0d9ac55d4f06da370b273b0cf763204d80696c
MD5 b39a846b96745dcb855ea8ae9c6f1c54
BLAKE2b-256 9fea84ace14079352edcc889972418fa162bf0ab1cafba9f139a6274de4f1d50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c60f5027df28c605dd02ff3a0134c47ab10fb245addf719a328c58a1621cb443
MD5 a15a202ad83c735067f5e102818846da
BLAKE2b-256 c177fed5e916b3fb772a83470d572d6ec4616e819eca9432f0d1fb40ccb2ae28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3e8ec93e4a218623f4b49af656a4a59170233e46cc5ff8c27aac1d229a6e6bf1
MD5 bc734006e28d877f9d4ef8fb0c2a65c0
BLAKE2b-256 259046c060615da2405e0f1682326acb2ff4f2235bcfea17bda275b16db03500

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7d16715112b269f973ed92697263df438a7ba5a899118c3e1ad53ed3a88845b9
MD5 aec96dc47c1349696f3e7697ab16f833
BLAKE2b-256 7cfc2ecc941236f42e5201e815386ddf7387dba5011ca01b46bb122c4849047f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 cb486b1e4c704403b6f7a5f7f462e093762c7b4b89de9d1d1ab74244831ae080
MD5 a586b91dc398791bebd9f5979ce6c783
BLAKE2b-256 1a05f12f8d823a6e9f913d29393576a78be110ab9b1427607decb104dd44cecf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9de36ce93d90643083f3233d7209b27966620925f8c8b09f21a3e289b7a8007
MD5 5327b948cdbbc9f2e910f701cca5551a
BLAKE2b-256 49be463150695f48eb9d6ba501c057ab5caa26296d06e3d8792de915e0713b9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 957f0d3947fb4ca92a68af1f34271f7c9bc87862f82921a0c72af5913e42f03b
MD5 4a74830dc5b3841910f88d788641affa
BLAKE2b-256 5ca9db8d7b12fe12a5ff0a50b5c48f93a0f636a9a2be618adba5a31e691d555d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 30f5b3aae03a73f7c7094eeccef2161520f019cb85c03d8ec8a3db1140505406
MD5 9b6e6e85c1d31132c6030a62cc9082d9
BLAKE2b-256 0deb13387f9d073a6ea02763c0a4947f34460eeddd46f1e44769ae34494f431e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 3565c6336dbd7ab9604f6bdbf82c44a9482d63eb3f372fbd64823f25a7abd816
MD5 3819b37e059acf3a63d73b901c1f6215
BLAKE2b-256 4d56b73d7677851c824cb259fdc795f860b0034b32b71ee42a078da1a2058a1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a3bfdb1421a3c0edf524c9d12485b99b97a742edf6cd16299a5653ff4e0f8f5
MD5 ed13d24201192c510d024ad2c6131876
BLAKE2b-256 f1e4473a28db88cd37f5fc12b8911ab34dbf0110cdea10187605a3aebdb72d2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 87397a5e9c760b1d18a4f7b4c3bd6ade98089626340a87fe4724dd05e4e579cd
MD5 9c2ea3deb9be039f6bda21b42c7ae9de
BLAKE2b-256 355aceb2f12a84c4f490f29cd881d5a83e5c8c45615d98142342c18d9dd39df3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ec7e2f962c8dc5a8875c8af098ace31582e42ec4f2117ca15eda3ede56282ee8
MD5 e1f59f3b95e10e188c3ac2b8ee20fbdf
BLAKE2b-256 48a7561a53a2bf2c6d6be95fdd4649a088bead7c0231cafcd3e722d2165eee4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 0eddb94269613f3ec96ccf013a13066870f6bf0fdb3001a8a2463407418a7aaa
MD5 dbcf05b8ec7cc2883fd0a5a5ca981580
BLAKE2b-256 ee336e94785999c996ed732d750b1351d1515833ba7e7f9b73c17391cccbcb7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5105b57de339dd302354af39a5e2fb35426455df448c079c08f3c940571c2084
MD5 95d7281c22a50b49b2023ab21b973e6a
BLAKE2b-256 473c2f0973a102ffa5723646503183ecf6e4f0acd37efeda876869a1b8a2adb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 83e22f0971aa2c665d99ed626ecb3856f5e477e8cfed70076c7b5f70e01730f1
MD5 f7d3e6b1e1aef818651544c85043e435
BLAKE2b-256 da7e83c4dd87e4a1009e4213887b8ee8e6c8269bbafbaffd922caba903a3b5ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 df2f883fba29093d2aa3335b503bc70539f3a9c42dcc6208a4f2997ffd7c760c
MD5 38e1a3a803935950426091c4de54845d
BLAKE2b-256 9e186e41cbd81a6331853814ae137407b3d299fbc68953a54e4c9b4547f5331c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 e6afc219bbb0a3e8ab00a7f84d3c219015cc7ee85f3827562e0a0c6d56fdeef9
MD5 a9da1b73c7da6eac2639275880acfb3e
BLAKE2b-256 a51ec24fa098a306a3df3d5e180eec42b60818a84765d6ab5a4ec1c8613787eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3bd879c2d96c0628f7baf247f8b9afc022439c5b743ecde06c7dc73129257d35
MD5 aa768a0b8dd17458de472099679f87d4
BLAKE2b-256 a0d46bd1e369d3709623b48f51647d98302bdfb464f3df74e7cb29100e49609f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.97.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d663708052252cf246743f93949b47bea4b698f36a3758cfd0daac625189fbc6
MD5 b52431dadd85d27ee456c0c827819925
BLAKE2b-256 386ee90671bbccf2afa54f5fb49021d73867c1a523f7f8d5fef33519cff0888f

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