wsgidav

A generic and extendable WebDAV server based on WSGI

980
149
Python

logo WsgiDAV

Tests
Latest Version
License
Documentation Status
codecov
Released with: Yabs
StackOverflow: WsgiDAV

Edit online in vscode.dev

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 --help for 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
    
  • Note: Windows users may prefer the
    MSI Installer
    (see Assets section), or use winget:

    > winget install 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

Latest Version
See the (change log) for details.

Note: Release 4.0 introduces some refactorings and breaking changes.

See the (change log) for details.

More info

Credits

Contributors:

Any kind of feedback is very welcome!

Have fun 😃

Martin