Skip to main content

CalDAV (RFC4791) client library

Project description

caldav

This project is a CalDAV (RFC4791) client library for Python.

Features:

  • create, modify calendar
  • create, update and delete event
  • search events by dates
  • async support via caldav.aio module
  • etc.

Quick Start

from caldav import get_davclient

with get_davclient() as client:
    principal = client.principal()
    calendars = principal.get_calendars()
    for cal in calendars:
        print(f"Calendar: {cal.name}")

Async API

For async/await support, use the caldav.aio module:

import asyncio
from caldav import aio

async def main():
    async with aio.get_async_davclient() as client:
        principal = await client.principal()
        calendars = await principal.get_calendars()
        for cal in calendars:
            print(f"Calendar: {cal.name}")

asyncio.run(main())

Documentation and other links

The user documentation (up-to-date with version 3.2) is embedded under docs/source - a rendered copy is available at https://caldav.readthedocs.io/

Other documentation:

There is also a directory docs/design containing lots of documents, mostly AI-generated, containing things like design decisions and other things that neither is deemed important enough to have a document on the root of the project nor deemed to be "user documentation".

The package is published at Pypi

HTTP Libraries

The sync client uses niquests by default (with fallback to requests). The async client uses httpx if installed, otherwise falls back to niquests. See HTTP Library Configuration for details.

Licences

The caldav library is dual-licensed under the GNU GENERAL PUBLIC LICENSE Version 3 or the Apache License 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

caldav-3.2.1.tar.gz (10.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

caldav-3.2.1-py3-none-any.whl (215.9 kB view details)

Uploaded Python 3

File details

Details for the file caldav-3.2.1.tar.gz.

File metadata

  • Download URL: caldav-3.2.1.tar.gz
  • Upload date:
  • Size: 10.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for caldav-3.2.1.tar.gz
Algorithm Hash digest
SHA256 b474900130226f22dbe3e3abed34559faaeed8a29c455af920c2afb0e355e3d3
MD5 038531bbdd709ba0a0cd611d59a95943
BLAKE2b-256 5220fd2054d0fe08b2641b5e501fdc1b7d7f989960ce7c2e4ec5a0fad4f8a82b

See more details on using hashes here.

File details

Details for the file caldav-3.2.1-py3-none-any.whl.

File metadata

  • Download URL: caldav-3.2.1-py3-none-any.whl
  • Upload date:
  • Size: 215.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for caldav-3.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6869e505ad14741a582003c93e49be2689013d19c9b91679c7c385775b673408
MD5 dcaf0f5ecbe41838608ed78e397c863f
BLAKE2b-256 4e39970a6699f06487088d8a936ae67e7197d98d11dd778b13b3a1261eac7331

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page