In general, I use vdirsync to sync my contacts and calendars locally, keeping the remote system's values to resolve conflicts as I intend to only read the values from the CLI. Vdirsync uses an application-agnostic format, so I could in theory read from any application that supports standard file formats: