TwistedDAV
Yesterday, I got an OK from Apple to release TwistedDAV, a Python WebDAV server add-on to twisted.web2 that I've been working on at Apple, as an open source project under an M.I.T. license.
The intention is for this code to get assimilated into twisted.web2, but that will take some time, as we'll need to do some reviewing and refactoring in both code bases in order to get it just right. TwistedDAV will live in my red-bean Subversion repository while that work is underway and, assuming we get all of the functionality into twisted.web2, the code on red-bean will go away when we're done.
Right now it's a functional (though possibly still buggy) DAV level 1 server. DAV level 2 support means adding support for LOCK/UNLOCK and all of the associated behavior in the other methods. There is also the beginnings of support for the REPORT method, which is part of WebDAV versioning.
Rather than storing properties in an database off to the side like mod_dav, TwistedDAV uses Bob Ippolito's xattr library, which uses extended attributes on files to store the data. This keeps the data in the filesystem and associated with the file. The downside is that, for the time being, this solution is Mac-specific. The code for that is all in one class, though, so it can be replaced rather easily with a mod_dav type solution or perhaps something more clever.