Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drop all legacy Python support. #85

Open
dneise opened this issue Jun 26, 2019 · 8 comments
Open

drop all legacy Python support. #85

dneise opened this issue Jun 26, 2019 · 8 comments

Comments

@dneise
Copy link
Contributor

dneise commented Jun 26, 2019

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

@dneise
Copy link
Contributor Author

dneise commented Jun 26, 2019

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.

@cclauss
Copy link
Collaborator

cclauss commented Jun 26, 2019

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

@dneise
Copy link
Contributor Author

dneise commented Jun 26, 2019

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.

@StoicLoofah
Copy link
Collaborator

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?

@dneise
Copy link
Contributor Author

dneise commented Jun 26, 2019

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.

@cclauss
Copy link
Collaborator

cclauss commented Jan 1, 2020

Python 2 End of Life is TODAY.

@cclauss
Copy link
Collaborator

cclauss commented Dec 11, 2020

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.

@StoicLoofah
Copy link
Collaborator

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?

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

No branches or pull requests

3 participants