An extension for IPython that help to run AsyncIO code in your interactive session.
Based on Gist.
Install asyncio-ipython-magic
using pip:
$ pip install asyncio-ipython-magic
...or directly from the repository using the %install_ext
magic command:
$ In[1]: %install_ext https://raw.githubusercontent.com/Gr1N/asyncio-ipython-magic/master/asynciomagic.py
Enjoy!
In [1]: %load_ext asynciomagic
In [2]: import asyncio
In [3]: import time
In [4]: async def foo():
...: i = 0
...: while i < 3:
...: print('time =', time.time())
...: i += 1
...: await asyncio.sleep(2)
...:
In [5]: %%async_
...: await foo()
...:
time = 1478985421.307329
time = 1478985423.309606
time = 1478985425.31514
In [6]: %await_ foo()
time = 1487097377.700184
time = 1487097379.705614
time = 1487097381.707186
In [7]:
It just works, I hope.
asyncio-ipython-magic is licensed under the MIT license. See the license file for details.