sopel-irc / sopel

:robot::speech_balloon: An easy-to-use and highly extensible IRC Bot framework. Formerly Willie.
https://sopel.chat
Other
950 stars 405 forks source link

Cherry-pick: Drop `imp` usage on 7.1.x branch #2474

Closed SnoopJ closed 11 months ago

SnoopJ commented 1 year ago

Description

This PR cherry-picks 596adc4 to the 7.1.x branch, fixing crash on startup with Python 3.11 as reported by #2401. I think this is the majority of what we'd need in order to do an interim release, if we decide to do one before 8.0 is out.

As-is, this changeset breaks compatibility with Python 2.7

Checklist

dgw commented 1 year ago

Well I don't really have the time (or spoons) to look at this moment, but we should still have CI running on Travis for this branch… Where are the checks, GitHub?

Logging into Travis, it doesn't even seem to recognize that I'm part of the sopel-irc organization, and I get different errors (out of credits, too many users, etc.) depending on which page I'm on. I'm glad we left them behind. đŸ˜‘

dgw commented 1 year ago

Also per IRC discussion, it sounds like this isn't a viable change for 7.1.x, due to breaking older Pythons. (Unless I misunderstood the comments there.)

SnoopJ commented 1 year ago

I agree, I don't think it's worth doing more than a cherry-pick for an interim release, and this looks like it would need more labor to support 2.7.

I think our time is better spent either bumping things from the 8.0 milestone or merging them, but I figured opening a cherry-pick PR was a good way to get started on poking the hornet's nest :grin:

dgw commented 11 months ago

and this looks like it would need more labor to support 2.7.

That's the biggest reason for not bothering to finish this off, plus the inability to run our old CI pipeline against the deprecated Python versions. We should just tidy up the last few loose ends for 8.0.0 and :shipit:, dropping all Python<3.8 along the way.

ekohl commented 6 months ago

For what it's worth: imp has been removed in Python 3.12 so it's currently not possible to use a released version of sopel with Python 3.12. 8.0.0 has a target date in 2025, so what's the plan in the mean time?

dgw commented 6 months ago

8.0.0's 2025 target date is the result of an in-joke amongst the project's IRC regulars; it's actually coming out as soon as we finish compiling the changelog, migration guide, and other release miscellanea.