beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.57k stars 1.8k forks source link

We should drop Python 3.7 #5222

Closed wisp3rwind closed 4 weeks ago

wisp3rwind commented 1 month ago

In #5215, our minimum supported Python version came up: We currently state 3.7, but that's been EOL since June 2023. I think we should drop that and allow 3.8+ features. Any objections?

wisp3rwind commented 1 month ago

@sampsyo @Serene-Arc @snejus @arsaboo @JOJ0 just pinging a bunch of recently active people here.

Serene-Arc commented 1 month ago

I have no objections, seems like a good idea to me

arsaboo commented 1 month ago

Agreed... no objections.

Serene-Arc commented 1 month ago

Because I was looking at the corresponding issue, I think we should hold off on this change until October, because Python 3.8 reaches EOL then. If we change it now, we'll have to raise it again a month or two later anyway. Might be easier on everyone if we just upgrade to 3.9 all at once.

snejus commented 4 weeks ago

@Serene-Arc #5266 requires 3.8 as a minimum, since we are using tox version 4 which requires 3.8 as a minimum, and without it dependency resolution fails.

Dropping 3.7 and then 3.8 later as separate steps may be a less risky option. If I imagine myself as a Python 3.7 user, I'd prefer upgrading step by step rather than having to jump two Python versions. It's also slightly easier for us developers: for example, 3.7 -> 3.8 and 3.8 -> 3.9 upgrades in separate PRs require less mental effort and can be reviewed by multiple people in parallel, in comparison to a single PR which upgrades 3.7 -> 3.9. This would be more complicated to deal with and we are more likely to miss out on issues.

Serene-Arc commented 4 weeks ago

Good points, let's do that then. We should start planning for 3.9 pretty soon though.