wsgidav

Generic and extendable WebDAV server based on WSGI

MIT 43 个版本
安装
pip install wsgidav
poetry add wsgidav
pipenv install wsgidav
conda install wsgidav
描述

logo WsgiDAV

Tests Latest Version License Documentation Status codecov 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

版本列表
4.3.4 2026-05-24
4.3.3 2024-05-04
4.3.2 2024-03-29
4.3.1 2024-03-24
4.3.0 2023-09-24
4.2.0 2023-02-18
4.1.0 2022-11-11
4.0.2 2022-08-01
4.0.1 2022-01-11
4.0.0 2022-01-09
4.0.0a2 2021-12-26
3.1.1 2021-07-11
3.1.0 2021-01-04
3.0.3 2020-04-02
3.0.2 2019-12-26
3.0.1 2019-10-12
3.0.0 2019-03-04
3.0.5a3 2021-01-02
3.0.5a2 2020-10-10
3.0.0a7 2018-12-29
3.0.0a6 2018-12-27
3.0.0a5 2018-12-16
3.0.0a4 2018-09-02
3.0.0a3 2018-08-13
3.0.0a2 2018-06-16
3.0.0a1 2018-06-02
2.4.1 2018-06-16
2.4.0 2018-05-30
2.3.0 2018-04-06
2.2.4 2017-08-11
2.2.3 2017-08-11
2.2.2 2017-06-23
2.2.1 2017-02-25
2.1.0 2016-11-13
2.0.1 2016-10-07
2.0.0 2016-10-02
1.3.0 2016-08-24
1.2.0 2015-05-14
1.1.0 2014-01-01
1.0.0 2013-12-27
0.5.0 2011-01-16
0.4.0b2 2010-02-15
0.4.0b1 2010-01-21