Skip to content

Conversation

@hugovk
Copy link
Member

@hugovk hugovk commented Nov 13, 2025

Now we have all the Python release dates in a single file (https://github.com/python/peps/blob/main/release_management/python-releases.toml) and generate some JSON files from it (#4702, #4331), it's easy to generate other useful files as well.

One useful file is an iCalendar .ics file that can be imported to calendars.

The Fedora Python team are generating one at https://github.com/fedora-python/python-release-schedule-ical through scraping the PEP HTML files. I'm using this and have found it extremely useful. If we generate one here, they could retire that repo if they like.

Differences between the two:

  • python-release-schedule-ical generates a calendar for Python 3.5 onwards. I defaulted to doing it for all releases. We could also easily limit from a given version if needed, but the files are 55K and 98K respectively, both pretty small.
  • python-release-schedule-ical generates UIDs like [email protected]. I used a similar pattern, but added a hyphen to avoid conflicts: [email protected]
  • I sorted this iCal by date, earliest releases come first. The order doesn't matter, but can make it easier to read/debug the file.

cc @hroncok @hrnciar from Fedora Python, would this be useful for you?


📚 Documentation preview 📚: https://pep-previews--4704.org.readthedocs.build/

@hugovk hugovk requested review from a team, AA-Turner and CAM-Gerlach as code owners November 13, 2025 14:46
@hugovk hugovk added the infra Core infrastructure for building and rendering PEPs label Nov 13, 2025
@hroncok
Copy link
Contributor

hroncok commented Nov 13, 2025

It would be useful indeed. Thanks.

pytest-cov

# For python-releases.ical
icalendar
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obligatory “supply chain” security question: do we trust icalendar maintainers and their operational security?
This could be tasty vector for running code on core dev boxes.
cc @sethmlarson


Maybe consider generating “manually”? iCal is a simple, stable text-based format.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@encukou I would recommend generating the ICS file manually within the code instead of relying on a library. The format is quite simple, especially for the use-case we need :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've proposed a simpler alternative at #4705 following this suggestion.

A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infra Core infrastructure for building and rendering PEPs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants