![](https://secure.gravatar.com/avatar/721ee4e6eeaabc434fa2dac7e02ef06e.jpg?s=120&d=mm&r=g)
Update: today’s the day I announced as the earliest possible time to do this, and no one has opposed. For closure, I initially planned to add support for Python 3.10 *before* dropping 3.6 but alas it turns out that our dependencies are not ready yet. Most notably matplotlib is still due for a release with Python 3.10 wheels, and there’s not much we can do before that happens. I don’t think now that it should stop us from dropping 3.6 anyway. Any objections ? Clément
On 21 Sep 2021, at 04:09, John ZuHone
wrote: +1
On Sep 20, 2021, at 6:45 PM, Michael Zingale
wrote: sounds good to me.
On Mon, Sep 20, 2021 at 2:44 PM Clément Robert via yt-dev
wrote: Dear yt dev team,
As was previously mentioned in yt 4.0.0's release notes, we're currently planning to drop support for Python 3.6 in our next feature release (4.1.0) I propose that this change be performed on the dev branch of yt by late October this year, but not earlier than October the 20th.
As was discussed on Slack, I would like to send an official announcement to yt-users@python.org, but I’ll leave open to discussion for a week first, or as long as necessary for the discussion to resolve happily.
— Here's the PR to drop Python 3.6 https://github.com/yt-project/yt/pull/2917 Please take minute to either request changes, discuss and/or approve it. —
Nice implications
This means we'll soon be able to use Python 3.7+ only syntax and features. Here are the two key highlights that I personally think are most impactful for yt:
- `from __future__ import annotations` can be used to leverage modern Python annotations features from more recent versions (as late as 3.11 !) This will be extremely useful to improve typing in yt, and in support to YTEP 0038 https://github.com/yt-project/ytep/pull/17 Here's a gist with some showcase examples of how this __future__ import helps simplifying typed code https://gist.github.com/neutrinoceros/0eaa046a00689254dee0738c65c9bdfc - the `dataclasses` module becomes available https://docs.python.org/3/whatsnew/3.7.html#whatsnew37-pep557
See the detailed "what's new" note from Python 3.7.0 for more https://docs.python.org/3/whatsnew/3.7.html
Additional notes
- Python 3.6 is 5 years old and will be EOL (end of life) by December https://www.python.org/dev/peps/pep-0494/ - Numpy dropped support for Python 3.6 in numpy 1.20.0, released in January 2021 https://github.com/numpy/numpy/releases/tag/v1.20.0 - Matplotlib dropped support fot Python 3.6 in matplotlib 3.4.0, released in March 2021 https://github.com/matplotlib/matplotlib/commit/f9907b49f9d00c03cf014a25d057... - Python 3.10 will be officially released early October https://www.python.org/dev/peps/pep-0619/ - Adding support for 3.10 should be a breeze^{TM}: we've been running a subset of our test suite against it (+ future versions of matplotlib and numpy) for a couple months, so the expected most important bottleneck for us will depend on when numpy and matplotlib are able to publish wheels for 3.10 - The plan is to first add support to 3.10 and *then* drop 3.6. - This is in agreement with NEP 29, which was coauthored by our own release manager, Madicken Munk https://numpy.org/neps/nep-0029-deprecation_policy.html - Various 3.7+ idioms will now be continuously enforced with pyupgrade https://github.com/asottile/pyupgrade which is already part of our pre-commit toolbelt.
Cheers, and have a great week Clément _______________________________________________ yt-dev mailing list -- yt-dev@python.org To unsubscribe send an email to yt-dev-leave@python.org https://mail.python.org/mailman3/lists/yt-dev.python.org/ Member address: michael.zingale@stonybrook.edu
--
Michael Zingale Professor of Physics and Astronomy
Dept. of Physics & Astronomy • Stony Brook University • Stony Brook, NY 11794-3800 phone: 631-632-8225 e-mail: Michael.Zingale@stonybrook.edu web: [h](http://www.astro.sunysb.edu/mzingale)ttps://[zingale.github.io](http://zingale.github.io/) github: [https://github.com/zingale](http://github.com/zingale)
_______________________________________________ yt-dev mailing list -- yt-dev@python.org To unsubscribe send an email to yt-dev-leave@python.org https://mail.python.org/mailman3/lists/yt-dev.python.org/ Member address: jzuhone@gmail.com