<div dir="ltr">Hi,<div><br></div><div>Astropy dev here -- just to clarify a little bit, bug fixes will be backported to the 2.0 release for two years, so until June 2019.<br></div><div><br></div><div>Very much looking forward to 3.0 in 6 months though!</div><div><br></div><div>Matt<br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 10, 2017 at 9:07 PM, Juan Nunez-Iglesias <span dir="ltr"><<a href="mailto:jni.soma@gmail.com" target="_blank">jni.soma@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div>
<div name="messageBodySection" style="font-size:14px;font-family:-apple-system,BlinkMacSystemFont,sans-serif">Hi everyone,
<div><br></div>
<div>I’d like to revisit the Python 2 deprecation issue. Since the last discussion, IPython has gone Python 3-only, and Astropy just <a href="https://twitter.com/astropy/status/884402856945733634" target="_blank">announced</a> their 2.0 release as being the last one to support Python 2, with 3.0, scheduled in six months, out in 6 months.</div>
<div><br></div>
<div>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.</div>
<div><br></div>
<div>I’d very much like a roadmap along these lines:</div>
<div><br></div>
<div>* 0.14, due before end of the year: last version to support Python 2.</div>
<div>* 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! =)</div>
<div><br></div>
<div>Thoughts? [*ducks*] =P</div>
<div><br></div>
<div>Juan.</div>
<div><br></div>
<div>——————————</div>
<div><br></div>
<div>
<div>Several rounds of reviewing this because of a difference in how Python 2.7 and 3.x handle warnings:</div>
<div><a href="https://github.com/scikit-image/scikit-image/pull/2327" target="_blank">https://github.com/scikit-<wbr>image/scikit-image/pull/2327</a></div>
<div><br></div>
<div>Beautiful linalg syntax ruined by using Python 2.7</div>
<div><a href="https://github.com/scikit-image/scikit-image/pull/2394#discussion_r94191032" target="_blank">https://github.com/scikit-<wbr>image/scikit-image/pull/2394#<wbr>discussion_r94191032</a></div>
<div><br></div>
<div>Unicode character in __init__.py caused a delay in PR 1357.</div>
<div><a href="https://github.com/scikit-image/scikit-image/pull/1357#issuecomment-249601485" target="_blank">https://github.com/scikit-<wbr>image/scikit-image/pull/1357#<wbr>issuecomment-249601485</a></div>
<div><br></div>
<div>Use of "range" causes MemoryError in Python 2:</div>
<div><a href="https://travis-ci.org/scikit-image/scikit-image/jobs/188150849#L3345" target="_blank">https://travis-ci.org/scikit-<wbr>image/scikit-image/jobs/<wbr>188150849#L3345</a></div>
<div><br></div>
<div>Merging dictionaries is unnecessarily verbose and ugly in this PR</div>
<div><a href="https://github.com/scikit-image/scikit-image/pull/2455/files" target="_blank">https://github.com/scikit-<wbr>image/scikit-image/pull/2455/<wbr>files</a></div>
<div><a href="http://treyhunner.com/2016/02/how-to-merge-dictionaries-in-python/" target="_blank">http://treyhunner.com/2016/02/<wbr>how-to-merge-dictionaries-in-<wbr>python/</a></div>
<div><br></div>
<div>Pretty terrible linalg in:</div>
<div><a href="https://github.com/scikit-image/scikit-image/pull/2482/files#diff-e2663b696b69140e0947e91cb6c61137R533" target="_blank">https://github.com/scikit-<wbr>image/scikit-image/pull/2482/<wbr>files#diff-<wbr>e2663b696b69140e0947e91cb6c611<wbr>37R533</a></div>
<div><br></div>
<div>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.</div>
<div><a href="https://github.com/scikit-image/scikit-image/pull/2508#discussion_r101049062" target="_blank">https://github.com/scikit-<wbr>image/scikit-image/pull/2508#<wbr>discussion_r101049062</a></div>
<div><br></div>
<div>conda-forge release 0.13 delayed by 2.7 build error on Windows.</div>
<div><a href="https://github.com/conda-forge/scikit-image-feedstock/pull/8#issuecomment-290413922" target="_blank">https://github.com/conda-<wbr>forge/scikit-image-feedstock/<wbr>pull/8#issuecomment-290413922</a></div>
<div><br></div>
<div>Python 2.7 lists don’t have a `.copy()` method</div>
<div><a href="https://github.com/scikit-image/scikit-image/pull/2584#discussion_r111285939" target="_blank">https://github.com/scikit-<wbr>image/scikit-image/pull/2584#<wbr>discussion_r111285939</a></div>
<div><br></div>
<div>Whatever this is (six.get_self_method):</div>
<div><a href="https://github.com/scikit-image/scikit-image/pull/1522/files#diff-c0f33f5600401be736e79b65164b4c81R775" target="_blank">https://github.com/scikit-<wbr>image/scikit-image/pull/1522/<wbr>files#diff-<wbr>c0f33f5600401be736e79b65164b4c<wbr>81R775</a></div>
<div><br></div>
<div>Concurrent futures not available:</div>
<div><a href="https://github.com/scikit-image/scikit-image/pull/2647#discussion_r114763804" target="_blank">https://github.com/scikit-<wbr>image/scikit-image/pull/2647#<wbr>discussion_r114763804</a></div>
<div><br></div>
<div>ASCII codec can’t encode em-dash</div>
<div>'ascii' codec can't encode character u'\u2014' in position 41: ordinal not in range(128)</div>
<div><a href="https://travis-ci.org/jni/scikit-image/jobs/234223563#L3529" target="_blank">https://travis-ci.org/jni/<wbr>scikit-image/jobs/234223563#<wbr>L3529</a></div>
<div><br></div>
</div>
<div><br></div>
<div><br></div>
</div>
<div name="messageReplySection" style="font-size:14px;font-family:-apple-system,BlinkMacSystemFont,sans-serif"><br></div>
</div>

<br>______________________________<wbr>_________________<br>
scikit-image mailing list<br>
<a href="mailto:scikit-image@python.org">scikit-image@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/scikit-image" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/scikit-image</a><br>
<br></blockquote></div><br></div>