Eventlet and mulib, two Python libraries have been already released by Linden Lab earlier (during SLCC) and Certified HTTP (CHTTP) is developed in the open already.
So what are these?
- Eventlet is a networking library written in Python. It achieves high scalability by using non-blocking io while at the same time retaining high programmer usability by using coroutines to make the non-blocking io operations appear blocking at the source code level.
- mulib is a REST web service framework built on top of eventlet.
- CHTTP basically wants to implement a more reliable HTTP by ensuring that each message is guaranteed to be delivered exactly once.
Now Linden Lab opensourced further libraries which can be found here. Citing Ryan Williams/Linden Lab from his mail to the SLDev Mailinglist:
- base.llsd : full-featured llsd parser and serializer for all three wire formats
- base.lluuid : interface for generating, representing, and parsing UUIDs
- base.config : global-config-file interface
- ipc.llsdhttp : HTTP client that automatically encodes/decodes LLSD. Great for web services passing around data. Works with eventlet beta-1 (not trunk).
- ipc.saranwrap : wraps a module in a child process that is spoken to via pipes, so as to use eventlet’s socket swizzling around blocking code like MySQLdb.
- ipc.mysql_pool : pool of saranwrapped database connections
- ipc.russ : Recursive Url Substitution Syntax. Build urls through variable expansion.
- servicebuilder.py : similar to base.config, uses a config file and russ to build urls
- ipc.webdav : webdav convenience module, this looks like it should be revamped to use httpc
- ipc.xml_rpc : an xml-rpc module
- util.named_query.py : named query runner that uses a directory tree of llsd files
Great to see Linden Lab publish all these things (although I have no idea yet if they might be of use to me ;-) ). Documentation is more or less missing on these (and I wish they would have used at least doc strings but this seems to be changing) and of course this is mostly intended to be used with Second Life (while eventlet and mulib as well as CHTTP should have quite nice used also outside this realm). But as they are in the process of creating a standard protocol it’s definitely nice to see them publishing it so we might save some time.
Oh, and all of it is released under an MIT License.