python-rwhoisd is a simple RWhois server (see RFC 2167) written in python.
It uses in-memory data structures, and it intuits the schema based on the data it sees. The server takes as input a schema file which just describes which attributes should be indexed (and how), and data files which are similar to the C rwhoisd's data files.
This version supports a sort of extended query syntax: IP or CIDR queries ending in "**" will result in a "subnet" search, where all of the found subnets at or below the specified network will be returned. Ending a IP or CIDR query with a single "*" will result in a "supernet" search, returning all the networks enclosing the queried network. (A plain network query will return the closest enclosing network, including matching networks).
Because this is a simple RWhois server, it doesn't implement every possible feature. In particular, it doesn't handle "-register" directives (which make it possible to add/modify data via the RWhois protocol itself). Right now, the only way to update the data served by a python-rwhoisd server is to edit the data files and restart.
This software is licensed under the GPLv2.
The main release.
The git repository. Use with git clone http://blacka.com/software/repos/python-rwhoisd.git.
This project is open source, and contributions are welcome. There are two basic ways to contribute changes to this project.
Comments may be sent directly to me (), although more general discussion should occur on the rwhois@rwhois.net mailing list.