Hi, Pedro stated "Seems 3.6 is a reasonable choice." and there have been a few +1 after Chaitanya's reply to Pedro. I would like to check if these only refer to Chaitanya's mail about a dedicated "improvement" effort or about dropping 3.5.
Thus two questions: 1) Are there any concerns about dropping Python 3.5? Now is your chance to speak up if you think so. 2) Should new MXNet 1.x (experimental?) functionality (for example numpy compatible interface) only target the Python versions to be supported in MXNet 2? The current plan is to make many MXNet 2 features available as "opt-in" in MXNet 1.x. Supporting older Python versions on MXNet 1 for these features may impact design and functionality and create unnecessary technical debt. Personally I argue for targeting only 3.6+ as - 3.5 will go EOL in 388 days and a potential MXNet 2 release together with our Semantic Versioning backwards compatibility guarantees would keep us "stuck" on 3.5 for the years to come. JetBrains 2018 survey showed only 11% of users used 3.5. - 3.6 introduced a number of fundamental and relevant changes that we may want to build on and for which we can expect user adoption to increase over the years (thus MXNet should try to be compatible). - "PEP 526: Syntax for variable annotations" which we may even be able to use for shape typing along the lines of numpy https://docs.google.com/document/d/1vpMse4c6DrWH5rq2tQSx3qwP_m_0lyn-Ij4WHqQqRHY/ - asyncio module is stable with 3.6 and associated 3.7 language features such as contextvars only have backports for 3.6. Some parts of Gluon currently rely on thread-local state, which is not correct if users call MXNet from within asyncio code. Locking ourselves to 3.5 means we can't support these and may provide a bad user-experience in coming years. - Part of the Ecosystem (GluonNLP) only support 3.6+ anyways. I would also like to cite James MacGlashan to point out how targeting 3.6+ could help usability and attract more users: Pipe dream: I'd love it if Mxnet not only dropped Python 2 support for a more consistent design, but also went all in on Python 3.6 for type hint integration. There are enough different types involved in MXNet that types can help clarify usage, particularly for disambiguating symbol vs ndarray vs list vs tuple; tuple of ints rather than tuple of floats; etc. https://github.com/apache/incubator-mxnet/issues/8703#issuecomment-520881450 Thus we can see targeting 3.6+ as a great opportunity for the MXNet project! Best regards Leonard "Srivastava, Rohit Kumar" <srivastava....@buckeyemail.osu.edu> writes: > +1 > > On 7/19/19, 12:59 PM, "Zhu Zhaoqi" <zhaoqizh...@gmail.com> wrote: > > +1 > > Lin Yuan <apefor...@gmail.com> 于2019年7月19日周五 上午12:06写道: > > > +1 > > > > On Fri, Jul 19, 2019 at 12:03 AM Chaitanya Bapat <chai.ba...@gmail.com> > > wrote: > > > > > +1 definitely. > > > > > > Going forward, > > > MXNet repo as it stands has ~95,000+ lines of Python code [1] > > > OpenEdx has a million (10x) LOC and this mammoth effort of porting > from > > > Python 2 to 3 is treated as a separate project named Incremental > > > Improvement. [2] > > > We can take inspiration from them and have a similar effort by calling > > > action from the community. Issues can be maintained in a separate JIRA > > > board to track high priority tasks. > > > > > > Also, I can see gluon-nlp adding themselves to the Python3 statement. > > Once > > > the vote passes, one of us could submit a PR to add MXNet as well. > > > > > > [1] https://codeclimate.com/ > > > [2] > > > > > > https://open.edx.org/blog/python-2-is-ending-we-need-to-move-to-python-3/ > > > > > > > > > On Thu, 18 Jul 2019 at 21:39, Kshitij Kalambarkar < > > > kshitijkalambar...@gmail.com> wrote: > > > > > > > +1 > > > > > > > > On Fri, Jul 19, 2019, 04:28 Pedro Larroy > <pedro.larroy.li...@gmail.com > > > > > > > wrote: > > > > > > > > > Seems 3.6 is a reasonable choice. > > > > > > > > > > On Thu, Jul 18, 2019 at 2:15 PM Marco de Abreu < > > > marco.g.ab...@gmail.com> > > > > > wrote: > > > > > > > > > > > > Looking at EOL is certainly a good idea! I think once we get > closer > > > to > > > > > > deprecation, we can check adoption statistics to make a > > well-informed > > > > > > decision that gives us the most advantages without dropping the > > ball > > > > on a > > > > > > majority of users (or supporting a branch that is going EOL > soon). > > A > > > > > survey > > > > > > from 2018 [1] determined the following distribution: > > > > > > 3.5: 11% > > > > > > 3.6: 54% > > > > > > 3.7: 30% > > > > > > > > > > > > Deprecation for 3.5 is scheduled for 2020-09-13 [2]. Deprecation > > for > > > > 3.6 > > > > > is > > > > > > scheduled for 2021-12-23 [2].Deprecation for 3.7 is scheduled > > > > > > for 2023-06-27 [2]. > > > > > > > > > > > > Following the trend, I'd say that it would be a decision between > > > Python > > > > > 3.6 > > > > > > and 3.7. Later on, I'd propose to check recent surveys and also > > have > > > a > > > > > > separate thread to determine if there's anything we're missing > > (e.g. > > > a > > > > > big > > > > > > company being unable to use Python 3.7). What do you think? > > > > > > > > > > > > Best regards, > > > > > > Marco > > > > > > > > > > > > [1]: > > > https://www.jetbrains.com/research/python-developers-survey-2018/ > > > > > > [2]: https://devguide.python.org/#status-of-python-branches > > > > > > > > > > > > On Thu, Jul 18, 2019 at 9:42 PM Yuan Tang > <terrytangy...@gmail.com > > > > > > > > wrote: > > > > > > > > > > > > > I would suggest supporting Python 3.5+ since the earlier > versions > > > > have > > > > > > > reached end-of-life status: > > > > > > > https://devguide.python.org/devcycle/#end-of-life-branches > > > > > > > > > > > > > > On Thu, Jul 18, 2019 at 3:36 PM Pedro Larroy < > > > > > pedro.larroy.li...@gmail.com > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > +1 > > > > > > > > > > > > > > > > This would simplify CI, reduce costs and more. I think a > > followup > > > > > > > > question is what would be the mininum Python3 version > > supported? > > > > > > > > Depending on that we might be able to use type annotations > for > > > > > example > > > > > > > > or other features. > > > > > > > > > > > > > > > > Pedro. > > > > > > > > > > > > > > > > On Thu, Jul 18, 2019 at 12:07 PM Yuan Tang < > > > > terrytangy...@gmail.com> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > +1 > > > > > > > > > > > > > > > > > > On Thu, Jul 18, 2019 at 2:51 PM Yuxi Hu < > > darreny...@gmail.com> > > > > > wrote: > > > > > > > > > > > > > > > > > > > +1 > > > > > > > > > > > > > > > > > > > > On Thu, Jul 18, 2019 at 11:31 AM Tong He < > > > hetong...@gmail.com> > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > +1 > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > > Tong He > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Jake Lee <gstu1...@gmail.com> 于2019年7月18日周四 上午11:29写道: > > > > > > > > > > > > > > > > > > > > > > > +1 > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Jul 18, 2019 at 11:27 AM Junru Shao < > > > > > > > > junrushao1...@gmail.com> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > +1 > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Jul 18, 2019 at 11:12 AM Anirudh Acharya < > > > > > > > > > > > anirudhk...@gmail.com> > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > +1 > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Jul 18, 2019 at 11:03 AM Marco de Abreu > < > > > > > > > > > > > > marco.g.ab...@gmail.com > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > +1 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -Marco > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sheng Zha <zhash...@apache.org> schrieb am > Do., > > > 18. > > > > > Juli > > > > > > > > 2019, > > > > > > > > > > > > 19:59: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dear MXNet community, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to reopen the discussion on > > deprecating > > > > > python2 > > > > > > > > > > support. > > > > > > > > > > > > > This > > > > > > > > > > > > > > > > would help modernize the design and > engineering > > > > > practice > > > > > > > in > > > > > > > > > > MXNet > > > > > > > > > > > > to > > > > > > > > > > > > > > help > > > > > > > > > > > > > > > > improve speed and quality. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > For this purpose, I reopened the issue on > this > > > > here: > > > > > > > > > > > > > > > > > > > > > https://github.com/apache/incubator-mxnet/issues/8703 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > If the consensus is towards the direction of > > > > dropping > > > > > > > > python2 > > > > > > > > > > > > > support, > > > > > > > > > > > > > > I > > > > > > > > > > > > > > > > suggest we announce our plan to drop python2 > > > > support > > > > > in > > > > > > > the > > > > > > > > > > next > > > > > > > > > > > > > > release, > > > > > > > > > > > > > > > > and actually drop the support in the next > major > > > > > version. > > > > > > > > > > Thanks. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -sz > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Yuxi(Darren) Hu, Ph.D. > > > > > > > > > > Software Development Engineer > > > > > > > > > > Amazon Web Services > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > *Chaitanya Prakash Bapat* > > > *+1 (973) 953-6299* > > > > > > [image: https://www.linkedin.com//in/chaibapat25] > > > <https://github.com/ChaiBapchya>[image: > > https://www.facebook.com/chaibapat > > > ] > > > <https://www.facebook.com/chaibapchya>[image: > > > https://twitter.com/ChaiBapchya] <https://twitter.com/ChaiBapchya > > >[image: > > > https://www.linkedin.com//in/chaibapat25] > > > <https://www.linkedin.com//in/chaibapchya/> > > > > > >