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.90.0.tar.gz (117.8 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.90.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.90.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.90.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.90.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.90.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

deltachat-1.90.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

deltachat-1.90.0-cp310-cp310-musllinux_1_1_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

deltachat-1.90.0-cp310-cp310-musllinux_1_1_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

deltachat-1.90.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

deltachat-1.90.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

deltachat-1.90.0-cp39-cp39-musllinux_1_1_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

deltachat-1.90.0-cp39-cp39-musllinux_1_1_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

deltachat-1.90.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

deltachat-1.90.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

deltachat-1.90.0-cp38-cp38-musllinux_1_1_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

deltachat-1.90.0-cp38-cp38-musllinux_1_1_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

deltachat-1.90.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

deltachat-1.90.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

deltachat-1.90.0-cp37-cp37m-musllinux_1_1_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

deltachat-1.90.0-cp37-cp37m-musllinux_1_1_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

deltachat-1.90.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

deltachat-1.90.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

File details

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

File metadata

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

File hashes

Hashes for deltachat-1.90.0.tar.gz
Algorithm Hash digest
SHA256 49d581c04b7946047c1793a8949dff434e0e956d267bb938dc11fbb1378766e2
MD5 6363b52c790f2d71e92174b4fba292b1
BLAKE2b-256 a0a1b48508237044ebd53356874485a339c280fd68381a2247d5238f4bc461b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73934e745a501e27d7afa5549930bb51dedd425cb5c2f81c2539b2d4b387fbc7
MD5 50dd233cd97beabe8da8bfaa76fd9de7
BLAKE2b-256 ab34ea2e1048d66af6a7683f37c11bf1d6a58feb361882cd37ccc8bea68aa2ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a49e7aceed41fb635aab21b8c5d5ae78cb85d5ababc32d631a5fb95e5dd116c5
MD5 2b83eaa1f9502502e0a1bb75e1e84173
BLAKE2b-256 f2ea56ffca81453e6ba601fdee8fdee2d77fa1c096384473cc0bc2f5e9239ccf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d7a659bd4674b008a1a6198585e672a5cffe1254d805cff680bd86f73fdff1fb
MD5 df973da87c4f71f414d271e727459f51
BLAKE2b-256 7fbfe4f133eb580f0b92b009e6f8ac6fbb96e1c9e6a8088f383a620e0403761f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0b0749178f55a3000a59c35e9f104c54fa8f09d32e044536f09bea6e5df7706e
MD5 4b2ebaa55762576c87d3223de263e45a
BLAKE2b-256 4d96cee230c08f6cffe8ec25dff26876ed899c94f8bfc24b1a535a6945cd50d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12ef348eed0f4f4cb5611e2c80bc25d4c4fd12e08a62a3712de53e392b6af741
MD5 3f0633b2218a380bb8cc58d73e4de2d8
BLAKE2b-256 b186f44e3d3ed8baeabb5ecaa5e88b8e3dc368e8463fc5607fa68567ec837cf7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2135ca9530e79e6974006673fd5746f69e4f6054a3e92308078b90f0b34f4412
MD5 9daabbcf9c3ca4a6d2c436b92fe9afff
BLAKE2b-256 d6466a8aea17ccdf994d18fa5de586243710978c891b37c4d4aef08548f797a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f8e82a67afa5720929c1b1ef7888a44aa27182ff10e1b505872aed5d219936ab
MD5 287e043b1fc8e36584cb2fdc5d97faf2
BLAKE2b-256 f06c6517c2ab694b73165221583af2c9ea8d080789d7deb8991059cb22d169b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ef88254f80906bbbf361de6fb98fc3f2e5e19805fb72764cc785b6d91f93c539
MD5 0c55b556b3bc719ad50ef33c3ce88bc3
BLAKE2b-256 372834b6d24e0feab50303436ef183ac6b043a4108d705d26482bffbeb63a70a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4bff2f1a8f20190ee51548b403f7daeaf9da714c7e8cfde16080653c93db5847
MD5 86ddd71461bbfd3271dfcccc3c977877
BLAKE2b-256 e0de0c6eb6b537016fd5b77fd54153285d897da9ab7eccf51476fa61b7f3c157

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c70f6958071b00906e0c3bfdb9f871d78634da8f2c911ba90a199ac094d20da3
MD5 c308e178fa4eab825f06e95dcbb7628a
BLAKE2b-256 72e1c8c93a281c689ed82066db2dd84f70e9f6093c99bc9afee5e5d38165dd5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 af6f166a8af33700c4b7e3b9f12cb76011bba7a12852c7c2f014bc1ffcd86837
MD5 a200f42f2b20efbf1dbd6b842a8314ba
BLAKE2b-256 0c0a7aac124739a62b012478286daea9ceb3f178d253b485e170f07a9b354788

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d723809c0eb0c712e5a5f6432b84bd04fc9fa4d625a426e4fdf85b24876a9209
MD5 9e1b9032fe6664f37f24a5ae87d5cecf
BLAKE2b-256 901d294c208bd0be661bc53a1458d602e36ab2d380435c17951dd6b7e218f2bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04a448e3a6612dff0ded2415288ed97917060d5c5f16bb52c7b0a69d06456fcb
MD5 57377bc53ab333fccef2ad9d9d0268e3
BLAKE2b-256 9a52b11e2f57aa7c99bb310eda03043e61edb83f6bb5879440c45355838893ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7406bf493f2cbaaa203ff0d4b6c7fe94247392616056fb2375f349f4366c64f7
MD5 a5ad00b52409588f4261834ed2d4d6d4
BLAKE2b-256 bd98bc76a928a53fdc1d3e294867de3adc6252efe278e8e21805e47797b04873

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ea86a796fbea2d9f232b1ed9e5056f5f21257e9a32bf20718d7c1b4f8c5f137f
MD5 373ffb848cc080a785bd0fa525b688b0
BLAKE2b-256 47fe133adc6763d493126653def4779f4affb88fe84827096bd0d03d27e21584

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 31168cc5da0d1a38c0322389c19e5e6a306ccc80a6cb7b2ec9aa26f375a9bb7f
MD5 0972a4690b55cbff08dd8d3f73ab245b
BLAKE2b-256 6c91b751f398305275ad255681e19ba44b557631e35a4b490286ba315ffdc38f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f510b1b83d895d912942b55c6b5a6ccd303e20b461064f12628931d0bffab6f1
MD5 96ae6e2065c7d8e9699e7130186c680d
BLAKE2b-256 31154d4ae984c228a880d684ff7d222c4a34829848cb5ad60d5c9341454d7ba9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ebfa88fd2e8fc5adf85bae890014cfcece81bb60f3a07d9608d88c9f5d736786
MD5 7a5593ca7467552fff15088d417250fb
BLAKE2b-256 5727577c6d6a9f554047e01bf247e13b5adea64bc2c83ed0778abac995393ab7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e23fd481522be3ad1e0d8c1ac824cb55529f1bee98fbc26372015f3ac52b25f7
MD5 12c2f714ac886ff866098951edfff7a8
BLAKE2b-256 485fd8bdb8284a6b35c88a7c50db861dc34225f76caed51cd4f3492df8519896

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 51b7224c36fe5e708c557bc7ba246096377dc988420ce192cf530b7ba2b9cc32
MD5 0ed9a29e08343865c88e1193bbccadb0
BLAKE2b-256 8f7e7dce85a99185a73fd97009687d424dd5fb0b1170066738b9763789185629

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f20804797b6028d4f08096ad1000d7349070aab3ad1ab7402a7a0e071091058
MD5 43c4a88b56129b78447fd548f1137d1a
BLAKE2b-256 bd3735f68391fa1a132575bc3d7fe2b65383feec0f2772fe159b9ed06f9b0d4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltachat-1.90.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f29d7148773755ecd88b13bc75991f7e6114e6fc795109a884e4888bfdff9f68
MD5 a7b613dbc2b2de8eced167c016f4bb30
BLAKE2b-256 1290e5bd4560b096a80c17a8a7715e135eb39da0f6d47d8780a49a89dc124843

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