{"id":13908753,"url":"https://github.com/mar10/wsgidav","last_synced_at":"2025-05-13T21:10:37.660Z","repository":{"id":12704310,"uuid":"15376784","full_name":"mar10/wsgidav","owner":"mar10","description":"A generic and extendable WebDAV server based on WSGI","archived":false,"fork":false,"pushed_at":"2025-04-06T07:04:41.000Z","size":9280,"stargazers_count":1042,"open_issues_count":4,"forks_count":155,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-10T00:05:07.587Z","etag":null,"topics":["python","server","webdav","webserver","wsgi"],"latest_commit_sha":null,"homepage":"https://wsgidav.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mar10.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"mar10w","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.paypal.com/donate/?hosted_button_id=RA6G29AZRUD44"]}},"created_at":"2013-12-22T14:38:24.000Z","updated_at":"2025-04-09T13:19:18.000Z","dependencies_parsed_at":"2024-03-29T13:46:19.454Z","dependency_job_id":"5e3bd086-d267-4747-9105-805b80cb2603","html_url":"https://github.com/mar10/wsgidav","commit_stats":{"total_commits":735,"total_committers":47,"mean_commits":"15.638297872340425","dds":0.491156462585034,"last_synced_commit":"5226e576638dfb787fc73ba1b18ffff2b5b2b3e1"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar10%2Fwsgidav","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar10%2Fwsgidav/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar10%2Fwsgidav/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar10%2Fwsgidav/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mar10","download_url":"https://codeload.github.com/mar10/wsgidav/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248131320,"owners_count":21052819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","server","webdav","webserver","wsgi"],"created_at":"2024-08-06T23:02:57.694Z","updated_at":"2025-04-10T00:05:16.485Z","avatar_url":"https://github.com/mar10.png","language":"Python","readme":"# ![logo](https://raw.githubusercontent.com/mar10/wsgidav/master/docs/source/logo.png) WsgiDAV\n\n[![Tests](https://github.com/mar10/wsgidav/actions/workflows/tests.yml/badge.svg)](https://github.com/mar10/wsgidav/actions/workflows/tests.yml)\n[![Latest Version](https://img.shields.io/pypi/v/wsgidav.svg)](https://pypi.python.org/pypi/WsgiDAV/)\n[![License](https://img.shields.io/pypi/l/wsgidav.svg)](https://github.com/mar10/wsgidav/blob/master/LICENSE)\n[![Documentation Status](https://readthedocs.org/projects/wsgidav/badge/?version=latest)](http://wsgidav.readthedocs.io/)\n[![codecov](https://codecov.io/gh/mar10/wsgidav/graph/badge.svg?token=0hNADSIxDz)](https://codecov.io/gh/mar10/wsgidav)\n[![Released with: Yabs](https://img.shields.io/badge/released%20with-yabs-yellowgreen)](https://github.com/mar10/yabs)\n[![StackOverflow: WsgiDAV](https://img.shields.io/badge/StackOverflow-WsgiDAV-blue.svg)](https://stackoverflow.com/questions/tagged/WsgiDAV)\n\n\u003c!-- [![Edit online in vscode.dev](https://img.shields.io/static/v1?logo=visualstudiocode\u0026label=\u0026message=Open%20in%20Visual%20Studio%20Code\u0026labelColor=2c2c32\u0026color=007acc\u0026logoColor=007acc) ](https://vscode.dev/github/mar10/wsgidav) --\u003e\n\nA generic and extendable [WebDAV](http://www.ietf.org/rfc/rfc4918.txt) server\nwritten in Python and based on [WSGI](http://www.python.org/dev/peps/pep-3333/).\n\nMain features:\n\n- WsgiDAV is a stand-alone WebDAV server with SSL support, that can be\n  installed and run as Python command line script on Linux, OSX, and Windows:\u003cbr\u003e\n\n  ```log\n  $ pip install wsgidav cheroot\n  $ wsgidav --host=0.0.0.0 --port=80 --root=/tmp --auth=anonymous\n  Running without configuration file.\n  10:54:16.597 - INFO    : WsgiDAV/4.0.0-a1 Python/3.9.1 macOS-12.0.1-x86_64-i386-64bit\n  10:54:16.598 - INFO    : Registered DAV providers by route:\n  10:54:16.598 - INFO    :   - '/:dir_browser': FilesystemProvider for path '/Users/martin/prj/git/wsgidav/wsgidav/dir_browser/htdocs' (Read-Only) (anonymous)\n  10:54:16.599 - INFO    :   - '/': FilesystemProvider for path '/tmp' (Read-Write) (anonymous)\n  10:54:16.599 - WARNING : Basic authentication is enabled: It is highly recommended to enable SSL.\n  10:54:16.599 - WARNING : Share '/' will allow anonymous write access.\n  10:54:16.813 - INFO    : Running WsgiDAV/4.0.0-a1 Cheroot/8.5.2 Python 3.9.1\n  10:54:16.813 - INFO    : Serving on http://0.0.0.0:80 ...\n  ```\n\n  Run `wsgidav --help` for a list of available options.\u003cbr\u003e\n\n- The [python-pam](https://github.com/FirefighterBlu3/python-pam) library is\n  needed as extra requirement if pam-login authentication is used on Linux\n  or OSX:\n\n  ```bash\n  $ pip install wsgidav[pam]\n  $ wsgidav --host=0.0.0.0 --port=8080 --root=/tmp --auth=pam-login\n  ```\n\n- Windows users may prefer the\n  [MSI Installer](https://github.com/mar10/wsgidav/releases/latest)\n  (see \u003ckbd\u003eAssets\u003c/kbd\u003e section), or use _winget_:\n\n  ```ps1\n  \u003e winget install wsgidav\n  ```\n\n- Use with [Docker](https://hub.docker.com/r/mar10/wsgidav/): \u003cbr\u003e\n  An experimental Docker image that exposes a local directory using WebDAV\n  is available here:\n\n  ```bash\n  $ docker pull mar10/wsgidav\n  $ docker run --rm -it -p \u003cPORT\u003e:8080 -v \u003cROOT_FOLDER\u003e:/var/wsgidav-root mar10/wsgidav\n  ```\n\n  for example::\n\n  ```bash\n  $ docker run --rm -it -p 8080:8080 -v /tmp:/var/wsgidav-root mar10/wsgidav\n  ```\n\n- WebDAV is a superset of HTTP, so WsgiDAV is also a performant, multi-threaded\n  web server with SSL support.\n\n- WsgiDAV is also a Python library that implements the WSGI protocol and can\n  be run behind any WSGI compliant web server.\u003cbr\u003e\n\n- WsgiDAV is implemented as a configurable stack of WSGI middleware\n  applications.\u003cbr\u003e\n  Its open architecture allows to extend the functionality and integrate\n  WebDAV services into your project.\u003cbr\u003e\n  Typical use cases are:\n  - Expose data structures as virtual, editable file systems.\n  - Allow online editing of MS Office documents.\n\n## Status\n\n[![Latest Version](https://img.shields.io/pypi/v/wsgidav.svg)](https://pypi.python.org/pypi/WsgiDAV/)\nSee the ([change log](https://github.com/mar10/wsgidav/blob/master/CHANGELOG.md)) for details.\n\n**Note:** Release 4.0 introduces some refactorings and breaking changes.\u003cbr\u003e\nSee the ([change log](https://github.com/mar10/wsgidav/blob/master/CHANGELOG.md)) for details.\n\n## More info\n\n- [Read The Docs](http://wsgidav.rtfd.org) for details.\n- [Discussion Group](https://github.com/mar10/wsgidav/discussions)\n- [Stackoverflow](http://stackoverflow.com/questions/tagged/wsgidav)\n\n## Credits\n\nContributors:\n\n- WsgiDAV is a [refactored version](https://github.com/mar10/wsgidav/blob/master/docs/source/changelog04.md)\n  of [PyFileServer 0.2](https://github.com/cwho/pyfileserver),\n  Copyright (c) 2005 Ho Chun Wei.\u003cbr\u003e\n  Chun gave his approval to change the license from LGPL to MIT-License for\n  this project.\n- \u003chttps://github.com/mar10/wsgidav/contributors\u003e\n- Markus Majer for providing the logo (a mixture of the international\n  maritime signal flag for 'W (Whiskey)' and a dove.)\n\nAny kind of feedback is very welcome!\u003cbr\u003e\nHave fun :-)\u003cbr\u003e\nMartin\n","funding_links":["https://ko-fi.com/mar10w","https://www.paypal.com/donate/?hosted_button_id=RA6G29AZRUD44"],"categories":["HarmonyOS","Python","Miscellaneous, Experimental \u0026 Niche Tools"],"sub_categories":["Windows Manager","Cross-Platform Media Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmar10%2Fwsgidav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmar10%2Fwsgidav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmar10%2Fwsgidav/lists"}