some python code for ostatus related stuff

A little while ago I started working on some code to exercise
servers that present some of the OStatus protocols. I had been
working on adding webfinger, profiles, and PuSH to the project I
mostly work on[1] and found that I need tools to inspect a) what the
server was putting out b) what other servers were putting (so I
could compare and contrast).

The result is a small suite of Python based tools which (thus far)
do the read only side of OStatus:

* retrieve webfinger data
* get a profile
* parse an hcard
* get the latest "status"[2] of a webfinger address

Most of the work is based on Laurent Eschenauer's node-ostatus[3]
but I felt more comfy tweaking in Python so I thought I'd start a
port. I hope to add some of the rest of the stack but how fast that
proceeds is strongly dependent on how much demand there is on
TiddlySpace for getting those aspects working. In the meantime I
will very happily accept any contributions or comments.

The code is intentional simple, low on dependencies and avoids OO.
I feel this keeps things relatively comprehensible, which for my
purpose was critical.

The work can be found at:

     https://github.com/cdent/py-ostatus

If you have Python and clone the repo, each of the scripts in the
top level dir should accept one or more webfinger addresses and show
some results.

There's been very little in the way of testing so I wouldn't be
surprised if there are significant bugs. If you find one please let
me know.

My hope is that this stuff will be useful to others in a similar
boat to me.

Thanks.


[1] http://tiddlyspace.com/ . The webfinger, profile and PuSH stuff
is opt in. I have opted in and you can see my profile at
http://tiddlyspace.com/profiles/cdent . cdent@tiddlyspace.com
(amongst others) can be subscribed to from OStatus supporting
services like StatusNet, but identi.ca itself is currently caching
some bad data (last I heard) left over from an error I had in my
stuff. This is preventing it from subscribing.

TiddlySpace itself is a sort of note taking, journal thingie based
on the tiddlers concept in TiddlyWiki. It has some social features
within itself that allow comparing like things, so adding on
federation makes sense.

[2] One of my issues with OStatus is that as implemented it seems to
be too focused on exchanges of tweet-like bits of content. Anything
can go in an Atom feed[4], so anything can be a "status" so the name
doesn't quite fit, and the UIs of things that present statuses (that
happen to be anything non-tweet-ish) can be a bit weird.

[3] https://github.com/eschnou/node-ostatus

[4] Of course the fact that OStatus is traditionally driven by full
content Atom feeds feels really dire and non-webby. When we have
URIs, use by reference, not by copy.

-- 
Chris Dent
http://peermore.com/

Received on Wednesday, 25 May 2011 17:25:37 UTC