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" <[email protected]> writes:
> +1
>
> On 7/19/19, 12:59 PM, "Zhu Zhaoqi" <[email protected]> wrote:
>
> +1
>
> Lin Yuan <[email protected]> 于2019年7月19日周五 上午12:06写道:
>
> > +1
> >
> > On Fri, Jul 19, 2019 at 12:03 AM Chaitanya Bapat <[email protected]>
> > 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 <
> > > [email protected]> wrote:
> > >
> > > > +1
> > > >
> > > > On Fri, Jul 19, 2019, 04:28 Pedro Larroy
> <[email protected]
> > >
> > > > wrote:
> > > >
> > > > > Seems 3.6 is a reasonable choice.
> > > > >
> > > > > On Thu, Jul 18, 2019 at 2:15 PM Marco de Abreu <
> > > [email protected]>
> > > > > 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
> <[email protected]
> > >
> > > > > 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 <
> > > > > [email protected]
> > > > > > > >
> > > > > > > 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 <
> > > > [email protected]>
> > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > +1
> > > > > > > > >
> > > > > > > > > On Thu, Jul 18, 2019 at 2:51 PM Yuxi Hu <
> > [email protected]>
> > > > > wrote:
> > > > > > > > >
> > > > > > > > > > +1
> > > > > > > > > >
> > > > > > > > > > On Thu, Jul 18, 2019 at 11:31 AM Tong He <
> > > [email protected]>
> > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > +1
> > > > > > > > > > >
> > > > > > > > > > > Best regards,
> > > > > > > > > > >
> > > > > > > > > > > Tong He
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Jake Lee <[email protected]> 于2019年7月18日周四 上午11:29写道:
> > > > > > > > > > >
> > > > > > > > > > > > +1
> > > > > > > > > > > >
> > > > > > > > > > > > On Thu, Jul 18, 2019 at 11:27 AM Junru Shao <
> > > > > > > > [email protected]>
> > > > > > > > > > > > wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > > +1
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Thu, Jul 18, 2019 at 11:12 AM Anirudh Acharya <
> > > > > > > > > > > [email protected]>
> > > > > > > > > > > > > wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > > +1
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > On Thu, Jul 18, 2019 at 11:03 AM Marco de Abreu
> <
> > > > > > > > > > > > [email protected]
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > +1
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > -Marco
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Sheng Zha <[email protected]> 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/>
> > >
> >
>