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.95.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.95.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.95.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.95.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.95.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.95.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

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

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.95.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.95.0-cp310-cp310-musllinux_1_1_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

deltachat-1.95.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.95.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

deltachat-1.95.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.95.0-cp39-cp39-musllinux_1_1_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

deltachat-1.95.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.95.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

deltachat-1.95.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.95.0-cp38-cp38-musllinux_1_1_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

deltachat-1.95.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.95.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

deltachat-1.95.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.95.0-cp37-cp37m-musllinux_1_1_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

deltachat-1.95.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.95.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.3 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

File details

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

File metadata

  • Download URL: deltachat-1.95.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.95.0.tar.gz
Algorithm Hash digest
SHA256 d0a4ca2f4acd54407cacf163c63af80272dde16a2d890e707bea8a6e79467c60
MD5 781a03d49d6c20a2352d21f3fa19d6a9
BLAKE2b-256 dcedbee09cdf1b39fad864afaf7cfa499ed0116ba19a78d2611c6ced3307632c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa02656f7619815d38e6deea706774453c22a785e33c71093680a6ff76b1a5cf
MD5 a1c7a3a4adbaa519f72222520d26edf9
BLAKE2b-256 85eded4021ba264fca6f7b65b71b311dd0e641746e6532fcc44d3e65509df030

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8a272fcb846fd3045d76a90a76baaa85f389124b82cfa372062bbf2e15227b84
MD5 ede5f34fb96651689a19fc58e8702285
BLAKE2b-256 8882d51cb6665bee7ac3dc30f783f2836992ca914fe447ae711055579254efc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8195a853464ae1136eaf5f08bea86afc04f056df1161b722bcd00839152a9405
MD5 37e2eb576e7401a13894727d3a29839b
BLAKE2b-256 d3b19694409eef76c03a5c8ca81ecc33c3f2d458699994bb7186be811aab372b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5fddfbad98e35455ab62e9464b15938be93503849cb9b6f4a64be8a49bf15c61
MD5 e3382c0627cb8f53bf58777b46791763
BLAKE2b-256 7aecdb7964294cf8c56a18db5a3c8aab2b8651703370b821be3b7a88a3c98106

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6681cccb55a70d650c52518f4cc7d98a35d930f642d88d741c8bff0fc667196
MD5 1c6b371bc718085914613dbd4659ec11
BLAKE2b-256 297717d963f04424dbc05d38a288c6bde268fed5090100f00e7504ccca237609

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 71a50fd9317bbd06821059110f3ca8d2b80d8d2206d77abe0d3bd6edbe1c8b37
MD5 1001ec900b22cb20f86b05c3a9d13ed9
BLAKE2b-256 75833dc4273f25dfea7df9724f4cd2f63768c9a9776729de6086750236d51366

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0bf2486f99fc06c0424f0316fcc581f2773247bb1844e015de734d708d35bc0d
MD5 cef0c865870507f8641768c701bd45b7
BLAKE2b-256 0c470d05332da762c747e200f2f9edb7345df3a9f3ccb903b918cfedc732676b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 8f232278021a378d081799a63de70df28c58d59a8507102532eb58346679c36a
MD5 bcf6e056cc89cbb8d73accd0ffbcd684
BLAKE2b-256 fc54f4e28f7797326e2097db2e30ff3adf1a3f990fe6a54e0ec22766b7af71eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c8b63fe42fadedb1615f33e72ff539144e853114abc435b9fb98bd39168cf324
MD5 676b2060c81c21e79c5aaa7191fd274f
BLAKE2b-256 8a4c37e1f092e80eb9ff582c5a82d2f3863988b166de79c48c6264642b1657b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 da508a450f27b2bd67aed2712bc23cc4e5fca4aef67327e90bff6af9a780e8f6
MD5 83bbc7307df9a3e9b065a0f971e1a4a0
BLAKE2b-256 68f8a12c5c8841ac5dcfc0e5004bbdc3646d4e94f596256eb7067f040b2838d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 caaed36d46eaf66bd35c95d47ae27ac35c8ec85b5d577d2077931a60e62c0219
MD5 69ee36901935e224c00a9b8074e001ab
BLAKE2b-256 f4cb50b0cd2273c9edf5861865128e5999108dea67fbc2e113d98e21f9166f68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 162933ec7934610858afc7cd4f2a18960eeb09a1d9e23802be7263b6e70fde92
MD5 9516654728d109db09233ff6d22064d3
BLAKE2b-256 89a566f17363493988ef1850b0f6cba547f0e6492b28eb171c631cb440736f15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c68b3b2db40bdeac5c44fac36789c7919edc1f08aaca375a0b87fa710be1d19b
MD5 192b8904644c18daa32c7446907ac36a
BLAKE2b-256 2e43c72154b9a1fcd73495ebec20fd18818d59b0fa3469fa0cd72c85a90aa7ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 673d54329fbf3a0939645d62117d21ac9f4b41f728d763f24e0f1750e443a862
MD5 9b01d8403032b5d42b4c4bb0a46320f2
BLAKE2b-256 b5a2781ce41bed5d3fb8553ecb948a580fa066e365c7e6fbf311a06c1462e9ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b5296bb8b5c0381faaeb3d79b1332eb6e38cf00901e56e205798a24c7bd863da
MD5 a02d8f6b11cb0cc30e93618c2f7e5b51
BLAKE2b-256 18b9e0e5b36d8ffab1e7da2eeccc502dfe46ab0ef8faf9725adcce74da02d657

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 c31edea3d06b3ab2240731e62e88bacb11a0a4fddd84bf6d4b62292ae09d2ead
MD5 0fac26b4c4d657dda3610329115bd73d
BLAKE2b-256 ffa4f1350a43ab6b4fb3f202e6f7ca47b22fda383ce727a9480484b0dbd20052

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ea7c7c67dc56b63f71fc24721a2fb97954f81c97ca65451f80dc50a13c43672
MD5 2765d4208e078dcc6c998f0963185182
BLAKE2b-256 bf2cb10d73c47717e5804a78540eb3400e114e57591b263842ad182ef9cedeac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7aca77b28c688cadab1aec6992ab372aeabf2cc8b0d84b664270dd600ee64574
MD5 2ddba7ea3e68ee93abbbfb1f7f074ef7
BLAKE2b-256 fd3f49412d2e52c1bdae5a511c5cb07133aed17bd8fa312f1c19ac48a2fe9e28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 70e37ac0c5045d7d5ebbe9f5e18eba89be3bff43fee47077c32a193c77a30f58
MD5 ec332dbb08c8d53df3a2da68aa804b57
BLAKE2b-256 6d2563f44d814b0587ace7861cb3647f05969f307420521ec4d5f73f82f3636e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 26682bc79e3656c96187746a9c29cf97a02fe7d96ea126dc425c4c71c8b055ae
MD5 352d231c2b41270e830c2750a25de584
BLAKE2b-256 fd109c5b9ee99fb5b6d264a7ada6f0d34c4e3272a5d8cd8cef405fd42a08bece

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d188d4584803a1f93879a9989152e498942170fa2d1ab690fb8bdef4bcc0baad
MD5 f7482c2f8a109f83ce18688ff3b11ea5
BLAKE2b-256 4f8bb39c09761c61d1ae62bad20a9a327123cc1841482f26e931463b703091cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.95.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f61c508840fa3a97bb5aa4357b2d34851015f405904a7cc4f8292a88a72e1cea
MD5 593e82efb8381b2af1af50eb4ddd2e15
BLAKE2b-256 d677455ea2685dbcc9bd0101a8e0292f1a77fdaa8703c8361bdfc7293aa64035

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