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
-
The
htpasswdandhtdigestdomain controllers require the optionalpasslibdependency. If your password file uses bcrypt hashes, install the optional bcrypt backend, e.g.:$ ython -m pip install "wsgidav[htpasswd]" $ python -m pip install "wsgidav[htpasswd,bcrypt]"
-
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
Metadata
Release files for wsgidav 4.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| wsgidav-4.4.0.tar.gz | 171.5 kB | Without provenance | Details |
Release files / wsgidav-4.4.0.tar.gz
| Download URL | wsgidav-4.4.0.tar.gz |
|---|---|
| Size | 171.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8e6104376d1d311f1af1d275643d4a570766ba474899ddda48d589a15b096071
|
|
BLAKE2b-256 checksum How to use checksums |
f5dfab6d20ba0000f2814e20795e251fe2899e6d438e0a1cc8a778cfad399360
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|
Security for wsgidav 4.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.