[sldev] Python libs in source tree
Ryan Williams (Which)
rdw at lindenlab.com
Wed Nov 21 12:02:41 PST 2007
Hey all, it turns out that we have been distributing our indra python
libraries along with the source drops for over a month now. I didn't
even notice when it went out! Phoenix did all of the necessary busywork
to get this out there, so send him love.
http://svn.secondlife.com/trac/linden/browser/release/indra/lib/python/indra
It's all under an MIT license, like eventlet and mulib before it.
Some quick descriptions of the new stuff:
- 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 : looks like an xml-rpc module, but I gotta say I have
no idea how it works
- util.named_query.py : named query runner that uses a directory tree
of llsd files
I know the llsd and llsdhttp modules have been high on my and Donovan's
list to get open sourced since they're so useful. Have fun!
We obviously have some work to do in the documentation area, please
don't hesitate to ask for clarifications or help getting this stuff
running. And especially don't hesitate to contribute patches and bug
reports!
-RYaN
More information about the SLDev
mailing list