A generic and extendable WebDAV server written in Python and based on WSGI.
4.2, Date: Feb 18, 2023
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.
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 4.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 or install using the Windows Package Manager:
> winget install wsgidav
To serve the
/tmp folder as WebDAV
/ share with anonyoums read-write
access, simply run:
$ wsgidav --host=0.0.0.0 --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/shadow) like so:
$ wsgidav --host=0.0.0.0 --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=0.0.0.0 --port=80 --root=/tmp --auth=nt
There is much more to configure. Read this docs to find out.
WsgiDAV comes with a web interface and was tested with different clients (Windows File Explorer and drive mapping, MS Office, Ubuntu, Mac OS X, …).