Other solutions (on pyPI) did not fit my needs and/or were not actively maintained
For the official docs follow this link.
- About The Project
- Getting Started
- Tests
- Roadmap
- Contributing
- License
- Contact
- Acknowledgements
- Literature
This module provides an easy interface for communication via WebDav protocol to a remote host (f.e. you can automate downloads from your cloud). For certain use cases one might want to be able to automatically download files from your cloud. This is an easy way to do it
from kataglyphis_webdavclient.webdavclient import WebDavClient
hostname = "https://yourhost.de/webdav"
username = "Schlawiner23"
password = "YOUR_PERSONAL_TOKEN"
remote_base_path = "MyProjectFolder"
local_base_path = "assets"
webdevclient = WebDavClient(hostname, username, password)
webdevclient.download_all_files_iterative(remote_base_path, local_base_path)Creating a WebDavClient also creates logs/ in the current working directory
and logs to logs/downloadMd_s.log there. demo/download_markdown_files.py is
the same example as a command-line script.
| Feature | Implement Status |
|---|---|
| Download all files from remote host | βοΈ |
Python β₯ 3.10 (requires-python in pyproject.toml), managed with
uv.
- Python dependencies are declared in
pyproject.toml(the runtime set plus thetestsanddocsextras) and locked inuv.lock
./scripts/linux/ci_static_analysis.sh x64 3.13 > "ci_analysis_$(date +%Y%m%d_%H%M%S).log" 2>&1 # 3.13: the newest interpreter the tests extra's atheris ships wheels for
uv sync --all-extras --python 3.13- Clone the repo
git clone --recurse-submodules git@github.com:Kataglyphis/WebDavClient.git
Run pytest in root directory (uv run pytest after the sync above) π
The WebDAV tests start a local mock server over tests/remote/, so no remote
host is needed. The CI lanes run tests/unit only.
Upcoming :)
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
MIT β the text is in LICENSE.
Jonas Heinle - @Cataglyphis_ - jonasheinle@googlemail.com
Project Link: https://github.com/Kataglyphis/WebDavClient
Some very helpful literature, tutorials, etc.