-
protoargs
Code generated C++11/Python/Rust/Go command line arguments parser, based on protobuf configuration
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
So I let myself to satisfy my laziness! - And you have it. I have spent some time using protobuf project, which I love much, and cxxopts project which serves as a nice helper tool. I wanted to stick with code generation and have a working-out-of-the-box solution, starting from the description of arguments, finishing with data structures to use. Protobuf is nicely used as configuration and final structure generation, and cxxopts as parser helper, I just needed to write specific transpiler and bind them all together.
That's how protoargs project appeared. Which converts special protobuf configuration into a ready-to-use arguments parser. And I do use it a lot in my projects. The best example was to use it in multiple commands CLI , e.g. you can implement your own "git init/clone/commit/..." easily. And protobuf allows preserving compatibility between versions. Recently I have used it inside gamedev project with a potentially huge number of commands, and now it takes me 5-10 min for new command to be added, and ~0 min to add new arguments to existing command and start using them in the code.
So I let myself to satisfy my laziness! - And you have it. I have spent some time using protobuf project, which I love much, and cxxopts project which serves as a nice helper tool. I wanted to stick with code generation and have a working-out-of-the-box solution, starting from the description of arguments, finishing with data structures to use. Protobuf is nicely used as configuration and final structure generation, and cxxopts as parser helper, I just needed to write specific transpiler and bind them all together.