This section describes, how a WsgiDAV server is installed.
If you plan to contribute to the WsgiDAV project, check out Development for details on how to install in development mode.
WsgiDAV server was tested with these operating systems (among others):
Python 3.6 or later.
A WSGI compliant web server.
WsigDAV is a WSGI application, that must be served by a compliant web server. Among others, there are Cheroot, gevent, Gunicorn, Uvicorn, wsgiref, and many more.
Simply choose a server that suites you best. If unsure, we recommend Cheroot (the server that backs CherryPy) which has proven to be pretty performant and stable. Cheroot comes also bundled with the MSI installer.
Optionally lxml for slight performance improvements (speed up performance of PROPPATCH requests up to 10%).
Linux / macOS¶
Releases are hosted on PyPI and can be installed using pip. Using a virtual environment is recommend:
$ mkdir wsgidav_test $ cd wsgidav_test $ wsgidav_test % python -m venv .venv $ wsgidav_test % source .venv/bin/activate $ (.venv) wsgidav_test % python -m pip install -U pip $ (.venv) wsgidav_test % python -m pip install wsgidav cheroot lxml $ (.venv) wsgidav_test % wsgidav --root . --auth anonymous --browse
Or install the latest (potentially unstable) development version directly from GitHub:
$ pip install git+https://github.com/mar10/wsgidav.git
In order to run the WsgiDAV server from the command line, we also need a WSGI server such as Cheroot:
$ pip install cheroot
The following examples were tested on Ubuntu 13.04. Install lxml (optional):
$ sudo apt-get install python-lxml
If everything is cool, this should work now:
$ wsgidav --version -v WsgiDAV/4.0.1 Python/3.9.1(64 bit) macOS-12.1-x86_64-i386-64bit Python from: /Users/joe/prj/git/test_pip/.venv/bin/python $ wsgidav --help
Install the preconditions if neccessary. Basically the same as for Linux / macOS
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
An experimental Docker image that exposes a local directory using WebDAV is available here: https://hub.docker.com/r/mar10/wsgidav/
$ docker pull mar10/wsgidav $ docker run --rm -it -p <PORT>:8080 -v <ROOT_FOLDER>:/var/wsgidav-root mar10/wsgidav
$ docker run --rm -it -p 8080:8080 -v c:/temp:/var/wsgidav-root mar10/wsgidav
Then open (or enter this URL in Windows File Explorer or any other WebDAV client) http://localhost:8080/