https://github.com/mar10/wsgidav
A generic and extendable WebDAV server based on WSGI
https://github.com/mar10/wsgidav
python server webdav webserver wsgi
Last synced: about 1 month ago
JSON representation
A generic and extendable WebDAV server based on WSGI
- Host: GitHub
- URL: https://github.com/mar10/wsgidav
- Owner: mar10
- License: mit
- Created: 2013-12-22T14:38:24.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2025-04-06T07:04:41.000Z (3 months ago)
- Last Synced: 2025-04-10T00:05:07.587Z (3 months ago)
- Topics: python, server, webdav, webserver, wsgi
- Language: Python
- Homepage: https://wsgidav.readthedocs.io
- Size: 8.85 MB
- Stars: 1,042
- Watchers: 22
- Forks: 155
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
#  WsgiDAV
[](https://github.com/mar10/wsgidav/actions/workflows/tests.yml)
[](https://pypi.python.org/pypi/WsgiDAV/)
[](https://github.com/mar10/wsgidav/blob/master/LICENSE)
[](http://wsgidav.readthedocs.io/)
[](https://codecov.io/gh/mar10/wsgidav)
[](https://github.com/mar10/yabs)
[](https://stackoverflow.com/questions/tagged/WsgiDAV)A generic and extendable [WebDAV](http://www.ietf.org/rfc/rfc4918.txt) server
written in Python and based on [WSGI](http://www.python.org/dev/peps/pep-3333/).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:```log
$ 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 --help` for a list of available options.
- The [python-pam](https://github.com/FirefighterBlu3/python-pam) library is
needed as extra requirement if pam-login authentication is used on Linux
or OSX:```bash
$ pip install wsgidav[pam]
$ wsgidav --host=0.0.0.0 --port=8080 --root=/tmp --auth=pam-login
```- Windows users may prefer the
[MSI Installer](https://github.com/mar10/wsgidav/releases/latest)
(see Assets section), or use _winget_:```ps1
> winget install wsgidav
```- Use with [Docker](https://hub.docker.com/r/mar10/wsgidav/):
An experimental Docker image that exposes a local directory using WebDAV
is available here:```bash
$ docker pull mar10/wsgidav
$ docker run --rm -it -p :8080 -v :/var/wsgidav-root mar10/wsgidav
```for example::
```bash
$ 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
[](https://pypi.python.org/pypi/WsgiDAV/)
See the ([change log](https://github.com/mar10/wsgidav/blob/master/CHANGELOG.md)) for details.**Note:** Release 4.0 introduces some refactorings and breaking changes.
See the ([change log](https://github.com/mar10/wsgidav/blob/master/CHANGELOG.md)) for details.## More info
- [Read The Docs](http://wsgidav.rtfd.org) for details.
- [Discussion Group](https://github.com/mar10/wsgidav/discussions)
- [Stackoverflow](http://stackoverflow.com/questions/tagged/wsgidav)## Credits
Contributors:
- WsgiDAV is a [refactored version](https://github.com/mar10/wsgidav/blob/master/docs/source/changelog04.md)
of [PyFileServer 0.2](https://github.com/cwho/pyfileserver),
Copyright (c) 2005 Ho Chun Wei.
Chun gave his approval to change the license from LGPL to MIT-License for
this project.
-
- 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