skillfed

vdirsyncer

Synchronize calendars and contacts

vdirsyncer v0.20.0 159.1K downloads/30d#10,707 on PyPI
Permissive license BSD-3-Clause AGING released

What it is and what it does

Vdirsyncer is a command-line synchronization tool designed to keep calendars and addressbooks in sync across multiple sources—typically a server and your local filesystem, or two servers directly. It works by pulling calendar and contact data from remote servers, storing it locally, allowing you to edit it with your preferred local tools, and then pushing changes back to the server. The package depends on click, click-log, requests, aiohttp, and aiostream to handle CLI interaction, HTTP communication, and asynchronous operations.

The tool is positioned as the calendar-and-contacts equivalent of OfflineIMAP for email: it enables an offline-first workflow where you maintain a local copy of your calendar and contacts, work on them with any compatible application, and let vdirsyncer handle the bidirectional synchronization. It supports a variety of server types and can also synchronize between two servers without a local copy, making it flexible for different workflow needs.

Use it for:

  • Synchronize a CalDAV server calendar to a local folder, edit events with a local calendar app, then sync changes back.
  • Keep an addressbook from a CardDAV server in sync with local contact files for offline access and editing.
  • Mirror calendars or addressbooks between two different servers without storing a local copy.
  • Maintain an offline backup of calendars and contacts while working with them in local tools.
  • Integrate calendar and contact synchronization into a personal data management workflow using command-line automation.

Worth the install?

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

Vdirsyncer is a command-line tool that synchronizes calendars and addressbooks between servers and the local filesystem, or between two servers directly.

Yes, if you need reliable calendar and addressbook synchronization between servers and local storage. The low install friction, permissive license, and support for modern Python versions make it straightforward to set up. However, the aging maintenance status (351 days since last release) means you should verify compatibility with your specific servers and be prepared for slower issue resolution if problems arise.

Install

vdirsyncer on PyPI

pip

pip install vdirsyncer

uv

uv add vdirsyncer

poetry

poetry add vdirsyncer

Installing vdirsyncer

Before you install

Low install friction with a pure-Python wheel. Maintenance status is aging—the latest release was 351 days ago—so expect slower response to issues, though the package remains functional across modern Python versions (3.8–3.13).

License in practice

Licensed under BSD-3-Clause (permissive), so you can use, modify, and redistribute vdirsyncer freely in both open and closed projects, provided you include the license notice.

Quickstart

pip install vdirsyncer
vdirsyncer discover
vdirsyncer sync

Requires Python 3.8 or later; also requires network access to the calendar/addressbook servers you intend to synchronize with.

Verify before relying

  • Whether the aging maintenance status (351 days since last release) affects reliability with newer CalDAV/CardDAV server implementations.
  • Specific server types and authentication methods supported beyond the general 'variety of servers' claim in the description.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 5 — click, click-log, requests, aiohttp, aiostream
Maintenance aging — 351 days since the last release
First released
Downloads 159,127/month — #10,707 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: vdirsyncer-0.20.0-py3-none-any.whl

Keywords: todo, task, icalendar, cli

Development Status :: 4 - BetaEnvironment :: ConsoleOperating System :: POSIXProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: InternetTopic :: Office/Business :: SchedulingTopic :: Utilities

Tags

calendar sync tooladdressbook synchronizationcaldav carddav syncoffline calendar contactscalendar server synccontact synchronization clivcard icalendar sync
calendar-syncoffline-firstcli-tool

More Internet packages