icalendar-searcher
Search, filter and sort iCalendar components
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-searcheruv
uv add icalendar-searcherpoetry
poetry add icalendar-searcherInstalling 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
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
icalendarParses, creates, and modifies iCalendar files…
permissive · top 5,000 on PyPI
recurring-ical-eventsExpands recurring iCalendar events (RFC 5545)…
copyleft · top 5,000 on PyPI
caldavA CalDAV (RFC4791) client library for Python…
unclear · top 5,000 on PyPI
icalParse, create, and iterate over iCalendar (RFC…
permissive · top 15,000 on PyPI
icaleventsDownloads, parses, and queries iCalendar (.ics)…
permissive · top 15,000 on PyPI
cloudsearchWrapper for AWS CloudSearch that simplifies…
permissive · top 15,000 on PyPI
django-icalGenerates iCalendar (iCal) feeds from Django…
permissive · top 15,000 on PyPI
types-icalendarProvides type stubs for the icalendar package,…
permissive · top 15,000 on PyPI
eventregistryQuery news articles and events from Event…
permissive · top 15,000 on PyPI
vobjectParses and serializes iCalendar and vCard…
permissive · top 5,000 on PyPI