Oven logo

Oven

webdav4

PyPi Conda Status Python Version ci

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.