Delta Chat, CFFI, pytest and all the Rust

The Deltabots are coming

Holger Krekel

Development Python general Rust Sensors System Administration

See in schedule

Delta Chat, a new approach to decentralized messaging, uses Python in several ways. Delta Chat is a Whatsapp/Telegram-style messenger app which uses the existing e-mail server network instead of central servers. There is no address book upload, and no necessity to tie accounts to mobile numbers. We'll live-demo how "Chat over E-mail" works, with random audience members, in real-time.

We'll then look into how Python is used for automated testing (with pytest) against the messenger core library which is exposed through CFFI. However, the core library will soon be ported to full Rust. Are there better ways to interface Rust with Python than going through C-interfaces?

In the third part we'll introduce first example Chat Bots, written in Python. Do you want to send an machine-generated system allert to a sysadmin group? Or safely archive all media that is posted to a family group? Or have your IoT sensor react to commands or send info? Just do it without registering a bot to some central cite, or by exposing all content information to (e. g. Telegram) servers. A Chat Bot only needs access to a standard IMAP/SMTP account. We'll look at the simple Python API for writing and testing powerful and versatile Chat bots.

- Delta Chat:
- Core library and Py bindings:
- Deltabot:

Type: Talk (60 mins); Python level: Beginner; Domain level: Beginner

Holger Krekel

merlinux GmbH

Holger has instigated and maintained several popular python tools, among them
pytest, tox, devpi and the PyPy project. He gave many talks and trainings
at international Python conferences but has reduced his "talk" appearances
in recent years, to care for his child and also because of orienting towards
more "cross-language" communities. Since 2017 he is heavily involved
with the Delta Chat project, a new Chat-Over-Email messenger, available
on Android and in early beta versions on iOS and Desktop platforms.