Skip to content

WebDAV client library with a fsspec based filesystem and a CLI.

License

Notifications You must be signed in to change notification settings

skshetry/webdav4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e9b8fbd · Aug 26, 2024
Jul 20, 2024
Jul 13, 2024
Jul 20, 2024
Jul 20, 2024
Jul 13, 2024
Oct 26, 2022
Jul 20, 2024
Jul 13, 2024
Feb 6, 2021
Jul 13, 2024
Aug 26, 2024

Repository files navigation

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.