WsgiDAV Martin Wendt
winget install --id=mar10.wsgidav -e Generic and extendable WebDAV server based on WSGI
winget install --id=mar10.wsgidav -e Generic and extendable WebDAV server based on WSGI
WsgiDAVA generic and extendable WebDAV server written in Python and based on WSGI.
Main features:
WsgiDAV is a stand-alone WebDAV server with SSL support, that can be installed and run as Python command line script on Linux, OSX, and Windows:
$ pip install wsgidav cheroot
$ wsgidav --host=0.0.0.0 --port=80 --root=/tmp --auth=anonymous
Running without configuration file.
10:54:16.597 - INFO : WsgiDAV/4.0.0-a1 Python/3.9.1 macOS-12.0.1-x86_64-i386-64bit
10:54:16.598 - INFO : Registered DAV providers by route:
10:54:16.598 - INFO : - '/:dir_browser': FilesystemProvider for path '/Users/martin/prj/git/wsgidav/wsgidav/dir_browser/htdocs' (Read-Only) (anonymous)
10:54:16.599 - INFO : - '/': FilesystemProvider for path '/tmp' (Read-Write) (anonymous)
10:54:16.599 - WARNING : Basic authentication is enabled: It is highly recommended to enable SSL.
10:54:16.599 - WARNING : Share '/' will allow anonymous write access.
10:54:16.813 - INFO : Running WsgiDAV/4.0.0-a1 Cheroot/8.5.2 Python 3.9.1
10:54:16.813 - INFO : Serving on http://0.0.0.0:80 ...
Run wsgidav --help for a list of available options.
The python-pam library is needed as extra requirement if pam-login authentication is used on Linux or OSX:
$ pip install wsgidav[pam]
$ wsgidav --host=0.0.0.0 --port=8080 --root=/tmp --auth=pam-login
Windows users may prefer the MSI Installer (see Assets section), or use winget:
> winget install wsgidav
Use with Docker: An experimental Docker image that exposes a local directory using WebDAV is available here:
$ docker pull mar10/wsgidav
$ docker run --rm -it -p :8080 -v :/var/wsgidav-root mar10/wsgidav
for example::
$ docker run --rm -it -p 8080:8080 -v /tmp:/var/wsgidav-root mar10/wsgidav
WebDAV is a superset of HTTP, so WsgiDAV is also a performant, multi-threaded web server with SSL support.
WsgiDAV is also a Python library that implements the WSGI protocol and can be run behind any WSGI compliant web server.
WsgiDAV is implemented as a configurable stack of WSGI middleware applications. Its open architecture allows to extend the functionality and integrate WebDAV services into your project. Typical use cases are:
See the (change log) for details.
Note: Release 4.0 introduces some refactorings and breaking changes. See the (change log) for details.
Contributors:
Any kind of feedback is very welcome! Have fun :-) Martin