WsgiDAV
A 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 --helpfor 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 <PORT>:8080 -v <ROOT_FOLDER>:/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:- Expose data structures as virtual, editable file systems.
- Allow online editing of MS Office documents.
Status
See the (change log) for details.
Note: Release 4.0 introduces some refactorings and breaking changes.
See the (change log) for details.
More info
- Read The Docs for details.
- Discussion Group
- Stackoverflow
Credits
Contributors:
- WsgiDAV is a refactored version
of PyFileServer 0.2,
Copyright (c) 2005 Ho Chun Wei.
Chun gave his approval to change the license from LGPL to MIT-License for this project. - https://github.com/mar10/wsgidav/contributors
- Markus Majer for providing the logo (a mixture of the international maritime signal flag for 'W (Whiskey)' and a dove.)
Any kind of feedback is very welcome!
Have fun :-)
Martin
Release files for wsgidav 4.3.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wsgidav-4.3.5.tar.gz | 160.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wsgidav-4.3.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 329.8 kB
Release files / wsgidav-4.3.5.tar.gz
| Download URL | wsgidav-4.3.5.tar.gz |
|---|---|
| Size | 160.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2f2055a949f69db3e8c1f37d787f6ffd076ea29d561dda68918289a2a5d41a93
|
|
BLAKE2b-256 checksum How to use checksums |
f5c75591a7f0590bf1f9aff6f7cb9256fa5b0f1d132bdc3a38a5f8115e8ce7b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.14.5
|
Release files / wsgidav-4.3.5-py3-none-any.whl
| Download URL | wsgidav-4.3.5-py3-none-any.whl |
|---|---|
| Size | 168.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0985f5cb572e00c151e1c60d00e1ae8cbf74dea2a3286ec0bc040ab482cd5095
|
|
BLAKE2b-256 checksum How to use checksums |
e5e2d70dbfe68aada7735d38a1a0eeda079b39478f0ec993fec00c432cf4dcfc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.14.5
|