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.99.0.tar.gz (118.2 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.99.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.99.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.99.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.99.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.99.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.99.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.99.0-cp310-cp310-musllinux_1_1_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

deltachat-1.99.0-cp310-cp310-musllinux_1_1_aarch64.whl (10.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

deltachat-1.99.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

deltachat-1.99.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

deltachat-1.99.0-cp39-cp39-musllinux_1_1_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

deltachat-1.99.0-cp39-cp39-musllinux_1_1_aarch64.whl (10.6 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

deltachat-1.99.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

deltachat-1.99.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

deltachat-1.99.0-cp38-cp38-musllinux_1_1_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

deltachat-1.99.0-cp38-cp38-musllinux_1_1_aarch64.whl (10.6 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

deltachat-1.99.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

deltachat-1.99.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

deltachat-1.99.0-cp37-cp37m-musllinux_1_1_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

deltachat-1.99.0-cp37-cp37m-musllinux_1_1_aarch64.whl (10.6 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

deltachat-1.99.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

deltachat-1.99.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

File details

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

File metadata

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

File hashes

Hashes for deltachat-1.99.0.tar.gz
Algorithm Hash digest
SHA256 2e108cc58062763114da25d5ed3f9f76c7da718a262534a47437507c1698141f
MD5 0b69ba04928a7ad9898bcbe95c08d28c
BLAKE2b-256 094ce0b2fffd856e28a2210708bd2d419ebe84cdf5314eb7e5ec3eb002de38ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9331ff62ff9427accfa91f060d48bb663ae26487cab60aa19dd29651b048a347
MD5 6383afce3692977297be02651d5708d6
BLAKE2b-256 c5480c10e1b88096e509427a31dac55ade8b13bdbd5b8728d39011c68319f629

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c8168f6f5e49720ca87ef4f1e35277777206294e8597e5b1a0db70a25bddf64c
MD5 cc55c31eeaf6d2803c042e64eb4dbfa2
BLAKE2b-256 21d55334dbe3ccd0257525e70cfbec5405eee3952caf6c8bbfffd85a13ce2b20

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ffdf3e75f08ec472ced282805c456547b1dc7222304eca8b9d6163d939d5d853
MD5 9c1757e1db25c54e95b964874a9ef894
BLAKE2b-256 3c9693b71d677034f70f5572559b578e5c6091ffbff88c674c19446dcb305243

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c9c1ad449abc977e84350f98e6bb19adbe79f271644439ab9ee27f2d400e428d
MD5 f8b37a32c48544a3fdd4adfecb4c0e09
BLAKE2b-256 f3efa8d5b80d491ea18a2a4945bef45fdf413abe209ebed9739fe63b74518662

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff80a0275686039c6152eee0154ea0a0549c03c7e1176f10ba674d586b13c1cd
MD5 eb8aeb5771955f72c06cfd10c8b29302
BLAKE2b-256 6da0eb0311605edcd3343bd3568feb42edfee756e8fd01e024d7f760a0262ff2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 52b04529ad7c7c17932fdde5b39b58d72210fb474a7729c852a45539b8623641
MD5 246c35c75a09f789ffb5ddd7d3219446
BLAKE2b-256 40fb90edce215f49341748f00bff514ec2a2608291bddf7e8ff4fe440da6043e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a5280cce892e55f6d934151dabf176ebccec5e372a841fc3548c22155cf74af1
MD5 d441cbbd8efcaba3e547435fa95a4f78
BLAKE2b-256 43ac63e0b02f3ad0be5f0bf555e5983fa9cc7df0f5e3298a5073c77e08cf81e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 c499afd48746332f47112fba792b172fea6959d13d6ce1802c91a5db088ab753
MD5 d18819175b46a9b057e9b4c094f6739a
BLAKE2b-256 154037b6fa2e320f311565b99f771d7388aa8ddb587b4ce5538952b24664aad3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc20a5ebff0c6e11b2021bc179d4e0d53ead8b694d17d465abc2e0e461fefe85
MD5 c3be9e26e091b37d77cb368594091cfe
BLAKE2b-256 e02c1ee87db4d72b8236e7d719f9d93d7d3f199c5e108ea325f73e6e2111753f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d7b7003567ba6cfb3796c82f87cf5dac02112dc3642891b803a7c8780e8ccd8a
MD5 665a34822ecc96ffaa7894c965d2440e
BLAKE2b-256 2fea24a87aea0a4e0619f808dcbc5e1751926ba4bb3c0aaa1fad3929d932a333

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6ff9b08f08ef1fd3ec9aa10e63471112ecd81eab8a39cd56efd7b17398b80fe2
MD5 b7a1565de8a659da6aef49ba3a4e741f
BLAKE2b-256 43e1725c4240b2a0ee3cc653c8bbb855ef2138552091b24cc42b6ba5fddb48c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4c0ce41518f17ed22748d1cc11e779c2b112e71ff24e70e04824306573fec27d
MD5 1444b1555298aaa1f987c6f63814a525
BLAKE2b-256 1b29d6e596b5e1924d9b58d27681255d99779bb705b33059c40d3f0f2ba38ae9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13ef9bf4fc9ee0d856943db9799787ec62a8ac0cb341f911269b242b628d3a89
MD5 f7f6a124c6faec7e6b9d0c76175df55b
BLAKE2b-256 ea940379e0a9c9538e3705f778018752e83b2c4df8a673846184df7b5970a0ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2fc8b1244522357317e5811b4a83d04bb2a71598108250b7a19c401830b14c74
MD5 9febb847f95ba8d318559289d65ab45c
BLAKE2b-256 c5b0c262e4b2adef1939de9b601dceb3f61f75b559ad6372ba8f1b7c5786e475

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 061ceaad7f93a631985ec46b5713135fb2d6c8f16106aa87f96a8f30bf26c700
MD5 f5882927b052f2f3e559899884009712
BLAKE2b-256 1fe34bbaeca33906eebf2812ae575f8fe964cf7ec1a17044bb6b2ae7dfe174f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 f632a7e9a4d7816a3f424caae33ad0e376ebdaf50530980f008b2d33a60dc66d
MD5 e6e4261c2dcdf36f1f7eca89b39119d3
BLAKE2b-256 16d02fcb25c27f312a44d4572b4c61a7b6bddca9d6156b9f0e56fae93c8e208d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 285bc7fadb71f4981ba4b7960e7b8944cbee4c77d31127235051c757fe846cb2
MD5 8d97f5f91f6fe7d0f96661652fd040ee
BLAKE2b-256 741d763f78a0ae5cb16164393c13cafc98bd19ea6e66ef7b83836252587e66c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0abe0912192a2a947fed2ac6d0786b6394b5ddb418578fea852f9f1a713857e3
MD5 d76b8e8c66627c38d24d2e301728c31d
BLAKE2b-256 3306f69ef5523d481092caccad415d74b161f024757630bba4fd0df9b51352b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 fc64b2d30ccf7f09f512b3b8ae6da121a41402ead4112919891cadb766af9176
MD5 f773247373e5a1dbd2a8d97b9406ff30
BLAKE2b-256 61ac0e5e5e93535d5b81a6d39656bf214e172ad4e8a7d4c0ef2b81c310f93209

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 8ddbd19504e8f341cab2144c34c59ecd6ac0ff6040a26c47ef0af949b3e0c26e
MD5 9b96e49c8cd70fff7d28ac84221a238f
BLAKE2b-256 0a8f342b4817dc8136b4ecf2373e4058b1177b7f4e3b204dd819ba1347a6195f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f45cc023f172daaaf53397dfb7fb536abb8faf5434897cc28623c20a3d1444a
MD5 212e6229c50308df5d4640598d9ce74a
BLAKE2b-256 21062183457565c528eb79eb39d8aafff397661a47d62d64625fbab49b3761fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.99.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 53f7467481e52124d3fff02a565bba3aee1d535251e4534242897f1a83b0e049
MD5 473289938d2997501719ffbaf7ea09d3
BLAKE2b-256 31876806d3b7bdb827276e76d3cb807fcf1dd3498eb1ea08ac0f70c9634e408b

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