With version 7.x of iCalendar for Python Calendar and Event components can be created using the new() method. This ensure good defaults are set to be compatible with RFC 5545.
I had previously written about using the library before the new() method existed and this makes it much easier to build good calendars. I was contacted by Nicco, one of the repository owners, on Mastodon to help put together a tutorial using new(). I'm really glad to have been part of this, both Nicco and Steve set a high bar for documentation, and it's refreshing to see.