Synchronal Server - a server for storing Twitter feed read status

Synchronal Server is a simple server, written in Python, using MySQL or SQLite as the database backend, and designed to be run under CGI, for storing one's place in Twitter feeds. It allows a user to store the Tweet ID of the most recently read tweet for arbitrary streams (e.g., home, @mentions, etc) and retrieve it on demand.
Example clients written in Qt will be provided, with support for the major desktop OSes, Android, and anything else Qt will run on. The API is open for use from any client.
Synchronal Server is free software, released under the AGPL, and its source code, hosted on Gitorious, can be accesed here, modified at will under the AGPL's conditions, and run on any server.
Comments, bugs, etc may be emailed to synchronal _at_ sentynel _dot_ com.

Requirements

You will need: Python 2.6 or 2.7 (earlier versions may work but are untested) and a server set up for running Python in CGI. If you wish to use MySQL, you will need the MySQLdb module for Python and a running MySQL server.

API

The API is best understood by looking at the server source code, which contains docstrings for each API method describing the expected parameters and available responses.
The basic functions are register to register an account, get_sid to request a session ID for use in setting/retrieving read statuses, and set_read and get_read for setting and retrieving the last-read tweet IDs respectively. The latter methods use SHA1 hashes of the SID, password, method and parameters for security, which should be passed hex encoded. Note that the password is stored in the database and used as sent in register; you may wish to hash the password before sending it. Responses are returned in XML; the outer tag is <synchronal code='x'>, where the code is an integer representing a successful operation (0) or various error conditions (positive integers) and may wrap other tags containing a requested value (session ID or tweet ID).

Releases

v0.1 initial release

First release. Provides basic API methods and support for SQLite and MySQL.

Valid XHTML 1.0 Transitional