Please find below an update for devel/py-icalendar to version 6.3.1. This update is needed to update productivity/py-caldav to version 2.0.1 which I'll send in a bit as well. All tests are passing.
Consumers build fine: misc/remind-caldav productivity/gtg productivity/khal productivity/py-caldav productivity/topydo I noticed some issues in productivity/{gtg,khal}, but they are unrelated: productivity/gtg: Runtime broken due to "ModuleNotFoundError: No module named 'imp'" productivity/khal: Some tests fail due to: "AttributeError: 'zoneinfo.ZoneInfo' object has no attribute 'localize'" Updating to the latest version should fix this: https://github.com/pimutils/khal/issues/1411 Index: Makefile =================================================================== RCS file: /cvs/ports/devel/py-icalendar/Makefile,v diff -u -p -r1.19 Makefile --- Makefile 29 Apr 2025 10:38:01 -0000 1.19 +++ Makefile 26 Sep 2025 14:57:05 -0000 @@ -1,9 +1,8 @@ COMMENT = parser/generator of iCalendar files -MODPY_DISTV = 4.0.4 +MODPY_DISTV = 6.3.1 DISTNAME = icalendar-${MODPY_DISTV} PKGNAME = py-icalendar-${MODPY_DISTV} -REVISION = 9 CATEGORIES = devel @@ -17,12 +16,15 @@ PERMIT_PACKAGE = Yes MODULES = lang/python MODPY_PI = Yes -MODPY_PYBUILD = setuptools +MODPY_PYBUILD = hatch-vcs MODPY_PYTEST_ARGS = src/icalendar/tests RUN_DEPENDS = devel/py-dateutil \ devel/py-tz TEST_DEPENDS = devel/py-coverage \ devel/py-hypothesis + +post-install: + rm -rf ${WRKINST}${MODPY_SITEPKG}/icalendar/tests/ .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/devel/py-icalendar/distinfo,v diff -u -p -r1.5 distinfo --- distinfo 31 Dec 2019 23:17:25 -0000 1.5 +++ distinfo 26 Sep 2025 14:57:05 -0000 @@ -1,2 +1,2 @@ -SHA256 (icalendar-4.0.4.tar.gz) = NHFRy5NfXy+D1Y9t2K74VY32n2wXCfHSyrIACzbe8pk= -SIZE (icalendar-4.0.4.tar.gz) = 78037 +SHA256 (icalendar-6.3.1.tar.gz) = ppfOe2eAcpQeUZ8nRXBPwp1475Ki3FPZEIumoErrpGY= +SIZE (icalendar-6.3.1.tar.gz) = 177169 Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/devel/py-icalendar/pkg/PLIST,v diff -u -p -r1.10 PLIST --- pkg/PLIST 29 Apr 2025 10:38:01 -0000 1.10 +++ pkg/PLIST 26 Sep 2025 14:57:05 -0000 @@ -9,100 +9,78 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/icalendar-${MODPY_DISTV}.dist-info/entry_points.txt lib/python${MODPY_VERSION}/site-packages/icalendar-${MODPY_DISTV}.dist-info/licenses/ lib/python${MODPY_VERSION}/site-packages/icalendar-${MODPY_DISTV}.dist-info/licenses/LICENSE.rst -lib/python${MODPY_VERSION}/site-packages/icalendar-${MODPY_DISTV}.dist-info/top_level.txt lib/python${MODPY_VERSION}/site-packages/icalendar/__init__.py ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}/ lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}_version.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}_version.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}alarms.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}alarms.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}attr.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}attr.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}cal.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}cal.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}caselessdict.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}caselessdict.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}cli.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}cli.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}compat.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}compat.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}enums.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}enums.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}error.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}error.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}param.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}param.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}parser.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}parser.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}parser_tools.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}parser_tools.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}prop.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}prop.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}timezone_cache.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}timezone_cache.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}tools.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}tools.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}windows_to_olson.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}windows_to_olson.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}version.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/${MODPY_PYCACHE}version.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/_version.py +lib/python${MODPY_VERSION}/site-packages/icalendar/alarms.py +lib/python${MODPY_VERSION}/site-packages/icalendar/attr.py lib/python${MODPY_VERSION}/site-packages/icalendar/cal.py lib/python${MODPY_VERSION}/site-packages/icalendar/caselessdict.py lib/python${MODPY_VERSION}/site-packages/icalendar/cli.py -lib/python${MODPY_VERSION}/site-packages/icalendar/compat.py +lib/python${MODPY_VERSION}/site-packages/icalendar/enums.py +lib/python${MODPY_VERSION}/site-packages/icalendar/error.py +lib/python${MODPY_VERSION}/site-packages/icalendar/param.py lib/python${MODPY_VERSION}/site-packages/icalendar/parser.py lib/python${MODPY_VERSION}/site-packages/icalendar/parser_tools.py lib/python${MODPY_VERSION}/site-packages/icalendar/prop.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/ -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/__init__.py -${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}/ -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_encoding.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_encoding.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_fixed_issues.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_fixed_issues.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_icalendar.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_icalendar.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_multiple.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_multiple.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_property_params.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_property_params.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_recurrence.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_recurrence.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_time.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_time.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_timezoned.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_timezoned.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_unit_cal.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_unit_cal.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_unit_caselessdict.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_unit_caselessdict.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_unit_parser_tools.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_unit_parser_tools.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_unit_prop.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_unit_prop.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_unit_tools.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/${MODPY_PYCACHE}test_unit_tools.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/america_new_york.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/encoding.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/hypothesis/ -${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/icalendar/tests/hypothesis/${MODPY_PYCACHE}/ -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/hypothesis/${MODPY_PYCACHE}test_fuzzing.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/hypothesis/${MODPY_PYCACHE}test_fuzzing.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/hypothesis/test_fuzzing.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/issue_112_missing_tzinfo_on_exdate.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/issue_53_parsing_failure.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/multiple.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/pacific_fiji.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/recurrence.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_encoding.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_fixed_issues.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_icalendar.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_multiple.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_property_params.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_recurrence.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_time.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_timezoned.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_unit_cal.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_unit_caselessdict.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_unit_parser_tools.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_unit_prop.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/test_unit_tools.py -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/time.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/timezone_rdate.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/timezone_same_start.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/timezone_same_start_and_offset.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/timezoned.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/tests/x_location.ics -lib/python${MODPY_VERSION}/site-packages/icalendar/timezone_cache.py +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/ +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/__init__.py +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}equivalent_timezone_ids.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}equivalent_timezone_ids.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}equivalent_timezone_ids_result.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}equivalent_timezone_ids_result.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}provider.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}provider.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}pytz.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}pytz.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}tzid.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}tzid.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}tzp.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}tzp.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}windows_to_olson.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}windows_to_olson.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}zoneinfo.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/${MODPY_PYCACHE}zoneinfo.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/equivalent_timezone_ids.py +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/equivalent_timezone_ids_result.py +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/provider.py +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/pytz.py +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/tzid.py +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/tzp.py +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/windows_to_olson.py +lib/python${MODPY_VERSION}/site-packages/icalendar/timezone/zoneinfo.py lib/python${MODPY_VERSION}/site-packages/icalendar/tools.py -lib/python${MODPY_VERSION}/site-packages/icalendar/windows_to_olson.py +lib/python${MODPY_VERSION}/site-packages/icalendar/version.py