Skip to main content

Generic and extendable WebDAV server based on WSGI

Project description

logo WsgiDAV

Tests Latest Version License Documentation Status codecov Released with: Yabs Downloads

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
    
  • 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

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wsgidav-4.3.5.tar.gz (160.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wsgidav-4.3.5-py3-none-any.whl (168.9 kB view details)

Uploaded Python 3

File details

Details for the file wsgidav-4.3.5.tar.gz.

File metadata

  • Download URL: wsgidav-4.3.5.tar.gz
  • Upload date:
  • Size: 160.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.14.5

File hashes

Hashes for wsgidav-4.3.5.tar.gz
Algorithm Hash digest
SHA256 2f2055a949f69db3e8c1f37d787f6ffd076ea29d561dda68918289a2a5d41a93
MD5 22bb556e17ff85b296881e96eb0fe575
BLAKE2b-256 f5c75591a7f0590bf1f9aff6f7cb9256fa5b0f1d132bdc3a38a5f8115e8ce7b4

See more details on using hashes here.

File details

Details for the file wsgidav-4.3.5-py3-none-any.whl.

File metadata

  • Download URL: wsgidav-4.3.5-py3-none-any.whl
  • Upload date:
  • Size: 168.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.14.5

File hashes

Hashes for wsgidav-4.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0985f5cb572e00c151e1c60d00e1ae8cbf74dea2a3286ec0bc040ab482cd5095
MD5 940047425b952a838f541e542c4aeab7
BLAKE2b-256 e5e2d70dbfe68aada7735d38a1a0eeda079b39478f0ec993fec00c432cf4dcfc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page