Hi everyone,

I’d like to revisit the Python 2 deprecation issue. Since the last discussion, 
IPython has gone Python 3-only, and Astropy just announced their 2.0 release as 
being the last one to support Python 2, with 3.0, scheduled in six months, out 
in 6 months.

I’ve been obsessively cataloguing all Python 2-related annoyances that have 
cropped up since our last discussion. (See below for the full list.) As 
expected, nothing was a show-stopper, but they do add up to something 
non-trivial.

I’d very much like a roadmap along these lines:

* 0.14, due before end of the year: last version to support Python 2.
* 1.0, due by SciPy next year: Python 3.5+ only (or even 3.6, though I 
definitely won’t push on this — but f-strings are so nice! =)

Thoughts? [*ducks*] =P

Juan.

——————————

Several rounds of reviewing this because of a difference in how Python 2.7 and 
3.x handle warnings:
https://github.com/scikit-image/scikit-image/pull/2327

Beautiful linalg syntax ruined by using Python 2.7
https://github.com/scikit-image/scikit-image/pull/2394#discussion_r94191032

Unicode character in __init__.py caused a delay in PR 1357.
https://github.com/scikit-image/scikit-image/pull/1357#issuecomment-249601485

Use of "range" causes MemoryError in Python 2:
https://travis-ci.org/scikit-image/scikit-image/jobs/188150849#L3345

Merging dictionaries is unnecessarily verbose and ugly in this PR
https://github.com/scikit-image/scikit-image/pull/2455/files
http://treyhunner.com/2016/02/how-to-merge-dictionaries-in-python/

Pretty terrible linalg in:
https://github.com/scikit-image/scikit-image/pull/2482/files#diff-e2663b696b69140e0947e91cb6c61137R533

Bad API choices because we have to either change argument order relative to ndi 
or run a 2-release deprecation cycle; issue would be avoided if we used Python 
3.5 only.
https://github.com/scikit-image/scikit-image/pull/2508#discussion_r101049062

conda-forge release 0.13 delayed by 2.7 build error on Windows.
https://github.com/conda-forge/scikit-image-feedstock/pull/8#issuecomment-290413922

Python 2.7 lists don’t have a `.copy()` method
https://github.com/scikit-image/scikit-image/pull/2584#discussion_r111285939

Whatever this is (six.get_self_method):
https://github.com/scikit-image/scikit-image/pull/1522/files#diff-c0f33f5600401be736e79b65164b4c81R775

Concurrent futures not available:
https://github.com/scikit-image/scikit-image/pull/2647#discussion_r114763804

ASCII codec can’t encode em-dash
'ascii' codec can't encode character u'\u2014' in position 41: ordinal not in 
range(128)
https://travis-ci.org/jni/scikit-image/jobs/234223563#L3529




_______________________________________________
scikit-image mailing list
scikit-image@python.org
https://mail.python.org/mailman/listinfo/scikit-image

Reply via email to