Hi Marc, The distributed version uses the network-based implementation of TMB to communicate among multiple components, including DistributedCli, Conductor (which contains Foreman), and Executor (which contains a Worker pool). We have defined additional TMB message types for the communication.
For your purpose, you might want to split QuickstepCli.cpp into two new executables, one for the cli, and one the database core. Both need to link the Protobuf 3 and gRPC. And then, the python program could talk to the cli executable to send a query or a command. Hope it helps. Cheers, Zuyu