Re: [jupyter] Re: IPython 7.0.0b1 released on PyPI. Thanks Paul !

Matthias Bussonnier <[email protected]> Wed, 12 Sep 2018 10:22:19 +0200
Newsgroups gmane.comp.python.ipython.devel
Message-ID <CANJQusVGStksbioGdcqtaN6PvNcrpst2k34EiWdn0rL7_tdKkg__16548.9001352855$1536740444$gmane$org@mail.gmail.com>
--===============5288095142649450967==
Content-Type: multipart/alternative; boundary="000000000000a4b94e0575a84afb"

--000000000000a4b94e0575a84afb
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

> Wow, async is big!

Just 2 years in the making no big deal :-) Don't look at the code we're
doing some crazy things.

> Has then been tested with magic cells that call into or embed other
languages, like Cython, R, f2py, Julia?

No, not tested, but in general nothing working before _should_ break =E2=80=
=93 but
hey, that's why we do a beta.
Remember that magics are "just" some function call:
get_ipython().magic(magic_name, first_line, rest_of_cell)

There are some limitation:
 - If the magic embeds sync code, there should be no issues.
 - If the magics embeds async code or exec() things, or call-back into
IPython it may break.

In most case magics will be blocking, that is to say they'll take over the
event loop like any other sync-functions. We haven't fleshed out if we want
"async magics". We'll likely go with "all magics are async", and just
happen to block sometimes.

For example %%timeit with `await function()`  does not work, and will raise
a RuntimeError, but classical `%%timeit` with sync function should work.

>  I would suggest producing a better error message if IPython 7 is run
> with prompt-toolkit 1. Right now, it gives `ImportError: No module
> named 'prompt_toolkit.formatted_text'`

Hum, make some sens, but we generally don't do that for other libraries if
we're incompatible. If someone want to send a Pull-Request, that's an easy
first time contribution.

> Also, the SymPy tests all still pass with IPython 7, so everything is
> good there.

Awesome ! Thanks for testing !
--=20
Matthias



On Wed, 12 Sep 2018 at 00:30, Aaron Meurer <[email protected]> wrote:

> I would suggest producing a better error message if IPython 7 is run
> with prompt-toolkit 1. Right now, it gives `ImportError: No module
> named 'prompt_toolkit.formatted_text'`
>
> Also, the SymPy tests all still pass with IPython 7, so everything is
> good there.
>
> Aaron Meurer
>
> On Tue, Sep 11, 2018 at 3:12 PM, Denis Akhiyarov
> <[email protected]> wrote:
> > Wow, async is big! Has then been tested with magic cells that call into
> or
> > embed other languages, like Cython, R, f2py, Julia?
> >
> >
> > On Tue, Sep 11, 2018, 3:50 PM Matthias Bussonnier
> > <[email protected]> wrote:
> >>
> >> Hi all,
> >>
> >> Huge thanks to Paul Ivanov for releasing IPython 7.0.0b1 !
> >> Send love his way.
> >>
> >> TL:DR;
> >> - Read and complain about Changelog
> >> https://ipython.readthedocs.io/en/latest/whatsnew/version7.html
> >> - it is only on PyPI: pip install ipython --pre
> >> - corresponding version of IPykernel that enable some features is _not
> out
> >> yet_.
> >> - biggest changes are: async-Repl/Prompt-toolkit-2/new-input-transform=
er
> >> - It drops Python support for 3.3 and 3.4
> >>
> >> Longer version.
> >>
> >> We've been working hard on getting fancy new features to IPython (and
> >> ipykernel), so we are please to have the beta1 of IPython 7.
> >>
> >> There are some major change in the internals, please test and contribu=
te
> >> update to the docs and what's new[1] when you can. Even just opening a
> issue
> >> to say that something is not clear/surprising/missing-link/you love
> >> us/etc... is helpful.
> >>
> >>  - I'm not sure how to make a prerelease on conda-forge, thus this is
> only
> >> available on PyPI with pip, installable by passing the --pre flag. If
> you
> >> know how to do that on conda-forge, help welcommed.
> >>
> >> - The new Async REPL in the notebook (and other frontends) will requir=
e
> >> IPykernel 5.0 to be release. Right now it works only in plain terminal
> >> IPython. We'll do a beta soon, but sleep is needed before that. see [1=
]
> >>
> >> - Update to PTK2. see [1]
> >>
> >> - If you want to help in anyway, have for example reading/writing skil=
ls
> >> for the 7.0 blog post announce, or just want to +1 on an issue
> subscribe to
> >> the 7.0 meta issue [2].
> >>
> >> - Tell you friends to look at [1]
> >>
> >> - It is still **beta** that is to say changes still possible. We'll do=
 a
