WsgiDAV


NameWsgiDAV JSON
Version 4.3.3 PyPI version JSON
download
home_pagehttps://github.com/mar10/wsgidav
SummaryGeneric and extendable WebDAV server based on WSGI
upload_time2024-05-04 18:28:01
maintainerMartin Wendt
docs_urlNone
authorMartin Wendt
requires_pythonNone
licenseMIT
keywords web wsgi webdav application server
VCS
bugtrack_url
requirements defusedxml Jinja2 json5 python-pam PyYAML
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ![logo](https://raw.githubusercontent.com/mar10/wsgidav/master/docs/source/logo.png) WsgiDAV
[![Tests](https://github.com/mar10/wsgidav/actions/workflows/tests.yml/badge.svg)](https://github.com/mar10/wsgidav/actions/workflows/tests.yml)
[![Latest Version](https://img.shields.io/pypi/v/wsgidav.svg)](https://pypi.python.org/pypi/WsgiDAV/)
[![License](https://img.shields.io/pypi/l/wsgidav.svg)](https://github.com/mar10/wsgidav/blob/master/LICENSE)
[![Documentation Status](https://readthedocs.org/projects/wsgidav/badge/?version=latest)](http://wsgidav.readthedocs.io/)
[![codecov](https://codecov.io/gh/mar10/wsgidav/graph/badge.svg?token=0hNADSIxDz)](https://codecov.io/gh/mar10/wsgidav)
[![Released with: Yabs](https://img.shields.io/badge/released%20with-yabs-yellowgreen)](https://github.com/mar10/yabs)
[![StackOverflow: WsgiDAV](https://img.shields.io/badge/StackOverflow-WsgiDAV-blue.svg)](https://stackoverflow.com/questions/tagged/WsgiDAV)


[![Edit online in vscode.dev](https://img.shields.io/badge/--007ACC?logo=visual%20studio%20code&logoColor=ffffff) Open in Visual Studio Code (experimental)](https://open.vscode.dev/mar10/wsgidav)

<!-- [![Open in Visual Studio Code](https://open.vscode.dev/badges/open-in-vscode.svg)](https://open.vscode.dev/mar10/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:<br>
    ```
    $ 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.<br>

  - 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:
    ```
    $ 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](https://github.com/mar10/wsgidav/releases/latest)
    (see <kbd>Assets</kbd> section), or use _winget_:
    ```ps1
    > 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.<br>

  - WsgiDAV is implemented as a configurable stack of WSGI middleware
    applications.<br>
    Its open architecture allows to extend the functionality and integrate
    WebDAV services into your project.<br>
  	Typical use cases are:
  	- Expose data structures as virtual, editable file systems.
  	- Allow online editing of MS Office documents.


## Status

[![Latest Version](https://img.shields.io/pypi/v/wsgidav.svg)](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.<br>
  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.<br>
    Chun gave his approval to change the license from LGPL to MIT-License for
    this project.
  * <https://github.com/mar10/wsgidav/contributors>
  * 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!<br>
Have fun  :-)<br>
Martin

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/mar10/wsgidav",
    "name": "WsgiDAV",
    "maintainer": "Martin Wendt",
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": "wsgidav@wwwendt.de",
    "keywords": "web, wsgi, webdav, application, server",
    "author": "Martin Wendt",
    "author_email": "wsgidav@wwwendt.de",
    "download_url": "https://files.pythonhosted.org/packages/a1/f4/9c89e3e41dc7762cbb005d1baf23381718c7b13607236eacda23b855a288/wsgidav-4.3.3.tar.gz",
    "platform": null,
    "description": "# ![logo](https://raw.githubusercontent.com/mar10/wsgidav/master/docs/source/logo.png) WsgiDAV\r\n[![Tests](https://github.com/mar10/wsgidav/actions/workflows/tests.yml/badge.svg)](https://github.com/mar10/wsgidav/actions/workflows/tests.yml)\r\n[![Latest Version](https://img.shields.io/pypi/v/wsgidav.svg)](https://pypi.python.org/pypi/WsgiDAV/)\r\n[![License](https://img.shields.io/pypi/l/wsgidav.svg)](https://github.com/mar10/wsgidav/blob/master/LICENSE)\r\n[![Documentation Status](https://readthedocs.org/projects/wsgidav/badge/?version=latest)](http://wsgidav.readthedocs.io/)\r\n[![codecov](https://codecov.io/gh/mar10/wsgidav/graph/badge.svg?token=0hNADSIxDz)](https://codecov.io/gh/mar10/wsgidav)\r\n[![Released with: Yabs](https://img.shields.io/badge/released%20with-yabs-yellowgreen)](https://github.com/mar10/yabs)\r\n[![StackOverflow: WsgiDAV](https://img.shields.io/badge/StackOverflow-WsgiDAV-blue.svg)](https://stackoverflow.com/questions/tagged/WsgiDAV)\r\n\r\n\r\n[![Edit online in vscode.dev](https://img.shields.io/badge/--007ACC?logo=visual%20studio%20code&logoColor=ffffff) Open in Visual Studio Code (experimental)](https://open.vscode.dev/mar10/wsgidav)\r\n\r\n<!-- [![Open in Visual Studio Code](https://open.vscode.dev/badges/open-in-vscode.svg)](https://open.vscode.dev/mar10/wsgidav) -->\r\n\r\nA generic and extendable [WebDAV](http://www.ietf.org/rfc/rfc4918.txt) server\r\nwritten in Python and based on [WSGI](http://www.python.org/dev/peps/pep-3333/).\r\n\r\nMain features:\r\n\r\n  - WsgiDAV is a stand-alone WebDAV server with SSL support, that can be\r\n    installed and run as Python command line script on Linux, OSX, and Windows:<br>\r\n    ```\r\n    $ pip install wsgidav cheroot\r\n    $ wsgidav --host=0.0.0.0 --port=80 --root=/tmp --auth=anonymous\r\n    Running without configuration file.\r\n    10:54:16.597 - INFO    : WsgiDAV/4.0.0-a1 Python/3.9.1 macOS-12.0.1-x86_64-i386-64bit\r\n    10:54:16.598 - INFO    : Registered DAV providers by route:\r\n    10:54:16.598 - INFO    :   - '/:dir_browser': FilesystemProvider for path '/Users/martin/prj/git/wsgidav/wsgidav/dir_browser/htdocs' (Read-Only) (anonymous)\r\n    10:54:16.599 - INFO    :   - '/': FilesystemProvider for path '/tmp' (Read-Write) (anonymous)\r\n    10:54:16.599 - WARNING : Basic authentication is enabled: It is highly recommended to enable SSL.\r\n    10:54:16.599 - WARNING : Share '/' will allow anonymous write access.\r\n    10:54:16.813 - INFO    : Running WsgiDAV/4.0.0-a1 Cheroot/8.5.2 Python 3.9.1\r\n    10:54:16.813 - INFO    : Serving on http://0.0.0.0:80 ...\r\n    ```\r\n    Run `wsgidav --help` for a list of available options.<br>\r\n\r\n  - The [python-pam](https://github.com/FirefighterBlu3/python-pam) library is \r\n    needed as extra requirement if pam-login authentication is used on Linux \r\n    or OSX:\r\n    ```\r\n    $ pip install wsgidav[pam]\r\n    $ wsgidav --host=0.0.0.0 --port=8080 --root=/tmp --auth=pam-login\r\n    ```\r\n\r\n  - **Note:** Windows users may prefer the\r\n    [MSI Installer](https://github.com/mar10/wsgidav/releases/latest)\r\n    (see <kbd>Assets</kbd> section), or use _winget_:\r\n    ```ps1\r\n    > winget install wsgidav\r\n    ```\r\n\r\n  - WebDAV is a superset of HTTP, so WsgiDAV is also a performant, multi-threaded\r\n    web server with SSL support.\r\n\r\n  - WsgiDAV is also a Python library that implements the WSGI protocol and can\r\n\t  be run behind any WSGI compliant web server.<br>\r\n\r\n  - WsgiDAV is implemented as a configurable stack of WSGI middleware\r\n    applications.<br>\r\n    Its open architecture allows to extend the functionality and integrate\r\n    WebDAV services into your project.<br>\r\n  \tTypical use cases are:\r\n  \t- Expose data structures as virtual, editable file systems.\r\n  \t- Allow online editing of MS Office documents.\r\n\r\n\r\n## Status\r\n\r\n[![Latest Version](https://img.shields.io/pypi/v/wsgidav.svg)](https://pypi.python.org/pypi/WsgiDAV/)\r\nSee the ([change log](https://github.com/mar10/wsgidav/blob/master/CHANGELOG.md)) for details.\r\n\r\n**Note:** Release 4.0 introduces some refactorings and breaking changes.<br>\r\n  See the ([change log](https://github.com/mar10/wsgidav/blob/master/CHANGELOG.md)) for details.\r\n\r\n\r\n## More info\r\n\r\n  * [Read The Docs](http://wsgidav.rtfd.org) for details.\r\n  * [Discussion Group](https://github.com/mar10/wsgidav/discussions)\r\n  * [Stackoverflow](http://stackoverflow.com/questions/tagged/wsgidav)\r\n\r\n\r\n## Credits\r\n\r\nContributors:\r\n\r\n  * WsgiDAV is a [refactored version](https://github.com/mar10/wsgidav/blob/master/docs/source/changelog04.md)\r\n    of [PyFileServer 0.2](https://github.com/cwho/pyfileserver),\r\n    Copyright (c) 2005 Ho Chun Wei.<br>\r\n    Chun gave his approval to change the license from LGPL to MIT-License for\r\n    this project.\r\n  * <https://github.com/mar10/wsgidav/contributors>\r\n  * Markus Majer for providing the logo (a mixture of the international\r\n    maritime signal flag for 'W (Whiskey)' and a dove.)\r\n\r\n\r\nAny kind of feedback is very welcome!<br>\r\nHave fun  :-)<br>\r\nMartin\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Generic and extendable WebDAV server based on WSGI",
    "version": "4.3.3",
    "project_urls": {
        "Bug Tracker": "https://github.com/mar10/wsgidav/issues",
        "Discussions": "https://github.com/mar10/wsgidav/discussions",
        "Documentation": "https://wsgidav.readthedocs.io",
        "Download": "https://github.com/mar10/wsgidav/releases/latest",
        "Homepage": "https://github.com/mar10/wsgidav",
        "Source Code": "https://github.com/mar10/wsgidav"
    },
    "split_keywords": [
        "web",
        " wsgi",
        " webdav",
        " application",
        " server"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb8e04fb92513f4deab0f9bf4bdeeebc74f12d4de75ff00ad213c69983fc6563",
                "md5": "9f469552487fe2470ff4a0c965ce1597",
                "sha256": "8d96b0f05ad7f280572e99d1c605962a853d715f8e934298555d0c47ef275e88"
            },
            "downloads": -1,
            "filename": "WsgiDAV-4.3.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9f469552487fe2470ff4a0c965ce1597",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 164954,
            "upload_time": "2024-05-04T18:27:57",
            "upload_time_iso_8601": "2024-05-04T18:27:57.718032Z",
            "url": "https://files.pythonhosted.org/packages/bb/8e/04fb92513f4deab0f9bf4bdeeebc74f12d4de75ff00ad213c69983fc6563/WsgiDAV-4.3.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a1f49c89e3e41dc7762cbb005d1baf23381718c7b13607236eacda23b855a288",
                "md5": "a2110b518de6c3d5ba49b67cf2e93f2d",
                "sha256": "5f0ad71bea72def3018b6ba52da3bcb83f61e0873c27225344582805d6e52b9e"
            },
            "downloads": -1,
            "filename": "wsgidav-4.3.3.tar.gz",
            "has_sig": false,
            "md5_digest": "a2110b518de6c3d5ba49b67cf2e93f2d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 168118,
            "upload_time": "2024-05-04T18:28:01",
            "upload_time_iso_8601": "2024-05-04T18:28:01.199644Z",
            "url": "https://files.pythonhosted.org/packages/a1/f4/9c89e3e41dc7762cbb005d1baf23381718c7b13607236eacda23b855a288/wsgidav-4.3.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-04 18:28:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mar10",
    "github_project": "wsgidav",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "defusedxml",
            "specs": [
                [
                    "~=",
                    "0.7.1"
                ]
            ]
        },
        {
            "name": "Jinja2",
            "specs": [
                [
                    "~=",
                    "3.1"
                ]
            ]
        },
        {
            "name": "json5",
            "specs": [
                [
                    "~=",
                    "0.9"
                ]
            ]
        },
        {
            "name": "python-pam",
            "specs": [
                [
                    "~=",
                    "2.0"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    "~=",
                    "6.0"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "wsgidav"
}
        
Elapsed time: 0.72776s