1. C++: `struct` with CamelCase fields
2. YAML serialization (our file format): dictionaries with CamelCase keys (derived from C++);
3. Documentation: describes the file format, so the same as YAML;
4. Python wrappers: should I stick with CamelCase or convert field names to snake_case?
5. TypeScript wrappers: should I stick with CamelCase or convert field names to dromedaryCase?
I can easily make the conversion, but I suspect it will make it harder to lookup things in the documentation, which would make Python and TypeScript somewhat second class citizens.
On the other hand, if the wrappers do not conform with common practices of the language they are targeting, they feel somewhat second class citizens too.
What do you think?
See for example Python's unittest and xml.sax.saxutils, which follow the Java naming conventions of JUnit and the Java implementation of SAX, respectively.