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.4.tar.gz (159.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.4-py3-none-any.whl (169.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for wsgidav-4.3.4.tar.gz
Algorithm Hash digest
SHA256 96c87b43599b3a6f19f5b57e4596f6b5c544351cb5cec28311badf2f537a557f
MD5 709af445352e1d3f2a10d53f2e3508c8
BLAKE2b-256 fb4ec1735e63878be360cd13fbb64617a709e25b508ad0f1e79e06113acd051a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for wsgidav-4.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7c3d0614d9603ad33066b02254f0597922497aaa21823e1e3f77ba88fb11d529
MD5 9f00b8b6f518d7f168bc87dee00dd3b3
BLAKE2b-256 54008919618436890721633dd9f1ad39dbf0e060918d6b8e021a840b0a4ce176

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