lmaurits / BEASTling

A linguistics-focussed command line tool for generating BEAST XML files.
BSD 2-Clause "Simplified" License
20 stars 6 forks source link

Drop 2.7 support? #229

Closed Anaphory closed 5 years ago

Anaphory commented 5 years ago

Python 2.7 is annoying in several cases for UTF-8 encoding, most recently in #228. There, @xrotwang suggested dropping 2.7 support for the future.

I'm not opposed to that, @lmaurits, what do you think?

lmaurits commented 5 years ago

I haven't looked closely into #228 or the pain that 2.7 is causing us there, but my initial reaction to this is pretty strongly negative. I have all the sympathy in the world for folks stuck using old Python versions on university-owned machines that they can't easily get admin rights for to do any upgrade (this happened to me at my first postdoc). Obviously this shouldn't be taken to extremes, but it feels to me like mainstream Py3 adoption is still relatively recent (measured by the time scale of IT department upgrades) and I bet there are folks who would be stuck with early versions of 3 that we don't support (we have a minimum version of 3 that we're testing, right?).

That said, if I'm going to insist on 2.7 compatibility it seems only right that I take responsibility for dealing with all 2.7-induced pain points, and that could persuade me otherwise pretty quickly...

xrotwang commented 5 years ago

Ok, I think we are not talking abut insurmountable problems in supporting py2 here. But with py2 reaching end-of-life soon, the question of dropping py2 support will come up every now and then, and before investing more effort we should ask and answer this question (as we did here :) ).

Anaphory commented 5 years ago

Yes, #228 is not unsurmountable, and it's not even something without an easy workaround (that being “If you use Py2.7, you cannot have beastling guess your file type. That is bad practice anyway.”)

[Hi from Jena for this week!]

lmaurits commented 5 years ago

Obviously there will be plenty of clean up to do, with removing old compatibility stuff, but in terms of making this decision official and closing this issue, is it just a matter of removing 2.7 from setup.py and .travis.yml?