What tf is Tobin?
Tobin isn’t much of anything, today. It’s been sitting on my github with no attention given to it since the first few commits.
Tobin is basically a removal of the QuerySets from Brubeck. I’m trimming Brubeck to basically just be a gevent web framework. I like the idea of continuing to provide an alternative to Twisted but I don’t want to be on the hook for so many opinions. I want to encourage experimentation instead.
Thus, I have built a rough plugin system for Brubeck, put the QuerySets in a new project (Tobin), and am putting the AutoAPI in it’s own project that will probably be called Metronome.
In doing so, I am also freeing myself because other folks will identify with something like a new db layer more easily than a whole web framework that happens to have a database layer in it. This happened when I took on the name Schematics and started talking to people about its use cases outside web.
That doesn’t answer the question of what Tobin is.
In theory, I like the idea of providing CRUD on top of the most basic storage philosophy I’m aware of. Basically, just a map interface on top of whatever databases you want to use. Every piece of data has an ID and then you choose whatever the other pieces should do, but a single column with a serialized structure is the default.
This comes from what I’ve read and learned about systems using key-value’ish layouts as they grow. They become distributed hashtables and so on. Thus, my idea is to make it really easy to work with data in a format that is basically ready to be put inside distributed hashtables.
Schematics is setup to allow a bunch of ways to express keys, whether from a single field, like an id, or from a function which can do what it wants, including make a composite key of fields. It also has serialization mechanisms to handle the data conversion you need. Perhaps you’re caching some JSON or maybe you’re serializing to msgpack.
Brubeck is just about ready to put Metronome and Tobin together to get a rest api that knows how to validate data and save it to a database. That will all just be called Metronome, but it will be easy to put it together with Brubeck and Tobin for a complete system.
I don’t claim my ideas will work. But I’m interested in exploring what happens when you focus on making it really easy to build while also trying to keep the duct tape reasonably compatible with the systems used at the higher ends of scale.