Metadata-Version: 2.4
Name: aiodav
Version: 0.1.14
Summary: A Python Async WebDAV Client
Author-email: Jorge Alejandro Jiménez Luna <jorgeajimenezl17@gmail.com>
License: MIT
Project-URL: homepage, https://github.com/jorgeajimenezl/aiodav
Keywords: webdav,client,files,internet,download,upload
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp
Requires-Dist: aiofiles
Requires-Dist: faust-cchardet
Requires-Dist: aiodns
Requires-Dist: lxml
Dynamic: license-file
Dynamic: requires-python

# Python Async WebDAV Client

![PyPI](https://img.shields.io/pypi/v/aiodav)
[![Downloads](https://static.pepy.tech/badge/aiodav)](https://pepy.tech/project/aiodav)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/aiodav)

A asynchronous WebDAV client that use `asyncio`

> Based on [webdavclient3](https://github.com/ezhov-evgeny/webdav-client-python-3)

## Installation

We periodically publish source code and wheels [on PyPI](https://pypi.python.org/pypi/aiodav).

```bash
pip install aiodav
```

For install the most updated version:

```bash
git clone https://github.com/jorgeajimenezl/aiodav.git
cd aiodav
pip install -e .
```

## Getting started

```python
from aiodav import Client
import asyncio

async def main():
    async with Client('https://webdav.server.com', login='juan', password='cabilla') as client:
        space = await client.free()
        print(f"Free space: {space} bytes")
        
        async def progress(c, t):
            print(f"{c} bytes / {t} bytes")

        await client.download_file('/remote/file.zip', 
                                    '/local/file.zip',
                                    progress=progress)

asyncio.run(main())
```

## License

[MIT License](./LICENSE)
