ggtracker/sc2reader

drop all legacy Python support.

dneise opened this issue · 8 comments

https://github.com/ggtracker/sc2reader#installation says 2.6 is supported! My vote would be to drop all legacy Python support.

Originally posted by @cclauss in #82

According to the setup.py 2.7, and 3.4 - 3.7 are supported.

The test are conducted on 2.7 and 3.7

In this context Christian mentioned also this: https://devguide.python.org/devcycle/#end-of-life-branches
where it says, 3.4 reached EOL this year.

Since "only" 2.7 and 3.7 are tested, maybe also only these versions should be mentioned in the setup.py.

My preference would be that we support 3.5, 3.6, 3.7 and possibly 2.7 unless we are really requiring functionality that requires the latest and greatest. https://devguide.python.org/#branchstatus

I see and agree. Would it be okay for you, if we then also tested on all versions, which we claim to support? I remember we ran into funny issues (where people relied on dict-keys being sorted) in another project. Better be safe than sorry, no? And the test run in under 30sec I think .. which is pretty nice.

There was a short discussion on #66 about whether we should test all python 3.x versions.

Given the rate at which the core library changes, I don't see compatibility being a problem since we don't make many breaking changes.

My preference would be to maintain support for legacy python versions until it specifically becomes an obstacle for further development. Speaking from personal experience, I use sc2reader for spawning tool, a side project that is hosted on a VPS that I honestly try to touch as little as possible for fear of breaking it. As such, I actually am on python 3.4.3 and happily take the sc2reader updates to parse new replays.

If there are new python features that we want or if we find out that legacy compatibility is making changes hard, we can revisit the question then.

In the meantime, if we want to be more disciplined with our declared compatibility, I'm inclined to agree with @dneise that we should test all versions. I don't see the harm in it.

What do you guys think?

I believe this is the list of all pre-built Python images circleci has available:
https://circleci.com/docs/2.0/docker-image-tags.json

So I guess testing on all of these is ridiculously simple. I do not see any 2.6 so I assume @cclauss is right, one should not claim any support for 2.6 given that one would have a hard time testing on a 2.6.

I also do not see a 3.4.3 .. but I assume any 3.4 is fine.

Python 2 End of Life is TODAY.

OK, Folks. I think we have supported Python 2 long enough... Can we drop support for all Python versions that are on this list and only support Python versions that are on this list by the end of the year? It is time that we started using type hints and f-strings, etc.

I'm onboard with dropping python 2 support since no one has voiced opposition to it. Probably the first step is to remove references to it in setup.py etc, then run an upgrade script, then begin to integrate newer features?