Future of icalendar, looking for maintainer

The icalendar package in the Plone collective has been designated as a "critical" project on PyPI, meaning it is in the top 1 percent of downloaded packages. It was started by Martijn Faassen in 2005, saw lots of commits by Johannes Raggam and Rok Garbas around 2011/2012, during the time plone.app.event was created and added to Plone. You can see all contributors.

Apparently I am the number four contributor, but that is only because I occasionally make a release. I hardly know anything about the inner workings of this package. As Plone Release Manager I am interested in having stable releases of this.

It would help if we get some fresh developer/maintainer blood in here. Is anyone capable and interested?

I have some ideas for the near future, to hopefully get things unstuck:

  • We should no longer test this on the Plone Jenkins server. That would be something to arrange in mr.roboto. I can have a look at that.
  • The package can use Github Actions instead.
  • According to setup.py the package supports Python 2.7 and 3.4-3.10. We should get GitHub actions to work with those versions. I expect that this is not really doable for at least Python 3.4 and 3.5, so we would need a new major release in which we drop support for some Python versions.
  • Ideally there should be a branch that keeps working on all Python versions that are supported for Plone 5.2, which means: Python 2.7, 3.6, 3.7, 3.8. Maybe that just needs to be the current branch, which we then would copy to 4.x. If we fail to get Github Actions to work for this, Jenkins for Plone 5.2 should still keep testing the package.
  • Increase master branch version to 5 (or 6 if needed). This should keep working on Plone 6.0 (which is near beta), which means Python 3.7-3.10.

So the first action item is really: try to get Github Actions (and locally tox) running on as much Python versions as possible, with a reasonable amount of effort.

Some links:

Update: I have opened up discussions on GitHub as well.

1 Like

I am stepping forward to maintain this project. I do understand that this is not the same as developing in a specific direction but more about keeping the community engaged in the pull requests and issues.
I maintain python-recurring-ical-events and as such, I know a bit of the RFC5545. I also left a comment on GitHub. If I were to be appointed/granted access, then I would really appreciate long-term contributors to step forward in helping making the right decisions. I would have a look who that is and engage them, too. I hope I made clear what I can do and what I cannot / will not.

A comment: Spending a little free time on this is an honor. I think though that - as this is critical digital infrastructure -
someone sponsoring a maintainer would be just appropriate, although I do not know how to make that happen.

2 Likes