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.94.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.94.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.94.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.94.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.94.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.94.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.94.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.94.0-cp310-cp310-musllinux_1_1_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

deltachat-1.94.0-cp310-cp310-musllinux_1_1_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

deltachat-1.94.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

deltachat-1.94.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

deltachat-1.94.0-cp39-cp39-musllinux_1_1_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

deltachat-1.94.0-cp39-cp39-musllinux_1_1_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

deltachat-1.94.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

deltachat-1.94.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

deltachat-1.94.0-cp38-cp38-musllinux_1_1_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

deltachat-1.94.0-cp38-cp38-musllinux_1_1_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

deltachat-1.94.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

deltachat-1.94.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

deltachat-1.94.0-cp37-cp37m-musllinux_1_1_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

deltachat-1.94.0-cp37-cp37m-musllinux_1_1_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

deltachat-1.94.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

deltachat-1.94.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.4 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

File details

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

File metadata

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

File hashes

Hashes for deltachat-1.94.0.tar.gz
Algorithm Hash digest
SHA256 8dd354d649af2458b5249ac797830ed8e5683bf89e71ae49e7b15bcd4b0c091b
MD5 5f84a299c5c1a831d0d2f92b394b4285
BLAKE2b-256 036b6155c009c705a05f2a42d9c67e6699e2dde42472d5e56e87d81f31c25b66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a2257e8d5868f2c659e5f9cb2ee346a55bef3e32d11e5326bcf9b4bd22b5a95e
MD5 4c0ffa648057e91a30bab51f2db9d0aa
BLAKE2b-256 44f6d7aec2b607b4f78297a4a4ce2c7834a4db1871cd135e0078f9afe3886e76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c960ae27c7ed7e9942ea826075ee616b577d72ad5e93d45b6fe9045e8672b7c0
MD5 4f535b304694864c64580cfdebdbd263
BLAKE2b-256 8aba9aff671639296a528fa21be2de2976374049aa3f178a131336ec673668ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48cebb37747dfa52d5a3422741ab7142c332fad2fef7647e85483bb3316df8c1
MD5 dc3df058794ffec0c6e158ec16b271a9
BLAKE2b-256 8d6e2621c5b0c01238f7ccad3db6acf58a03e645b95aaaff6d4e6338623a3584

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 abaa4d20ef4173c2bbe225519492ed2072ccaa5c0ce6cbb80f5737997d1c6ed3
MD5 d3282db6d1190513f53d46efca86c66e
BLAKE2b-256 5e0ad1f9a58a4e07eeae365fdbb524c315dbf999e3c4c111a1f4dc78193a63f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f3ccb63c0bc10f5b4e238c5efca21fff0fc4fb68acc6981b85adebab918d92d
MD5 14e57d4145fe3bce2261de686f2ce8a3
BLAKE2b-256 8ad6150c934e2d54d3a98f19d2217df71eb6bf859f9d709195e51340065cd51f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9007c16ffde60a00f571bb21eb2e8243f86fb29155e8f6c62b807762fb9a12fb
MD5 73ff3ed74971cff2dea68a91330e11ea
BLAKE2b-256 7a4026419dcd3d1772c342fcfda9de82d9df19886cf8e64cc5b3f5bae7bbe615

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 576e4e98c4c8b7329a399d058f17ed57ba02e757c83280723eaa82e454ec773d
MD5 8bf81abff779c223106fd14b6e2131a5
BLAKE2b-256 14f0004ce3c7dc86a5607c87245e3ea6f8d68cfe2e773edcb2cb3495e6dcabd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 27b943decc760eca2f2e82187ec3ed0b7bba8c2ea9fe5e250c9c5a23a68a83d0
MD5 4edfcfc12b83844ca38202e583d2345b
BLAKE2b-256 93995d48778959cfc6a32bbc537514dcd8df41bf01314c8c5c5042b7a9100768

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e448866bc8adaa4e656824101a9c8499dadb1a5472836a9a9e875393d5064ea
MD5 10d4da997605a310be1c6cc07a1be999
BLAKE2b-256 f31c908e01466f2d7d1b5168eedc741b3330188dbb5eb81bbdb5d679bb7230c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f54b6a777ae3f1cf43ef2e69ccc05598e138708b950f145d402723f102366851
MD5 21c8d511de013290b77eaca6394fe980
BLAKE2b-256 db48582dde6192d60cd5943d7ada625518367c44a5cd61fd5a526e75435052e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 120699a3b4efb76af861271c32549e1f0e0fb59ec77ac651265c38a471b6b416
MD5 1b279d0067ea1529eda09be405bea24d
BLAKE2b-256 f65f5162f198f87970e0a5b306ceb6ccb757896331d8c94b23a67ed4c0556a9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 aadc9d3a96ec2ac8b57db014a0e5c3a740521ce442045129498a9e71c0f7f2a3
MD5 c4d0c5b85eef5a1a9a5f0c5cfb9d4bda
BLAKE2b-256 f49ca2bab68a5d8e41b2b565c1acf8399822edf7c0020fb11184eb5a6dbc22b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0113269b264f2823781c16b61d92aaa0f058fa2218993ee0d4138ccba48c6496
MD5 bfedbb8f90ca4b712b32365636f73280
BLAKE2b-256 914dc5d00bafbdc6ec5ba9c2bc34ac5900092d180e966af99b8a414e9b3c3b40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 859fc0765afa6a1258f07e690114b07b8872e2d9b8380f8b218fffc554d27699
MD5 752f867a489dee83a805e1b8707b259a
BLAKE2b-256 058246d7a3d497794a2fd1cd213d5b2937b9eded802a8a837daf812158ce8d9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b6c56cc1af1ba3eea979f105eb685e891e81586fca98b4b248f1ff519c759d69
MD5 1a9000ec5e976b9131288863034f6338
BLAKE2b-256 5be7f7d3a00a151f7ba02de057485e70dcf349537fce08045b7f7cfff3d88c83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 123e4c5eb1cbb5423cbe026f078142e7bb37feb92df7d4ba427666b0c25de355
MD5 d7a577c7257cfee20e3f57f1b839852b
BLAKE2b-256 00bfe015d42c111c75cf437d82c4029b304d980945a1edf85d49804bf62a0fe0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c8a0e46de0428fc57362ef6beb238aebc999c6eb7a4e18b2c89cad73a2522e0e
MD5 8e877995cb4f2d2d55f6250a958e64dc
BLAKE2b-256 55f38c3b3b0d0a453a1e004d41a19f8d5cd0ed54c805239927365f2cccd831c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 61c9e75d8f69eb41e3e1aff773ae1513462a69aa38833616c0286c899347ee69
MD5 0cc61d47503a0cd26551f650a044f8a5
BLAKE2b-256 f437b341bea3cd953715fb2838f14f669a434cb028e74cd3129e734e77ba56f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a474550e8540f2d1b39487a6961f1c3aec1d53209637782e08510f9938c247e4
MD5 bfdb91bf6bab8c6b0b0d3b5ff3fac939
BLAKE2b-256 88f4261a78b478323e0da12696cdcd124dcc7873b90c41c503121630aa1882de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 893a1ebe6db04f50d4ed89a40dc04d56727394126068df22a3cf192ac5f0db61
MD5 92833562912bad62587a56d3e437cdf9
BLAKE2b-256 65895c5ce0d6d055434d96b7e344cda455357cc81aaafd10f9d289d9c5b07510

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 083247628619211475ddab65c2fb812791f8efdbf8ab9be41b2ef15856af4798
MD5 27889482e7a22b7b1c6bf86145eec438
BLAKE2b-256 8d1ab9a5a0de3a595f8a3b6e5481d93393d01966aa19d69696213cc3bd6b276f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.94.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 da69e9fa1f123af0b05920846c181e905ab7b22b2735cd09491981e040baa269
MD5 6f9b8335d3dec48f95d3a7d2c679fcaf
BLAKE2b-256 bb79fb8ca95e681e50d273bac7959b81a4877bf802307bb24f1de3ae25eb2c72

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