vobject
A full-featured Python package for parsing and creating iCalendar and vCard files
What it is and what it does
vobject is a Python library for reading and writing iCalendar (.ics) and vCard (.vcs) files—the standard formats for calendar events and contact information. It parses these text-based formats into Python objects you can work with programmatically, and serializes Python data structures back into valid iCalendar or vCard strings. The library handles character encoding automatically and depends on pytz, six, and python-dateutil for timezone and date handling.
The package is marked Production/Stable and has been actively maintained since 2006. It's designed for developers who need to integrate calendar or contact data into Python applications—reading events from .ics files, building contact databases from vCard exports, or generating calendar feeds. The three runtime dependencies are all widely used and stable, keeping the install footprint small.
Use it for:
- Parse .ics calendar files to extract events and convert them to Python objects for database storage or processing
- Read vCard contact files and transform them into application-specific contact data structures
- Generate iCalendar or vCard output from Python data to share calendar events or contacts with other systems
- Build calendar synchronization tools that need to read and write standard calendar formats
- Create contact management utilities that import/export vCard files with proper encoding handling
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses and serializes iCalendar and vCard files, converting them to and from Python data structures while handling relevant encodings.
Yes. vobject is a mature, actively maintained library with low install friction and no known vulnerabilities. If you need to parse or generate iCalendar or vCard files in Python, this is the standard choice. The permissive Apache license poses no restrictions. The only caveat is that hCalendar serialization is marked experimental, so verify that feature's stability if you plan to use it.
Install
vobject on PyPI
pip
pip install vobjectuv
uv add vobjectpoetry
poetry add vobjectInstalling vobject
Before you install
Low install friction with three lightweight runtime dependencies (pytz, six, python-dateutil). Actively maintained with recent commits; last release was 606 days ago, indicating stable, mature code rather than rapid iteration.
License in practice
Apache permissive license allows commercial and private use with minimal restrictions; you can use, modify, and distribute this package freely as long as you include the license notice.
Quickstart
pip install vobject
import vobject
# Parse a vCard or iCalendar string
obj = vobject.readOne(ics_or_vcard_string)
print(obj.serialize())
Verify before relying
- Whether experimental hCalendar serialization is production-ready or carries known limitations
- Current Python 3 version support scope (classifiers list 'Python :: 3' but no minor versions specified)
Package facts
| License | Apache (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — pytz, six, python-dateutil |
| Maintenance | actively maintained — 606 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,730,737/month — #3,609 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: vobject-0.9.9-py2.py3-none-any.whl
Keywords: vobject, icalendar, vcard, ics, vcs, hcalendar
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
icalendarParses, creates, and modifies iCalendar files…
permissive · top 5,000 on PyPI
pythonvCard4Parse and generate RFC 6350-compliant vCard 4.0…
permissive · top 15,000 on PyPI
icalParse, create, and iterate over iCalendar (RFC…
permissive · top 15,000 on PyPI
types-vobjectProvides type stubs for the vobject package,…
permissive · top 15,000 on PyPI
icsReads and writes iCalendar (RFC 5545) files in…
permissive · top 15,000 on PyPI
icaleventsDownloads, parses, and queries iCalendar (.ics)…
permissive · top 15,000 on PyPI
vdirsyncerVdirsyncer is a command-line tool that…
permissive · top 15,000 on PyPI
vdfSerializes and deserializes Valve's KeyValue…
permissive · top 15,000 on PyPI
pydifactPydifact parses and serializes UN/EDIFACT…
permissive · top 15,000 on PyPI
opack2opack2 parses the opack binary format, a…
copyleft · top 15,000 on PyPI