I think my #kettlingar #RPCKittens side-quest from #moggie work may be slowly winding down.

I've got the kittens working well, got tests written and passing on multiple Python versions. I am happy with the performance and feature set.

Now I just need to migrate all the moggie code to use kittens. Ugh.

I wonder if a GIL-free Python will make render the entire architecture obsolete before I get it shipped? Naaaah...

Did a bit of work towards making my #RPCKittens a project others might use or contribute to: basic automated tests and started using #pylint.

I added a git hook that runs both before pushing, to keep me honest.

Oh, and I found a use for type hinting! Type hinting on exposed API functions enables automagic arg validation/conversion. Need to figure out return values as well.

Patting myself on the back, having a cookie.

https://github.com/mailpile/kettlingar

GitHub - mailpile/kettlingar: RPC Kittens! Cute asyncio HTTP-RPC microservices for fun and profit.

RPC Kittens! Cute asyncio HTTP-RPC microservices for fun and profit. - mailpile/kettlingar

GitHub

I was explaining my #RPCKittens to a pretty seasoned programmer friend. He was struggling not to roll his eyes out of his head at me re-inventing the wheel again, again.

When I started talking about using HTTP/1.1 chunked encoding to expose Python generators (functions that yield data) over the network, the rolling suddenly stopped.

Because he's been there.

Generating blobs of data that are just too big for one synchronous API call and should be handled as streams...

https://github.com/mailpile/kettlingar