# ![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"
}