logo WsgiDAV Documentation

A generic and extendable WebDAV server written in Python and based on WSGI.

Version:3.1, Date: Nov 14, 2021

Build Status PyPI Version License Documentation Status

Main Features

  • Comes bundled with a server and a file system provider, so we can share a directory right away from the command line.
  • Designed to run behind any WSGI compliant server.
  • Tested with different clients on different platforms (Windows, Linux, Mac).
  • Supports online editing of MS Office documents.
  • Contains a simple web browser interface.
  • SSL support
  • Support for authentication using Basic or Digest scheme.
  • Passes the litmus test suite.
  • Open architecture allows to Writing Custom Providers (i.e. storage, locking, authentication, virtual file systems, …).
  • WsgiDAV is a refactored version of PyFileServer written by Ho Chun Wei.


Release 3.0 introduces some refactorings and breaking changes.
See Release Info for details.


Releases are hosted on PyPI. Install WsgiDAV (and a server) like:

$ pip install cheroot wsgidav


MS Windows users that only need the command line interface may prefer the MSI installer.

To serve the /tmp folder as WebDAV / share with anonyoums read-write access, simply run:

$ wsgidav --host= --port=80 --root=/tmp --auth=anonymous

Then open http://HOST/ in your browser or pass this URL to another WebDAV-aware client, such as MS Word, macOS Finder, Windows File Explorer, …

On Linux we can enforce authentication against known users (e.g. /etc/passwd, /etc/shadow) like so:

$ wsgidav --host= --port=80 --root=/tmp --auth=pam-login

On Windows we can enforce authentication against known users (e.g. Windows NT Domain Controller) like so:

> wsgidav --host= --port=80 --root=/tmp --auth=nt

There is much more to configure. Read this docs to find out.

Supported Clients

WsgiDAV comes with a web interface and was tested with different clients (Windows File Explorer and drive mapping, MS Office, Ubuntu, Mac OS X, …).