chatto icon indicating copy to clipboard operation
chatto copied to clipboard

Porting the extension module to other languages?

Open dpritchett opened this issue 3 years ago • 3 comments

Hi there! I have had some success following your docs to stand up a Flask app that roughly supports the restful extension API. Very cool project, thank you.

I couldn't help but be a bit jealous of the Go examples being able to just import extension and run with it.

I'd like to help make this more accessible for would-be Python, Ruby, JS, etc. bot authors. @jaimeteb have you or @ryancurrah plotted a way to give the rest server API a quicker onramp?

I've thought about maybe building a python library to abstract a few of the basic bits of the Flask use case, but maybe a swagger-oriented codegen approach could cover more ground with less work. I haven't yet tried the RPC model so I imagine it's got some implications for potential approaches to bootstrapping new REST integrations..

dpritchett avatar Feb 25 '21 20:02 dpritchett

Yeah I would be interested in publishing a library for each popular language. There are a couple changes in the works to solidify the extension service. Once they are in place I can take a look at this.

ryancurrah avatar Feb 25 '21 21:02 ryancurrah

First of all thank you! Yes, the advantage of Go extensions is that they're "native", so in other languages you'd have to implement your own ServeREST or ServeRPC methods. It would be really helpful for extension developers to have a library that does this. I was actually working on a FastAPI extension server, which would tackle the swagger approach you mentioned.

jaimeteb avatar Feb 25 '21 22:02 jaimeteb

I have a wip swagger doc here: https://app.swaggerhub.com/apis/ryancurrah/chatto-extension/1.0.0

ryancurrah avatar Feb 27 '21 00:02 ryancurrah