This library contains a minimal client library developed as part of the DECODE project in order to provide a Python client for the encrypted datastore component.

The purpose of this library is to enable a Python based client application to easily read from and write to the encrypted datastore.

The datastore API is implemented using a simple RPC framework called Twirp. This framework uses protocol buffers as a transport layer, and provides a suite of tools for generating server stubs as well as client bindings in a number of programming languages and can be thought of as being akin to a simpler version of GRPC but with fewer features and without the hard dependency on HTTP/2.

Because the client code is automatically generated from a set of protocol buffer definitions, some aspects of the API might not be perfectly idiomatic Python, but in general the affordances offered are fairly pythonic so should be relatively straightforward to use.


The library has currently been released under the Apache 2.0 License. This license is a permissive open source license that allows this code to be used freely in either open source or proprietary, closed source software.


To install the library please run the following command:

$ pip install decode-datastore-client