VObjectX¶
A full-featured Python3 package for parsing and creating iCalendar and vCard files.
Overview¶
VObjectX is a comprehensive library for working with calendar and contact data in Python. It provides tools for:
- iCalendar (RFC 5545): Parse and create
.icsfiles for calendar data - vCard (RFC 6350): Parse and create
.vcffiles for contact information - hCalendar: Microformat calendar data
- Timezone handling: Convert between timezones with proper DST handling
Installation¶
Quick Start¶
Working with iCalendar¶
from vobjectx import icalendar
# Parse an ICS file
with open('calendar.ics', 'r') as f:
cal = icalendar.read_one(f.read())
# Access calendar properties
print(cal.summary.value)
print(cal.dtstart.value)
Working with vCards¶
from vobjectx import vcard
# Parse a VCF file
with open('contact.vcf', 'r') as f:
card = vcard.read_one(f.read())
# Access contact information
print(card.n.value)
print(card.email.value)
Features¶
- Full support for iCalendar (RFC 5545) components
- vCard 3.0 and 4.0 support
- Timezone-aware date handling
- Command-line tools for diff and timezone conversion
- Extensible architecture for custom components
Command-Line Tools¶
VObjectX includes two command-line utilities:
ics_diff: Compare two ICS files and show differenceschange_tz: Convert calendar events between timezones
Documentation¶
- API Reference - Complete API documentation
- GitHub Repository - Source code and issues
License¶
Apache License 2.0 - See LICENSE for details.