# Kataglyphis-WebDavClient
**__Other solutions (on pyPI) did not fit my needs and/or were not actively maintained__** For the official docs follow this [link](https://webdavclient.jonasheinle.de/). [](https://github.com/Kataglyphis/Kataglyphis-WebDavClient/actions/workflows/ubuntu-24.04-amd64-arm64.yml) [](https://github.com/Kataglyphis/Kataglyphis-WebDavClient/actions/workflows/windows-2025.yml) [](https://github.com/Kataglyphis/Kataglyphis-WebDavClient/actions/workflows/dependency-graph/auto-submission) [](https://codecov.io/gh/Kataglyphis/WebDavClient) [](https://github.com/Kataglyphis/Kataglyphis-WebDavClient/actions/workflows/github-code-scanning/codeql) [](https://github.com/Kataglyphis/WebDavClient) [](https://www.paypal.com/paypalme/JonasHeinle) [](https://twitter.com/Cataglyphis_) [](https://www.youtube.com/channel/UC3LZiH4sZzzaVBCUV8knYeg) ## Table of Contents - [About The Project](#about-the-project) - [Key Features](#key-features) - [Dependencies](#dependencies) - [Useful tools](#useful-tools) - [Getting Started](#getting-started) - [Prerequisites](#prerequisites) - [Installation](#installation) - [Tests](#tests) - [Roadmap](#roadmap) - [Contributing](#contributing) - [License](#license) - [Contact](#contact) - [Acknowledgements](#acknowledgements) - [Literature](#literature) ## About The Project 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 ### Usage Example: ```python Example usage of the method: 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(args.hostname, args.username, args.password) webdevclient.download_all_files_iterative( args.remote_base_path, args.local_base_path ) ``` ### Key Features | Feature | Implement Status | | ------------------------------------| :----------------: | | Download all files from remote host | ✔️ | ### Dependencies I use Python 3.11 This enumeration also includes submodules. * Python dependencies are listed in requirements.txt and in the requirements folder ```bash ./scripts/linux/ci_static_analysis.sh > "ci_analysis_$(date +%Y%m%d_%H%M%S).log" 2>&1 ``` ```bash conda create --name WebDavClient python=3.11 conda activate WebDavClient pip install -r requirements.txt ``` ### Useful tools ## Getting Started ### Prerequisites ### Installation 1. Clone the repo ```sh git clone --recurse-submodules git@github.com:Kataglyphis/Kataglyphis-WebDavClient.git ``` ## Tests Run pytest in root directory :smile: ## Roadmap Upcoming :) ## Contributing 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**. 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) 3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the Branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request ## License ## Contact Jonas Heinle - [@Cataglyphis_](https://twitter.com/Cataglyphis_) - jonasheinle@googlemail.com Project Link: [https://github.com/Kataglyphis/WebDavClient](https://github.com/Kataglyphis/WebDavClient) ## Acknowledgements ## Literature Some very helpful literature, tutorials, etc. * https://de.wikipedia.org/wiki/WebDAV [contributors-shield]: https://img.shields.io/github/contributors/othneildrew/Best-README-Template.svg?style=for-the-badge [contributors-url]: https://github.com/othneildrew/Best-README-Template/graphs/contributors [forks-shield]: https://img.shields.io/github/forks/othneildrew/Best-README-Template.svg?style=for-the-badge [forks-url]: https://github.com/othneildrew/Best-README-Template/network/members [stars-shield]: https://img.shields.io/github/stars/othneildrew/Best-README-Template.svg?style=for-the-badge [stars-url]: https://github.com/othneildrew/Best-README-Template/stargazers [issues-shield]: https://img.shields.io/github/issues/othneildrew/Best-README-Template.svg?style=for-the-badge [issues-url]: https://github.com/othneildrew/Best-README-Template/issues [license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=for-the-badge [license-url]: https://github.com/othneildrew/Best-README-Template/blob/master/LICENSE.txt [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 [linkedin-url]: https://www.linkedin.com/in/jonas-heinle-0b2a301a0/