skillfed

icalevents

Simple Python 3 library to download, parse and query iCal sources.

icalevents v0.3.1 579.9K downloads/30d#5,915 on PyPI
Permissive license MIT AGING released

What it is and what it does

iCalEvents is a lightweight Python library for working with iCalendar (.ics) data from remote URLs or local files. It wraps icalendar and adds convenience functions to download calendar feeds and extract events, making it simpler to integrate calendar data into Python applications without manually handling HTTP requests or low-level parsing.

The library depends on icalendar, python-dateutil, pytz, and urllib3. It targets Python 3.9 and later and is maintained by the Jazzband community, though recent activity has slowed (last release 322 days ago). No known security vulnerabilities are recorded.

Use it for:

  • Fetch and display upcoming events from a public Google Calendar or iCloud calendar URL in a web dashboard.
  • Parse exported .ics files to populate a local event database or sync calendar data between systems.
  • Build a calendar aggregator that pulls events from multiple iCal sources and merges them into a unified view.
  • Extract event metadata (title, date, time, attendees) from calendar feeds for reporting or filtering.
  • Integrate calendar data into a scheduling or availability-checking application.

Worth the install?

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

Downloads, parses, and queries iCalendar (.ics) sources from URLs or local files, extracting event data for use in Python applications.

Yes, if you need straightforward iCalendar parsing and downloading. The library has low install friction, permissive licensing, and no known vulnerabilities. However, the aging maintenance status (322 days since last release) means you should verify it handles your specific calendar format and features before committing to it in a production system. For simple, read-only calendar integration, it is a solid choice.

Install

icalevents on PyPI

pip

pip install icalevents

uv

uv add icalevents

poetry

poetry add icalevents

Installing icalevents

Before you install

Low install friction with a pure-Python wheel distribution. Maintenance status is aging—last release was 322 days ago—so expect slower response to issues, though the package remains functional for its core use case.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.

Quickstart

pip install icalevents

from icalevents.icalevents import events

# Fetch and parse events from a calendar URL
es = events(url='https://example.com/calendar.ics')
for event in es:
    print(event.summary, event.start)

Requires Python 3.9 or later; urllib3 must be able to reach the calendar URL if fetching from a remote source.

Verify before relying

  • Whether the package handles recurring events or only single instances.
  • Performance characteristics when parsing large calendars or fetching from slow sources.
  • Specific behavior differences between fix_apple=True and default parsing modes.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 4 — icalendar, python-dateutil, pytz, urllib3
Maintenance aging — 322 days since the last release
First released
Downloads 579,880/month — #5,915 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: icalevents-0.3.1-py3-none-any.whl

License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9

Tags

icalendar parsingics file parsercalendar event extractionical download and parseicloud google calendar syncics event querycalendar feed reader
calendar-parsingevent-extractionical-download

More Internet packages