webdav4#

PyPi Conda Status Python Version ci codecov

Webdav API with an (optional) fsspec implementation and a CLI.

Installation#

$ pip install webdav4

Usage#

webdav4 Client#

from webdav4.client import Client

client = Client("https://webdav.com", auth=("username", "password"))
client.exists("Documents/Readme.md")

client.ls("Photos", detail=False)
client.upload_file("Gorilla.jpg", "Photos/Gorilla.jpg")

Check out Client API reference for more information.

fsspec#

fsspec tries to provide a consistent APIs to different storage backends, by defining standard interfaces, so that other code using them could operate without depending on the implementations of the backends. This package, in the same way, wraps the above webdav client with a consistent file-system API.

To use it, you need to install fsspec additionally which you can do as follows:

$ pip install webdav4[fsspec]
from webdav4.fsspec import WebdavFileSystem

fs = WebdavFileSystem("https://webdav.com", auth=("username", "password"))
fs.exists("Documents/Readme.md")

fs.ls("Photos", detail=False)

Check out WebdavFileSystem API reference for more information.

CLI#

webdav4 also provides a CLI similar to aws s3 to make it easier to work with webdav servers. cli-usage

Please checkout CLI Usage for more information.

Contributing#

Contributions are welcome. Please take a look at Contributing Guide for more details.