skillfed

webdav4

WebDAV client library with an fsspec-based filesystem and a CLI

webdav4 v0.11.0 532.8K downloads/30d#6,145 on PyPI80
Permissive license MIT Active released

What it is and what it does

webdav4 is a Python library for interacting with WebDAV servers. It provides a straightforward client API for common operations like checking file existence, listing directories, uploading, and downloading files. The library wraps these operations with httpx for HTTP communication and python-dateutil for timestamp handling.

Beyond the core client, webdav4 offers two optional interfaces: an fsspec integration that presents WebDAV storage as a standard filesystem abstraction (useful for code that expects a generic file-system-like API), and a command-line tool for direct server interaction. The package is actively maintained, supports Python 3.8 through 3.14, and carries no known security vulnerabilities.

Use it for:

  • Automate file uploads and downloads to a WebDAV-enabled server from Python scripts or applications
  • Integrate WebDAV storage with tools expecting an fsspec-compatible filesystem backend
  • Build server-side file management workflows that check existence, list, and manipulate remote documents
  • Use the CLI for ad-hoc WebDAV operations without writing Python code
  • Sync or mirror files between local storage and a WebDAV server in batch processes

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A WebDAV client library that provides a Python API, optional fsspec filesystem integration, and a CLI tool for interacting with WebDAV servers.

Yes. webdav4 is actively maintained, carries no security vulnerabilities, has low install friction, and provides a clean API for WebDAV operations. The optional fsspec integration and CLI add flexibility. It is suitable for projects needing reliable WebDAV client functionality in Python.

Install

webdav4 on PyPI

pip

pip install webdav4

uv

uv add webdav4

poetry

poetry add webdav4

Installing webdav4

Before you install

Low friction install with only two runtime dependencies (httpx and python-dateutil). Active maintenance with recent commits and a stable release history since 2021.

License in practice

MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.

Quickstart

pip install webdav4

from webdav4.client import Client

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

Verify before relying

  • Whether WebDAV server compatibility covers all common implementations (e.g., Nextcloud, OwnCloud, Apache, Sharepoint)
  • Performance characteristics for large file transfers or operations on servers with many files
  • Whether authentication methods beyond basic auth (e.g., OAuth, certificate-based) are supported

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 2 — httpx, python-dateutil
Maintenance actively maintained — 176 days since the last release
Last repo commit
First released
Downloads 532,781/month — #6,145 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: webdav4-0.11.0-py3-none-any.whl

Keywords: fsspec, webdav, webdav-cli, webdav-client

Development Status :: 4 - BetaProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

webdav client librarywebdav file operationsfsspec webdav backendwebdav command line toolremote file access webdavwebdav upload downloadwebdav filesystem api
webdavfile-syncfsspec-backend

More WWW/HTTP packages