> >> Rc in a week or so.
> >>
> >> - Have fun.
> >>
> >> Much love from the IPython team. An much love to any contributors and
> >> users that made this possible.
> >> --
> >> Matthias
> >>
> >> 1: https://ipython.readthedocs.io/en/latest/whatsnew/version7.html
> >> 2: https://github.com/ipython/ipython/issues/11297
> >> _______________________________________________
> >> IPython-dev mailing list
> >> [email protected]
> >> https://mail.python.org/mailman/listinfo/ipython-dev
> >
> >
> > _______________________________________________
> > IPython-dev mailing list
> > [email protected]
> > https://mail.python.org/mailman/listinfo/ipython-dev
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Project Jupyter" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jupyter/CAKgW%3D6L%3DitLbynjtgmTpMvwXkY=
J_o6e%3Dn1z3KpY8%3DPazun4uxA%40mail.gmail.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

--000000000000a4b94e0575a84afb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">&gt; Wow, async is big!=C2=A0<br class=3D"gmail-Apple-inte=
rchange-newline"><div><br></div><div>Just 2 years in the making no big deal=
 :-) Don&#39;t look at the code we&#39;re doing some crazy things.</div><di=
v><br></div><div>&gt; Has then been tested with magic cells that call into =
or embed other languages, like Cython, R, f2py, Julia?</div><div><br></div>=
<div>No, not tested, but in general nothing working before _should_ break =
=E2=80=93 but hey, that&#39;s why we do a beta.</div><div>Remember that mag=
ics are &quot;just&quot; some function call:</div><div>get_ipython().magic(=
magic_name, first_line, rest_of_cell)</div><div><br></div><div>There are so=
me limitation:</div><div>=C2=A0- If the magic embeds sync code, there shoul=
d be no issues.=C2=A0</div><div>=C2=A0- If the magics embeds async code or =
exec() things, or call-back into IPython it may break.</div><div><br></div>=
<div>In most case magics will be blocking, that is to say they&#39;ll take =
over the event loop like any other sync-functions. We haven&#39;t fleshed o=
ut if we want &quot;async magics&quot;. We&#39;ll likely go with &quot;all =
magics are async&quot;, and just happen to block sometimes.</div><div><br><=
/div><div>For example %%timeit with `await function()`=C2=A0 does not work,=
 and will raise a RuntimeError, but classical `%%timeit` with sync function=
 should work.=C2=A0</div><div><br></div><div>&gt;=C2=A0 I would suggest pro=
ducing a better error message if IPython 7 is run</div>&gt; with prompt-too=
lkit 1. Right now, it gives `ImportError: No module<br>&gt; named &#39;prom=
pt_toolkit.formatted_text&#39;`<div><br></div><div>Hum, make some sens, but=
 we generally don&#39;t do that for other libraries if we&#39;re incompatib=
le. If someone want to send a Pull-Request, that&#39;s an easy first time c=
ontribution.</div><div><br></div><div>&gt; Also, the SymPy tests all still =
pass with IPython 7, so everything is<br>&gt; good there.</div><div><br></d=
iv><div>Awesome ! Thanks for testing !</div><div>--=C2=A0</div><div>Matthia=
s<br><div><br></div><div><br></div></div></div><br><div class=3D"gmail_quot=
e"><div dir=3D"ltr">On Wed, 12 Sep 2018 at 00:30, Aaron Meurer &lt;<a href=
=3D"mailto:[email protected]">[email protected]</a>&gt; wrote:<br></div><=
blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px=
 #ccc solid;padding-left:1ex">I would suggest producing a better error mess=
age if IPython 7 is run<br>
with prompt-toolkit 1. Right now, it gives `ImportError: No module<br>
named &#39;prompt_toolkit.formatted_text&#39;`<br>
<br>
Also, the SymPy tests all still pass with IPython 7, so everything is<br>
good there.<br>
<br>
Aaron Meurer<br>
<br>
On Tue, Sep 11, 2018 at 3:12 PM, Denis Akhiyarov<br>
&lt;<a href=3D"mailto:[email protected]" target=3D"_blank">denis.ak=
[email protected]</a>&gt; wrote:<br>
&gt; Wow, async is big! Has then been tested with magic cells that call int=
o or<br>
&gt; embed other languages, like Cython, R, f2py, Julia?<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Sep 11, 2018, 3:50 PM Matthias Bussonnier<br>
&gt; &lt;<a href=3D"mailto:[email protected]" target=3D"_blank">=
[email protected]</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi all,<br>
&gt;&gt;<br>
&gt;&gt; Huge thanks to Paul Ivanov for releasing IPython 7.0.0b1 !<br>
&gt;&gt; Send love his way.<br>
&gt;&gt;<br>
&gt;&gt; TL:DR;<br>
&gt;&gt; - Read and complain about Changelog<br>
&gt;&gt; <a href=3D"https://ipython.readthedocs.io/en/latest/whatsnew/versi=
on7.html" rel=3D"noreferrer" target=3D"_blank">https://ipython.readthedocs.=
io/en/latest/whatsnew/version7.html</a><br>
&gt;&gt; - it is only on PyPI: pip install ipython --pre<br>
&gt;&gt; - corresponding version of IPykernel that enable some features is =
_not out<br>
&gt;&gt; yet_.<br>
&gt;&gt; - biggest changes are: async-Repl/Prompt-toolkit-2/new-input-trans=
former<br>
&gt;&gt; - It drops Python support for 3.3 and 3.4<br>
&gt;&gt;<br>
&gt;&gt; Longer version.<br>
&gt;&gt;<br>
&gt;&gt; We&#39;ve been working hard on getting fancy new features to IPyth=
on (and<br>
&gt;&gt; ipykernel), so we are please to have the beta1 of IPython 7.<br>
&gt;&gt;<br>
&gt;&gt; There are some major change in the internals, please test and cont=
ribute<br>
&gt;&gt; update to the docs and what&#39;s new[1] when you can. Even just o=
pening a issue<br>
&gt;&gt; to say that something is not clear/surprising/missing-link/you lov=
e<br>
&gt;&gt; us/etc... is helpful.<br>
&gt;&gt;<br>
&gt;&gt;=C2=A0 - I&#39;m not sure how to make a prerelease on conda-forge, =
thus this is only<br>
&gt;&gt; available on PyPI with pip, installable by passing the --pre flag.=
 If you<br>
