My favorites | Sign in
Project Home Downloads Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Project Information
ATTENTION: A security issue in PyWebDAV when being used with 
MySQL (other usecases are NOT affected) has been found. 
This is fixed in version released Feb 18th 2011. 
Please update your installations!


Python WebDAV implementation (level 1 and 2) that features a library that enables you to integrate WebDAV server capabilities to your application.

A fully working example on how to use the library is included. You can find a server in the DAVServer package. This server is fully functional and can even be run as daemon.

If you search an easy to use WebDAV server that supports most clients (cadaver, Mac OS X Finder, Windows Explorer, ...) then try out PyWebDAV.


  • Calendar Server for iCal (tested on Mac OS X Tiger and Leopard)
  • Simple fileserver
  • Making your application support WebDAV


Installation and setup of server can be as easy as follows:

$ easy_install PyWebDAV 
$ davserver -D /tmp -n -J
Starting up PyWebDAV server (version 0.9.2-dev)
>> ATTENTION: Authentication disabled!
>> Serving data from /tmp
>> Listening on localhost (8008)

If you're living on the bleeding edge then check out the sourcecode from

$ svn co pywebdav
$ cd pywebdav
$ python develop
$ davserver --help

Send patches to

If you want to use the library then have a look at the DAVServer package that holds all code for a full blown server. Also doc/ARCHITECURE has information for you.


Ask here or send an email to the maintainer.


  1. Python 2.4 or higher (


GNU Library General Public License v2 or later


C├ędric Krier
Jesus Cea
Martin Wendt


Simon Pamies (also current maintainer)
Bielefeld, Germany
s.pamies at

Christian Scholz
Aachen, Germany
mrtopf at

Vince Spicer
Ontario, Canada
vince at

Additional notes

If you want MySQL based authentication then you need to install the following package and also configure the server using a configuration file.

MySQLdb (

Look inside the file doc/TODO for things which needs to be done and will be done in the near future. Have a look at doc/ARCHITECTURE to understand what's going on under the hood

Powered by Google Project Hosting