ELVIS-Project / vis-framework

Thoroughly modern symbolic musical data analysis suite.
http://elvisproject.ca/
31 stars 6 forks source link

Continue supporting python 2.7? #392

Closed alexandermorgan closed 8 years ago

alexandermorgan commented 8 years ago

Do we want to continue supporting python 2.7 in the VIS 3.0 release? It is a bit of ongoing work to make all new code executable in both.

musicus commented 8 years ago

Yes. However, we should mark it as deprecated, i.e. warn our users that we are phasing python 2.7 support out for version 4.0.

alexandermorgan commented 8 years ago

Sounds good.

crantila commented 8 years ago

Is this really the best plan? I'm not sure myself.

On the one hand, Myke has announced a clear plan for dropping Python 2 support from music21:

whenever the first version of Django (expected Dec. 2017) or another major Python project goes to Py3 only, music21 will go with it.

It looks like he's thinking about Django 2.0, but it's not clear from that link what their plans are regarding Python 2 support. Users may want to keep using Python 2 until then, so we should support it. But you're also planning the timeline for VIS 4.0: it will be the first release from December 2017 or later, and are you really ready to make a plan that far into the future?

On the other hand, "VIS 3 with Python 3" would be an easy way to help people understand what's going on. And unlike some of the other proposed backward-incompatible changes, there is a very clear and well-tested upgrade path from Python 2 to Python 3; after the migration, users will keep all existing functionality; and the migration brings several improvements along with it. Users would be unlikely to see this as a gratuitous change that brings them no benefits.

I don't feel strongly either way, but if you stick to the current plan, the Python 2 deprecation notice should be quite clear about the timeline.