一个Jupyter记事本%%magic,用于浏览器通知单元格完成
jupyternotif的Python项目详细描述
一个jupyter魔术,用于浏览器通知单元格完成
这个包提供了一个jupyter笔记本的cell magic %%notify 在潜在的长时间运行的单元完成时通过 浏览器推送通知。用例包括长时间运行的机器 学习模型、网格搜索或火花计算。这个魔法允许 您可以导航到其他工作(甚至其他Mac桌面 完全)并且在您的单元完成时仍会收到通知。 单击通知正文将直接转到 浏览器窗口和笔记本选项卡,即使您在不同的 桌面(单击通知中的"关闭"按钮将使您 您在哪里)。
支持的浏览器
扩展目前已经在chrome中测试过(版本:58.0.3029) 和Firefox(版本:53.0.3)。
注意:当通知发出时,firefox也会发出可听见的铃声 激发(声音可以在OSX中关闭,如前所述 这里 )。
导入回购协议
要使用该软件包,请直接通过PIP安装:
pip install jupyternotify
或者将其添加到repo的requirements.txt中。
直接从源安装:
git clone git@github.com:ShopRunner/jupyter-notify.git cd jupyter-notify/ virtualenv venv source venv/bin/activate pip install -r requirements.txt jupyter notebook
用法
装入Jupyter笔记本:
%load_extjupyternotify
自动加载到所有笔记本中
将以下行添加到ipython启动文件:
c.InteractiveShellApp.extensions = [ 'jupyternotify' ]
.ipython启动文件可以用 ipython profile create[profilename] 并将创建配置 文件位于 ~/.ipython/profile[profilename]/ipython\u config.py' 。离开 [profilename]blank将创建默认配置文件(请参见 更多信息请参见 信息)
要测试扩展名,请尝试
%%notify import time time.sleep(5)
选项
注意:当前选项不能与 %load\u ext 或ipython一起使用 以上启动文件说明。
要加载带有选项的魔术,您应该通过执行 以下内容:
importjupyternotifyip=get_ipython()ip.register_magics(jupyternotify.JupyterNotifyMagics(ip,option_name="option_value"))
或者将此添加到ipython启动文件:
c.InteractiveShellApp.exec_lines=['import jupyternotify','ip = get_ipython()','ip.register_magics(jupyternotify.JupyterNotifyMagics(ip, option_name="option_value"))']
存在以下选项:- 需要交互 -布尔值, 默认为False。如果这是真的,通知将保留在屏幕上 直到被解雇。此功能目前仅在google中可用 铬,
自定义消息
您可以指定要发送的邮件sh要显示的通知:
%%notify-m"sleep for 5 secs"importtimetime.sleep(5)
火灾通知中间单元
也可以在单元格的中间使用line发出通知 魔法.< /P>
importtimetime.sleep(5)%notify-m"slept for 5 seconds."time.sleep(6)%notify-m"slept for 6 seconds."time.sleep(2)
在特定单元格执行时间后自动触发通知
使用 autonotify 行魔术,您可以有通知 如果执行时间较长,则在单元格完成时自动触发 使用 %autonotify --after <;seconds>; 或 %autonotify -a <;秒>;
pip install jupyternotify0
稍后…
pip install jupyternotify1
pip install jupyternotify2
autonotify还接受参数 --输出
将单元格输出用作消息
您可以使用单元格输出的最后一行作为通知 使用 --输出的消息
pip install jupyternotify3
通知消息:答案是42。
< div >许可证
版权所有(c)2017,ShopRunner
在满足以下条件的情况下,允许以源代码和二进制格式重新分发和使用(无论是否修改):
- 重新发布源代码必须保留上述版权声明、此条件列表和以下免责声明。
- 以二进制形式重新分发必须在分发时提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
- 未经事先书面许可,版权所有人的姓名或其贡献者的姓名均不得用于认可或推广由本软件衍生的产品。 < > >
本软件由版权所有人和贡献者"按原样"提供,任何明示或默示保证,包括但不限于对适销性和特定用途适用性的默示保证,概不负责。在任何情况下,版权持有人或贡献者均不对任何直接、间接、附带、特殊、惩戒性或后果性损害(包括但不限于购买替代货物或服务;使用、数据或利润损失)负责;或业务中断)无论是何种原因造成的,基于任何责任理论,无论是在合同中,严格责任或侵权行为(包括疏忽或其他),无论是以何种方式使用本软件,即使已告知此类损害的可能性。