Add maestro DSL and client libraries
DSL and clients are important for usability. We will add YAML, Python, Java DSLs and also python and java clients to the project.
Hey @jun-he I took a stab at using uniffi-rs (maintained by Mozilla) to create a multi-langauge client
Here's a link to the repo: https://github.com/rdeepak2002/maestro-client
- In the README I have an example of the Python client
Using uniffi-rs, the code is already ready to generate Kotlin, go, Ruby, JavaScript, and other bindings
There's still some features missing (like supporting for-each, trigger, etc.), but I created it as a POC on how we could easily generate multi-language client libraries from a single codebase. Adding those missing features should be <1 day of work if we decide to go forward with an approach like this for the client.