
Show HN: Tino, a Unique, Stupid Fast, Python API on Redis Protocol and MsgPack - hansonkd
https://github.com/hansonkd/Tino
======
hansonkd
Hi HN,

I wanted to show off a unique way of building APIs in Python. Modern API
builders focus on HTTP and JSON. Tino is based on Redis Protocol and MsgPack.
This makes it go faster is is simpler to implement both servers and clients.

Some common questions:

> Does Tino use Redis?

No Tino uses RESP, the Redis serialization Protocol.

> Why not use ProtocolBuffers, Thrift, etc.

Both Redis and MsgPack are extremely widely available across languages. If a
language doesn't have it, its pretty simple to write either by hand. Other
protocols are complex and don't have wide support across languages or you have
generate a bunch of code just to call one method.

> How fast is fast?

Tino is 10-20x faster in roundtrips (serializing data structure, server
deserializing, then serializing response, client deserializing response) in
short to medium messages that don't have any other IO (ie doesnt access the
database).

Tino's python client also scales much much better than the Python httpx
client, which tends to slow to a crawl under high concurrency loads.

> Is it ready for production?

Tino is built on Uvicorn and the Python Redis client, both of which are
production grade. But this is a new project so the standard disclaimer about
alpha software should apply.

