webdavclient3
WebDAV client, based on original package https://github.com/designerror/webdav-client-python but uses requests instead of PyCURL
What it is and what it does
webdavclient3 is a Python WebDAV client library that provides a simple interface for interacting with WebDAV servers. It uses requests for HTTP transport instead of PyCURL, making installation straightforward. The package supports both synchronous and asynchronous operations, allowing you to check resource existence, list directories, upload and download files, create and delete directories, copy and move resources, and manage publish/unpublish states.
The library is designed for working with cloud storage services that expose WebDAV endpoints. It handles authentication, SSL certificate verification, proxy configuration, request timeouts, and speed limiting. You configure a Client with a hostname and credentials, then call methods like download_sync(), upload_sync(), list(), mkdir(), and clean() to perform operations on remote resources.
Use it for:
- Sync local directories with WebDAV-backed cloud storage by using pull() and push() methods
- Automate file uploads and downloads to a WebDAV server in a Python application or script
- Manage remote directories and files (create, delete, copy, move) without manual intervention
- Integrate WebDAV storage access into a Python application with configurable timeouts and proxies
- Batch download or upload multiple files asynchronously with callback progress tracking
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python WebDAV client library providing access to WebDAV servers with file operations including upload, download, copy, move, and directory management.
Yes, if you need WebDAV client functionality and your server is compatible. The package has low install friction, permissive licensing, no known vulnerabilities, and works across Python versions 3.6 and later. Maintenance is aging but not abandoned—consider it stable for basic operations. Verify compatibility with your specific WebDAV server and test asynchronous features before relying on them in production.
Install
webdavclient3 on PyPI
pip
pip install webdavclient3uv
uv add webdavclient3poetry
poetry add webdavclient3Installing webdavclient3
Before you install
Low install friction with a pure-Python wheel and only three runtime dependencies (requests, lxml, python-dateutil). Maintenance status is aging—last release was 189 days ago—but the repository remains active with recent commits and no archived status.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you include the license notice.
Quickstart
pip install webdavclient3
from webdavclient3.client import Client
options = {
'webdav_hostname': 'https://webdav.server.ru',
'webdav_login': 'login',
'webdav_password': 'password'
}
client = Client(options)
client.mkdir('directory_name')
Verify before relying
- Whether the package handles concurrent or high-throughput WebDAV operations reliably
- Current test coverage and stability guarantees for modern Python versions
- Performance characteristics and reliability of asynchronous methods in production
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — requests, lxml, python-dateutil |
| Maintenance | aging — 189 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 748,354/month — #5,165 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: webdavclient3-3.14.7-py3-none-any.whl
Keywords: webdav, client, python, module, library, packet, Yandex.Disk, Dropbox, Google Disk, Box, 4shared
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
webdav4A WebDAV client library that provides a Python…
permissive · top 15,000 on PyPI
wsgidavWsgiDAV is a WebDAV server implementation in…
permissive · top 15,000 on PyPI
dbs3-pycurlProvides a Python client wrapper around pycurl…
permissive · top 15,000 on PyPI
hdfsHdfsCLI provides Python bindings and a…
permissive · top 5,000 on PyPI
scpProvides file transfer over SSH using the SCP…
copyleft · top 5,000 on PyPI
PyDrivePyDrive wraps the Google Drive API into Python…
unclear · top 15,000 on PyPI
python-documentcloudA Python wrapper for the DocumentCloud API that…
permissive · top 15,000 on PyPI
svnWraps the Subversion command-line client to…
copyleft · top 15,000 on PyPI
requests-ntlm3Provides HTTP NTLM authentication for the…
permissive · top 15,000 on PyPI
pycurlPycURL is a Python wrapper around libcurl that…
unclear · top 5,000 on PyPI