Hello everybody!
I wanted to learn protocol buffers and Nim compile-time code generation, so I combined these two and created a library for working with Protocol Buffers. The result is a pure Nim library for reading/writing protobuf. There's also a simple protoc plugin which can be used to generate Nim files from proto files.
The library is currently very rough not only around the edges but the straight parts too ;-)
Even though this is just an initial proof of concept version, you can already use it for simple tests (see the included addressbook example for what is currently possible).
You can find the library from GitHub
These libraries have diverged a bit now. My library doesn't do compile time code generation any more. The protoc plugin has been made to generate all the necessary code. PMunch's library doesn't need any external tools for parsing the protobuf syntax as it does all of it at compile time.
As a side note: my library currently passes googles conformance test suite for proto3 tests that do not require JSON input/output. A lot of silly mistakes were fixed while running test suite. It's very nice of google to provide it. :-)