2011-08-17 21:40:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								==========================================================
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Internet Calendaring and Scheduling (iCalendar) for Python
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								==========================================================
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-10-07 15:15:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The `icalendar`_  package is a :rfc: `5545`  compatible parser/generator for iCalendar
 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-08 13:00:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								files.
 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 21:40:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-08-18 01:57:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								----
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-06-25 02:54:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								:Homepage:  https://icalendar.readthedocs.io 
  
						 
					
						
							
								
									
										
										
										
											2024-12-23 14:16:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								:Community Discussions:  https://github.com/collective/icalendar/discussions 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								:Issue Tracker:  https://github.com/collective/icalendar/issues 
  
						 
					
						
							
								
									
										
										
										
											2017-06-25 02:54:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								:Code:  https://github.com/collective/icalendar 
  
						 
					
						
							
								
									
										
										
										
											2024-10-07 15:15:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								:Dependencies:  `python-dateutil`_ and `tzdata`_. 
  
						 
					
						
							
								
									
										
										
										
											2017-06-19 17:46:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								:License:  `BSD`_ 
  
						 
					
						
							
								
									
										
										
										
											2011-08-18 01:57:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								----
 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 21:40:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-08-07 22:55:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								..  image ::  https://badge.fury.io/py/icalendar.svg
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   :target:  https://pypi.org/project/icalendar/ 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   :alt:  Python Package Version on PyPI 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-22 17:33:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								..  image ::  https://img.shields.io/pypi/pyversions/icalendar
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   :target:  https://pypi.org/project/icalendar/ 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   :alt:  PyPI - Python Version 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-08-07 22:55:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								..  image ::  https://img.shields.io/pypi/dm/icalendar.svg
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   :target:  https://pypi.org/project/icalendar/#files 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   :alt:  Downloads from PyPI 
 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-03 15:49:09 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-20 13:27:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								..  image ::  https://img.shields.io/github/actions/workflow/status/collective/icalendar/tests.yml?branch=main&label=main&logo=github
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    :target:  https://github.com/collective/icalendar/actions/workflows/tests.yml?query=branch%3Amain 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    :alt:  GitHub Actions build status for main 
 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-13 12:04:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-10-03 20:37:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								..  image ::  https://readthedocs.org/projects/icalendar/badge/?version=latest
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    :target:  https://icalendar.readthedocs.io/en/latest/?badge=latest 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    :alt:  Documentation Status 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-28 12:51:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								..  image ::  https://coveralls.io/repos/github/collective/icalendar/badge.svg
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    :target:  https://coveralls.io/github/collective/icalendar 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    :alt:  Test Coverage 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-04-26 13:16:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								..  _`icalendar`:  https://pypi.org/project/icalendar/
  
						 
					
						
							
								
									
										
										
										
											2017-01-24 01:59:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								..  _`python-dateutil`:  https://github.com/dateutil/dateutil/
  
						 
					
						
							
								
									
										
										
										
											2024-10-07 15:15:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								..  _`tzdata`:  https://pypi.org/project/tzdata/
  
						 
					
						
							
								
									
										
										
										
											2012-02-27 09:22:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								..  _`BSD`:  https://github.com/collective/icalendar/issues/2
  
						 
					
						
							
								
									
										
										
										
											2018-01-29 19:09:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 16:19:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Quick start guide
 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-03 14:50:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								=================
 
							 
						 
					
						
							
								
									
										
										
										
											2023-08-30 16:33:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								`` icalendar ``  enables you to **create** , **inspect**  and **modify** 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								calendaring information with Python.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-08-30 16:33:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								To **install**  the package, run::
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    pip install icalendar
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Inspect Files
 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-03 14:50:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-------------
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-09-29 21:04:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								You can open an `` .ics ``  file and see all the events:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								..  code ::  python
  
						 
					
						
							
								
									
										
										
										
											2023-08-30 16:33:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  >>> import icalendar
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  >>> from pathlib import Path
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  >>> ics_path = Path("src/icalendar/tests/calendars/example.ics")
 
							 
						 
					
						
							
								
									
										
										
										
											2025-01-16 23:39:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  >>> calendar = icalendar.Calendar.from_ical(ics_path.read_bytes())
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  >>> for event in calendar.events:
 
							 
						 
					
						
							
								
									
										
										
										
											2023-08-30 16:33:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  ...     print(event.get("SUMMARY")) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  New Year's Day
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Orthodox Christmas
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  International Women's Day
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Modify Content
 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-03 14:50:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								--------------
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Such a calendar can then be edited and saved again.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								..  code ::  python
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-05-18 15:50:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    >>> calendar.calendar_name = "My Modified Calendar"  # modify
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> print(calendar.to_ical()[:121])  # save modification
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    BEGIN:VCALENDAR
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    VERSION:2.0
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PRODID:collective/icalendar
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    CALSCALE:GREGORIAN
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    METHOD:PUBLISH
 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-18 15:50:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    NAME:My Modified Calendar
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Create Events, TODOs, Journals, Alarms, ...
 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-03 14:50:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-------------------------------------------
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								`` icalendar ``  supports the creation and parsing of all kinds of objects
  
						 
					
						
							
								
									
										
										
										
											2024-10-07 15:15:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								in the iCalendar (:rfc: `5545` ) standard.
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								..  code ::  python
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> icalendar.Event()  # events
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    VEVENT({})
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> icalendar.FreeBusy()  # free/busy times
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    VFREEBUSY({})
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> icalendar.Todo()  # Todo list entries
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    VTODO({})
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> icalendar.Alarm()  # Alarms e.g. for events
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    VALARM({})
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> icalendar.Journal()   # Journal entries
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    VJOURNAL({})
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Have a look at `more examples
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								<https://icalendar.readthedocs.io/en/latest/usage.html> `_.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 16:19:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Use timezones of your choice
 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-03 14:50:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								----------------------------
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								With `` icalendar `` , you can localize your events to take place in different
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								timezones.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								`` zoneinfo `` , `` dateutil.tz ``  and `` pytz ``  are compatible with `` icalendar `` .
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This example creates an event that uses all of the timezone implementations
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								with the same result:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								..  code ::  python
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> import pytz, zoneinfo, dateutil.tz  # timezone libraries
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> import datetime, icalendar
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> e = icalendar.Event()
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> tz = dateutil.tz.tzstr("Europe/London")
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> e["X-DT-DATEUTIL"] = icalendar.vDatetime(datetime.datetime(2024, 6, 19, 10, 1, tzinfo=tz))
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> tz = pytz.timezone("Europe/London")
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> e["X-DT-USE-PYTZ"] = icalendar.vDatetime(datetime.datetime(2024, 6, 19, 10, 1, tzinfo=tz))
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> tz = zoneinfo.ZoneInfo("Europe/London")
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> e["X-DT-ZONEINFO"] = icalendar.vDatetime(datetime.datetime(2024, 6, 19, 10, 1, tzinfo=tz))
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> print(e.to_ical())  # the libraries yield the same result
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BEGIN:VEVENT
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    X-DT-DATEUTIL;TZID=Europe/London:20240619T100100
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    X-DT-USE-PYTZ;TZID=Europe/London:20240619T100100
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    X-DT-ZONEINFO;TZID=Europe/London:20240619T100100
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    END:VEVENT
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-22 18:03:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Version 6 with zoneinfo
 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-03 14:50:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-----------------------
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-07 16:49:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-07 17:04:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Version 6 of `` icalendar ``  switches the timezone implementation to `` zoneinfo `` .
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This only affects you if you parse `` icalendar ``  objects with `` from_ical() `` .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The functionality is extended and is tested since 6.0.0 with both timezone
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 16:19:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								implementations `` pytz ``  and `` zoneinfo `` .
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								By default and since 6.0.0, `` zoneinfo ``  timezones are created.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								..  code ::  python
  
						 
					
						
							
								
									
										
										
										
											2024-06-07 16:49:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-29 17:10:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    >>> dt = icalendar.Calendar.example("timezoned").events[0].start
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-07 16:49:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    >>> dt.tzinfo
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-07 17:26:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ZoneInfo(key='Europe/Vienna')
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-07 16:49:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-01 22:24:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								If you would like to continue to receive `` pytz ``  timezones in parse results,
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-22 18:03:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								you can receive all the latest updates, and switch back to earlier behavior:
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-19 10:25:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								..  code ::  python
  
						 
					
						
							
								
									
										
										
										
											2024-06-07 16:49:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    >>> icalendar.use_pytz()
 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-29 17:10:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    >>> dt = icalendar.Calendar.example("timezoned").events[0].start
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-07 16:49:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    >>> dt.tzinfo
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    <DstTzInfo 'Europe/Vienna' CET+1:00:00 STD>
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-23 13:38:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Version 6 is on `branch main  <https://github.com/collective/icalendar/> `_ .
 
							 
						 
					
						
							
								
									
										
										
										
											2024-10-13 17:24:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								It is compatible with Python versions 3.8 - 3.13, and PyPy3.
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-22 18:03:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								We expect the `` main ``  branch with versions `` 6+ ``  to receive the latest updates and features.
 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-07 17:26:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-29 19:09:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Related projects
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								================
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `icalevents  <https://github.com/irgangla/icalevents> `_ . It is built on top of icalendar and allows you to query iCal files and get the events happening on specific dates. It manages recurrent events as well.
  
						 
					
						
							
								
									
										
										
										
											2024-10-16 11:40:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  `recurring-ical-events  <https://pypi.org/project/recurring-ical-events/> `_ . Library to query an `` icalendar.Calendar ``  object for events and other components happening at a certain date or within a certain time.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `x-wr-timezone  <https://pypi.org/project/x-wr-timezone/> `_ . Library and command line tool to make `` icalendar.Calendar ``  objects and files from Google Calendar (using the non-standard `` X-WR-TIMEZONE ``  property) compliant with the standard (:rfc: `5545` ).
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `ics-query  <http://pypi.org/project/ics-query> `_ . Command line tool to query iCalendar files for occurrences of events and other components.
  
						 
					
						
							
								
									
										
										
										
											2025-01-24 12:55:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  `icalendar-compatibility  <https://icalendar-compatibility.readthedocs.io/en/latest/> `_  - access to event data compatible with RFC5545 and different implementations
  
						 
					
						
							
								
									
										
										
										
											2024-09-05 10:40:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Further Reading
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								===============
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								You can find out more about this project:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `Contributing`_ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `Changelog`_ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `License`_ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								..  _`Contributing`:  https://icalendar.readthedocs.io/en/latest/contributing.html
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								..  _`Changelog`:  https://icalendar.readthedocs.io/en/latest/changelog.html
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								..  _`License`:  https://icalendar.readthedocs.io/en/latest/license.html