skillfed

icalendar-searcher

Search, filter and sort iCalendar components

icalendar-searcher v1.0.6 674.3K downloads/30d#5,391 on PyPI1
AGPL license AGPL-3.0-or-later Active released

What it is and what it does

icalendar-searcher provides a query and filtering interface for iCalendar data. It wraps icalendar and recurring-ical-events to let you build search criteria (date ranges, property matches, sort keys) and apply them to collections of calendar components. The library supports basic text matching with optional case-insensitive and locale-aware comparison, category filtering, and sorting by component properties.

The package is positioned as a utility for applications managing calendar collections that need client-side filtering. Core functions like sort and check_component are used by the caldav project and have undergone testing; however, filter and related functions are newly written, AI-generated, and lack production validation. The author acknowledges this maturity gap and warns of potential issues.

Use it for:

  • Filter calendar events by date range and property values to find matching components.
  • Implement client-side search when a server does not support desired query parameters.
  • Sort calendar components by start date, location, or other properties with locale-aware collation.
  • Expand and filter recurring calendar events to find matching instances within a date range.
  • Build a search query object to bundle filtering and sorting parameters for reuse.

Worth the install?

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

Searches, filters, and sorts iCalendar components by properties and date ranges, with support for recurring events and optional locale-aware text comparison.

Yes, with conditions. Install if you need to search and filter iCalendar data and can tolerate early-stage code for some features. The core sort and check_component functions are tested by the caldav project; however, filter and filter_calendar are untested in production and AI-generated. The AGPL-3.0-or-later license is restrictive for proprietary software. Low install friction and no known vulnerabilities are positives. Suitable for open-source projects that can accept the license terms.

Install

icalendar-searcher on PyPI

pip

pip install icalendar-searcher

uv

uv add icalendar-searcher

poetry

poetry add icalendar-searcher

Installing icalendar-searcher

Before you install

Low install friction with only 2 runtime dependencies. Active maintenance as of 2026-05-29. However, the library is newly released and the author explicitly notes that filter, filter_calendar, and sort_calendar are AI-generated, untested in production, and may have issues.

License in practice

Released under AGPL-3.0-or-later, which requires that any modifications or derivative works be released under the same license and that source code be made available to users. This is restrictive for proprietary software. The author indicates willingness to consider dual licensing if compatibility becomes an issue.

Quickstart

from icalendar_searcher import Searcher
from datetime import datetime

searcher = Searcher(event=True, start=datetime(2025, 1, 1), end=datetime(2025, 12, 31))
searcher.add_property_filter("SUMMARY", "meeting", operator="contains")
matching = searcher.filter(calendars)

Requires Python 3.10 or later. Optional PyICU dependency for advanced collation support (install with pip install 'icalendar-searcher[collation]').

Verify before relying

  • Whether filter, filter_calendar, and sort_calendar functions are production-ready despite being AI-generated and untested.
  • Performance characteristics when filtering large calendar datasets or handling open-ended recurrence intervals.
  • Real-world compatibility with wrapped objects beyond base icalendar.Component instances.

Package facts

License AGPL-3.0-or-later (agpl)
Python support supports the current Python release (<4.0,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 2 — icalendar, recurring-ical-events
Maintenance actively maintained — 77 days since the last release
Last repo commit
First released
Downloads 674,310/month — #5,391 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: icalendar_searcher-1.0.6-py3-none-any.whl

Tags

icalendar filtering and searchingcalendar event search libraryical component filteringcalendar search utilitiescalendar event sortingicalendar query buildercalendar data filtering
calendar-searchicalendar-utilities

More Software Development packages