I have looked at a bunch of definition languages, and still cannot pick. Used protobuf in the past, it’s alright, but I feel there might be something better.
The most important aspect is modeling, but if I can generate both Python and Javascript/Typescript interfaces from these, it would be perfect. In Python, the data is generally already defined with Pydantic.
To be honest, there is no good silver bullet solution. I’ve come across that problem too once and in the end I decided to just simplify my program. But my journey takes me to cap’n proto which IMHO is very ideal but it rarely has updates and the ecosystem around it is lacking. If you need to support many languages, then protobuf is the best. If you didn’t mind it being open source, there is ZeroC ICE (mumble use this intensively). I pray that one day there is something like cap’n proto but also works for an embedded system.
Edit: Forgot to remind you that this is meta for programming.dev. You should check out other communities to ask this question. Mod may remove this.