I am here to announce that the first stable release of PyDSDL has just been published.
PyDSDL is a DSDL processing frontend implemented in Python. It aims to be a rigorous implementation of the DSDL language as defined in the UAVCAN Specification v1.0. The function of PyDSDL is to process DSDL data type hierarchies, validate them, and output well-annotated abstract syntax trees (AST). The resulting trees can be used to automatically generate code such as class definitions and serialization/deserialization routines using higher-level software tools such as Nunavut.
The entirety of the available documentation is published in the README. While minimalistic, it is sufficient to get started with the library, since its model of operation is fairly simple: feed directories at the input, collect the AST at the output. In the future we may add more detailed documentation but this is not on the list of our top priorities at the moment, one the reasons being that PyDSDL is a fairly low-level building block that majority of the users don’t even need to know about.
PyDSDL is the first released software product of the new stable UAVCAN v1.0 ecosystem.