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.101.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.101.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.101.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.101.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.101.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.101.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.6 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

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

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.101.0-cp310-cp310-musllinux_1_1_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

deltachat-1.101.0-cp310-cp310-musllinux_1_1_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

deltachat-1.101.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

deltachat-1.101.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.101.0-cp39-cp39-musllinux_1_1_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

deltachat-1.101.0-cp39-cp39-musllinux_1_1_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

deltachat-1.101.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

deltachat-1.101.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.101.0-cp38-cp38-musllinux_1_1_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

deltachat-1.101.0-cp38-cp38-musllinux_1_1_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

deltachat-1.101.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

deltachat-1.101.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.101.0-cp37-cp37m-musllinux_1_1_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

deltachat-1.101.0-cp37-cp37m-musllinux_1_1_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

deltachat-1.101.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

deltachat-1.101.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.101.0.tar.gz.

File metadata

  • Download URL: deltachat-1.101.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.101.0.tar.gz
Algorithm Hash digest
SHA256 47ac33ecc0ea67c17984f5aec8595c60c9776de91715239beb70f64c69e255d7
MD5 0a5c5119878b47d83ade8fe9bf815a5f
BLAKE2b-256 c5d349f4a0a335e7261d375c8f170c1fae40135023883a11f8068d323dca2d91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0145aa63a028fd1cc7762808c8b7bcb9bddbb1b5d5b29d8ddfa38dec06e70f4c
MD5 b933693566d66c7f1a6231db77ab12c9
BLAKE2b-256 2d5e383b666f2429e21aec908f31e6808c468ba0a3f80d23aad2be1ea4407804

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1cddc2938021b2996a118ed8869f41a235099f3052e68e0445cc9f8677af4f9c
MD5 2da56da3087fe8c661e7e8f716211e2f
BLAKE2b-256 7e77b19e5734fab612881b2c36841479d3de8f772e2fa45c4e9705fcc917ffb2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 65cbb1d1908010b09031b5c77e3bdca0113b1de5e479ec84c5d708b392759d9f
MD5 d87ea2461f31aeeafa9996ef558b8813
BLAKE2b-256 4af142833f80ca1a05bfb198035f3879636d9fa1eea37ca38aa86e0b42ecc429

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e881ac86dc559b46e059ca05b998c01ead5d98e184d9517aa9720d370e36bb8f
MD5 3f2d5e9db39cbb7d781f9209ce4589a9
BLAKE2b-256 98589620c0f8b9bb544a072c0a6c99a0f153a1db791b6ecc0751d8445a9656ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ee2be251ed0cb77e762089d1f54011cd10b15cc72356141c79018ee27e36490
MD5 fd4709ec7711defcebed066d2ea1dc1a
BLAKE2b-256 f877d63183fc734a8762dc40824eb92e2988698ad745bffc515aec95a0b31fc1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d176eea183a51037ec1899f93545d9a71e9995e99b19c4cf66fb7b64044f34bb
MD5 236d653ffbdae08b59beff517fcd2314
BLAKE2b-256 2e39cbd29287228ed1fc698614696ed194c18d735c666e71377451836dc3c553

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8982cc0acffabc0d6f5c8f17e78629b39645207f56fa80ff0bb83e88fe96a94f
MD5 0b90397724ca6774a2f01d1d54a17fc5
BLAKE2b-256 3270a5b107ed81110a322940ed6d4ac7382ca3d3f47e571b019845752c5d8646

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 011272d71976a9bf93a70931461ba6b010da13c484a372989937876627e1145f
MD5 5b1d76e53ac2d8d261f6c4a1f4802373
BLAKE2b-256 d0fe43c24fbb2c197947d3833e44154dabe3fc012d13aa0136bd325816df7946

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fb8a6aece38d2938c6d49f3a0df7a936725d11ea08e02e570d7763b50312948
MD5 f7b816abc05028a10a30c008c5705247
BLAKE2b-256 654b9f55124f6b42667ddcd478bf4505d459e6dcf7a63a01bc4fed7f286487d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0b7c20eeada4de1e671d0ce60fd0c77f27975f226b29ff1ba5f4d3ba5f64bb38
MD5 76077c63d2c31046d3e25dd52012239b
BLAKE2b-256 c49be88ed749c0b623e12abc74533c491f4377ec492d5e549122750f8850fe3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8c5e222e7dae6de0ff0eaa4722603e102690fd1f17d07c580b9d4ae1bae50a2a
MD5 705cf94a3e6ce695156fe62f3bb05f9f
BLAKE2b-256 2bbe6f43a2cd1f5b14af1a9f93baf9a3b2e8eb389ef8efc71f5b32f5974be367

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 29c1a7956b652ec186f245d5742d2d23cd33025dcee072c89e78564a7b7e550d
MD5 c9b6f457c6b5d60bce8ece21d63722e6
BLAKE2b-256 5cc057973c957e4608164b87ed41919109ac74823eb9ebdd40d9a247912ab247

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 911f8af41bc9413c0fa13b804f192b602f97fdbf1a31b3939d1414a4f81ac2b1
MD5 9043df334e0d3d79c1e2e5591fb94f37
BLAKE2b-256 c5ca950c40f6b3533f8af59488517cb9a2b911d146a4f11e51258fce3e838cf2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 48737fedce77e6ae29d2900a584bc62bfe6a5aaaf1ab83a8941c1bcbac63f5cb
MD5 9400a59b7c5dd4427eef7242f38e6fe8
BLAKE2b-256 7b7807edb7826130c0657529db6c4a2470f13e590ddcac0dda529c113502a95d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a3f3a5e25bf465dd157104d7157f7729991f0f517fdd8019343a95ae6d65753b
MD5 f3f56aeaa8e8a7ffbd65496a19d690a5
BLAKE2b-256 9e7d97d5bb80e4aa0442de8fa65420f7c4d2a2c5e452e0d8134f4c0974562fd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 9a5120e6d84284afaece97b2dc8bd9eb6a17d5d5f999a60c48f23660399203dd
MD5 3520b232d87ca925f69ae7507d0b00dd
BLAKE2b-256 c8162c14d348a3287d73033ab879dd61f8859dac2c59630a2a654ee31dce5a1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e52fd741390a657084476952c3d313490bab7da7054cad462476c736bece5280
MD5 c4e2746fc56dd77b7840ab8e62f455c9
BLAKE2b-256 c8d0133276c36227cb5e2bbfb5a1131db319e040f9ad970f849495f7d0e8e158

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 444d07ba53b546b2cf4a5e29824f1ec93a3dbe2ee83bb8b363f129e52b8660d7
MD5 4dc4c84f953dc6de717a56367694d6ff
BLAKE2b-256 b2266b6c5654ed41295dc8fc8806c180b792a3658de974f97a194000df0e0491

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e068f3f69cbe1529efaed64c26d94ee9d2f53fb4946280d56ac2a8f5654f50ab
MD5 26b1eec663adda697151016cdb5eb9c1
BLAKE2b-256 ac9aa8561bdee1f47504120f6dffe17cd51fc72edfa8cf9ef7a1a05fbd843089

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 c60eb1e90c83918ad85b3e78eeb9155654c8223d4f8846abeff6aca23fd35d46
MD5 ed628da64b435d9f1657d111953e8fbc
BLAKE2b-256 82199de3cc3200c91e1c1d0bffed1ff9a1a0782dceef34b8fa533b4b7adcd075

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44b23563ca4ecf1024b509f2e01e5b4658dffcfaeca4ebd5399ce94150be7f9a
MD5 42aac668bee951ef68b9f61379fa3e15
BLAKE2b-256 f58672e46a151a9bb6bda7d48b7f22cde9bbcc6f62c1557c3b74889dc47903e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.101.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1eed1ce83fc9ba1844ae11c012583dc4ed8422c28e62b4fdb1e590d705c02a28
MD5 48944ebb7073a8b4fd9cb2bc71394888
BLAKE2b-256 1a4a5e92d7ddea9666e990fb3b1f91e3ce1c3b3ea88cd51e47eac293b4d16fe1

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