python-symmetric-jsonrpc is a JSON-RPC implementation for Python that is symmetric (both ends can call each other), asynchronous (calls can interleave with responses), thread-safe, and transport agnostic (can be run on top of e.g. an SSL connection).