webdav4
WebDAV client library with an fsspec-based filesystem and a CLI
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 webdav4uv
uv add webdav4poetry
poetry add webdav4Installing 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
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
fsspecfsspec provides a unified filesystem interface…
unclear · top 100 on PyPI
webdavclient3Python WebDAV client library providing access…
permissive · top 15,000 on PyPI
osfclientosfclient is a Python library and command-line…
permissive · top 15,000 on PyPI
sshfsProvides an fsspec-compatible filesystem…
permissive · top 5,000 on PyPI
msgraphfsProvides a filesystem interface to Microsoft…
permissive · top 5,000 on PyPI
adlfsProvides a filesystem interface to Azure Blob…
permissive · top 5,000 on PyPI
fsspec-xrootdAdds XRootD storage support to fsspec, enabling…
permissive · top 5,000 on PyPI
universal-pathlibUniversal Pathlib provides a pathlib.Path-like…
permissive · top 1,000 on PyPI
gdrive-fsspecProvides a fsspec-compatible filesystem…
permissive · top 15,000 on PyPI
ipfshttpclientA Python HTTP client library for interacting…
permissive · top 15,000 on PyPI