wsgidav
Generic and extendable WebDAV server based on WSGI
What it is and what it does
WsgiDAV implements the WebDAV protocol (RFC 4918) as a Python WSGI application, allowing you to expose local directories or custom data structures as editable file systems over HTTP/HTTPS. It can run as a standalone command-line server with built-in SSL support, or be embedded in any WSGI-compliant application server for integration into larger projects.
The package provides authentication (basic, anonymous, PAM-based), a configurable middleware stack, and a directory browser interface. Its main dependencies handle XML parsing (defusedxml), templating (Jinja2), configuration (PyYAML, json5), and credential management (passlib, bcrypt). It is suitable for exposing data as virtual file systems, enabling online editing of Office documents, or building custom WebDAV services into Python applications.
Use it for:
- Run a standalone WebDAV server to share a local directory over the network with SSL encryption and user authentication.
- Embed WebDAV functionality into a Python web application to allow clients to edit documents or manage files via standard WebDAV clients.
- Expose a custom data structure as a virtual editable file system accessible via WebDAV.
- Enable collaborative document editing by hosting a WebDAV share that integrates with Office applications.
- Deploy WsgiDAV to quickly expose a directory as a WebDAV service without writing custom code.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
WsgiDAV is a WebDAV server implementation in Python that runs standalone with SSL support or as a WSGI application, exposing directories and data structures as editable file systems over the WebDAV protocol.
Yes. WsgiDAV is actively maintained, has no known vulnerabilities, low install friction, and a permissive MIT license. Install it if you need a WebDAV server (standalone or embedded), want to expose files or data structures over WebDAV, or need to integrate remote file access into a Python application. The command-line interface makes it immediately usable; the WSGI architecture supports deeper integration.
Install
wsgidav on PyPI
pip
pip install wsgidavuv
uv add wsgidavpoetry
poetry add wsgidavInstalling wsgidav
Before you install
Low friction: pure Python wheel with six common runtime dependencies (defusedxml, Jinja2, json5, PyYAML, passlib, bcrypt). Active maintenance with a release 48 days ago and last commit 2026-08-09.
License in practice
MIT license (permissive) means you can use, modify, and distribute WsgiDAV with minimal restrictions, including in commercial projects, provided you include the license notice.
Quickstart
pip install wsgidav
import wsgidav
# Configure and run as WSGI application or command-line server
Requires an external WSGI application server to run standalone; optional python-pam library needed for PAM authentication on Linux/OSX.
Verify before relying
- Whether SSL/TLS configuration is straightforward or requires external setup beyond command-line options.
- Performance characteristics under concurrent load or with large file transfers.
- Compatibility with modern WebDAV clients and their specific protocol requirements.
- Which WSGI application servers are recommended or tested for production use.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — defusedxml, Jinja2, json5, PyYAML, passlib, bcrypt |
| Maintenance | actively maintained — 48 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 220,088/month — #9,313 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: wsgidav-4.3.5-py3-none-any.whl
Keywords: web, wsgi, webdav, application, server
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
webdavclient3Python WebDAV client library providing access…
permissive · top 15,000 on PyPI
bottleBottle is a lightweight WSGI microframework for…
permissive · top 5,000 on PyPI
pyuwsgipyuwsgi packages the uWSGI application server…
copyleft · top 15,000 on PyPI
pydappydap is a pure-Python OPeNDAP client and…
permissive · top 15,000 on PyPI
PasteDeployPasteDeploy loads and configures WSGI…
permissive · top 5,000 on PyPI
FlaskFlask is a lightweight WSGI web application…
permissive · top 1,000 on PyPI
gunicornGunicorn is a WSGI and ASGI HTTP server for…
permissive · top 1,000 on PyPI
whitenoiseWhiteNoise serves static files directly from a…
permissive · top 5,000 on PyPI
BeakerBeaker provides session management and caching…
permissive · top 15,000 on PyPI
repoze.whorepoze.who is an identification and…
permissive · top 15,000 on PyPI