&gt;&gt; know how to do that on conda-forge, help welcommed.<br>
&gt;&gt;<br>
&gt;&gt; - The new Async REPL in the notebook (and other frontends) will re=
quire<br>
&gt;&gt; IPykernel 5.0 to be release. Right now it works only in plain term=
inal<br>
&gt;&gt; IPython. We&#39;ll do a beta soon, but sleep is needed before that=
. see [1]<br>
&gt;&gt;<br>
&gt;&gt; - Update to PTK2. see [1]<br>
&gt;&gt;<br>
&gt;&gt; - If you want to help in anyway, have for example reading/writing =
skills<br>
&gt;&gt; for the 7.0 blog post announce, or just want to +1 on an issue sub=
scribe to<br>
&gt;&gt; the 7.0 meta issue [2].<br>
&gt;&gt;<br>
&gt;&gt; - Tell you friends to look at [1]<br>
&gt;&gt;<br>
&gt;&gt; - It is still **beta** that is to say changes still possible. We&#=
39;ll do a<br>
&gt;&gt; Rc in a week or so.<br>
&gt;&gt;<br>
&gt;&gt; - Have fun.<br>
&gt;&gt;<br>
&gt;&gt; Much love from the IPython team. An much love to any contributors =
and<br>
&gt;&gt; users that made this possible.<br>
&gt;&gt; --<br>
&gt;&gt; Matthias<br>
&gt;&gt;<br>
&gt;&gt; 1: <a href=3D"https://ipython.readthedocs.io/en/latest/whatsnew/ve=
rsion7.html" rel=3D"noreferrer" target=3D"_blank">https://ipython.readthedo=
cs.io/en/latest/whatsnew/version7.html</a><br>
&gt;&gt; 2: <a href=3D"https://github.com/ipython/ipython/issues/11297" rel=
=3D"noreferrer" target=3D"_blank">https://github.com/ipython/ipython/issues=
/11297</a><br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; IPython-dev mailing list<br>
&gt;&gt; <a href=3D"mailto:[email protected]" target=3D"_blank">IPytho=
[email protected]</a><br>
&gt;&gt; <a href=3D"https://mail.python.org/mailman/listinfo/ipython-dev" r=
el=3D"noreferrer" target=3D"_blank">https://mail.python.org/mailman/listinf=
o/ipython-dev</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; IPython-dev mailing list<br>
&gt; <a href=3D"mailto:[email protected]" target=3D"_blank">IPython-de=
[email protected]</a><br>
&gt; <a href=3D"https://mail.python.org/mailman/listinfo/ipython-dev" rel=
=3D"noreferrer" target=3D"_blank">https://mail.python.org/mailman/listinfo/=
ipython-dev</a><br>
&gt;<br>
<br>
-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;Project Jupyter&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:jupyter%[email protected]" target=3D=
"_blank">[email protected]</a>.<br>
To post to this group, send email to <a href=3D"mailto:jupyter@googlegroups=
.com" target=3D"_blank">[email protected]</a>.<br>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/d/msgid/jupyter/CAKgW%3D6L%3DitLbynjtgmTpMvwXkYJ_o6e%3Dn1z3KpY8%3DPazun4=
uxA%40mail.gmail.com" rel=3D"noreferrer" target=3D"_blank">https://groups.g=
oogle.com/d/msgid/jupyter/CAKgW%3D6L%3DitLbynjtgmTpMvwXkYJ_o6e%3Dn1z3KpY8%3=
DPazun4uxA%40mail.gmail.com</a>.<br>
For more options, visit <a href=3D"https://groups.google.com/d/optout" rel=
=3D"noreferrer" target=3D"_blank">https://groups.google.com/d/optout</a>.<b=
r>
</blockquote></div>

--000000000000a4b94e0575a84afb--

--===============5288095142649450967==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
IPython-dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/ipython-dev

--===============5288095142649450967==--