WsgiDAV is a generic and extensible WebDAV server implementation based on WSGI. It allows access to file systems or other storage backends via HTTP, supporting features like locking, versioning, and properties. Currently at version 4.3.3, it receives frequent minor updates with a focus on stability and compatibility.
pip install wsgidavVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to set up a basic, anonymous WebDAV server serving a local directory using WsgiDAV programmatically. It creates a temporary directory and a sample file, then starts the server on `http://127.0.0.1:8080`. For production deployments, `WsgiDAVApp` should be integrated with a robust WSGI server like Gunicorn or uWSGI, and authentication should be configured.
Upgrade your Python environment to 3.8+. Review the v4.0.0 changelog for necessary code migrations, especially around configuration, imports, and authentication. Many internal modules were moved or renamed.
If upgrading from pre-v4, re-write your `config` dictionary based on the v4 documentation and examples. Pay close attention to `provider_mapping`, `http_authenticator`, and `dir_browser` sections.
For production deployments, pass the `WsgiDAVApp` instance to a robust WSGI server like Gunicorn, uWSGI, or mod_wsgi. E.g., `gunicorn 'wsgidav.wsgidav_app:WsgiDAVApp(config)'` (adjusting config loading).
Update any direct imports or references to `wsgidav.dir_browser` to `wsgidav.frontend.dir_browser`.
Update your import statement from `from wsgidav import dir_browser` or similar to `from wsgidav.frontend import dir_browser`.
The `verbose` option was renamed. Replace `verbose` with `debug_info` in your configuration dictionary (e.g., `"debug_info": True`). Refer to the v4 documentation for current configuration options.
Ensure the directory specified for `FileSystemProvider` (e.g., in `provider_mapping`) exists and the user running WsgiDAV has read/write permissions to it. Create the directory if it's missing.