mirror of
https://github.com/chatmail/core.git
synced 2026-04-20 23:16:30 +03:00
Why? because desktop currently fetches the chatlist multiple times, even though it just needs the chatlistitem for one chat. Note: @r10s was worried before that exposing the method to get a single updated chatlistitem could lead to race conditions where the chatlist item is newer than the chatlist order. But I don't think this will change anything for desktop besides making it a little faster (because currently desktop fetches the whole chatlist instead of just the entry it needs when an entry updates).
Delta Chat RPC python client
RPC client connects to standalone Delta Chat RPC server deltachat-rpc-server
and provides asynchronous interface to it.
Getting started
To use Delta Chat RPC client, first build a deltachat-rpc-server with cargo build -p deltachat-rpc-server.
Install it anywhere in your PATH.
Testing
- Build
deltachat-rpc-serverwithcargo build -p deltachat-rpc-server. - Run
PATH="../target/debug:$PATH" tox.
Additional arguments to tox are passed to pytest, e.g. tox -- -s does not capture test output.
Using in REPL
Setup a development environment:
$ tox --devenv env
$ . env/bin/activate
It is recommended to use IPython, because it supports using await directly
from the REPL.
$ pip install ipython
$ PATH="../target/debug:$PATH" ipython
...
In [1]: from deltachat_rpc_client import *
In [2]: rpc = Rpc()
In [3]: await rpc.start()
In [4]: dc = DeltaChat(rpc)
In [5]: system_info = await dc.get_system_info()
In [6]: system_info["level"]
Out[6]: 'awesome'
In [7]: await rpc.close()