A tool for RethinkDB driver developers

The main focus of the 1.4 release was to refactor the client-server wire protocol to simplify future development of the query language and also to make writing client drivers for new languages significantly easier.

It’s been a bit over a month since the release and we’ve already heard of a couple of new drivers being developed. Erlang, C#, Scala, and the just-announced PHP are the ones we know about, but we hope to hear from you about even more of them!

This seemed like a confirmation that a refactored, simplified and source documented protobuf definition and the rewritten official drivers were indeed what was needed to enable users to start working on new drivers. But we realized, and our users helped us with this, that while being a good start, these do not (and can not) provide all the details needed while developing new drivers.

To make things even simpler, @neumino wrote a Python library that exposes all the details of the RethinkDB client server protocol. Basically you can write a query and this library will show:

  • the Protobuf client message
  • the serialized message
  • the serialized response
  • the Protobuf server response

All the details of setting it up and using it are explained in the readme file. Have fun with it and thanks for bringing RethinkDB to other languages!