一个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 jupyternotify
0

稍后…

pip install jupyternotify
1
pip install jupyternotify
2

autonotify还接受参数 --输出

许可证

版权所有(c)2017,ShopRunner

在满足以下条件的情况下,允许以源代码和二进制格式重新分发和使用(无论是否修改):

  1. 重新发布源代码必须保留上述版权声明、此条件列表和以下免责声明。
  2. 以二进制形式重新分发必须在分发时提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
  3. 未经事先书面许可,版权所有人的姓名或其贡献者的姓名均不得用于认可或推广由本软件衍生的产品。
  4. < > >

    本软件由版权所有人和贡献者"按原样"提供,任何明示或默示保证,包括但不限于对适销性和特定用途适用性的默示保证,概不负责。在任何情况下,版权持有人或贡献者均不对任何直接、间接、附带、特殊、惩戒性或后果性损害(包括但不限于购买替代货物或服务;使用、数据或利润损失)负责;或业务中断)无论是何种原因造成的,基于任何责任理论,无论是在合同中,严格责任或侵权行为(包括疏忽或其他),无论是以何种方式使用本软件,即使已告知此类损害的可能性。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java能否使用OpenJPA将一个实体持久化到多个持久化单元?   java如何访问当前按下的键   java singleton是否意味着哈希代码总是返回相同的值?   inputstream无法在Java中同时使用STDIN和STDERR读取程序输出   java运行时有多贵。getRuntime()与获取内存度量相结合   java AndroidStudio ListView适配器更新   java小程序请求未扩展实时会话   java是设置布尔值所必需的关键部分?   java比较两个字符串,并突出显示发现的不匹配项   java带抽屉布局,无论哪个屏幕处于活动状态,如何在按下后退键时关闭应用程序?   爪哇:颜色有什么区别。黑色和彩色。黑色   Velocity模板中子类的java访问方法   java如何快速学习Drools或其他规则引擎   从Java应用程序访问时缓存数据库查询结果   java cassandra nodetool JPLISAgent。c错误   java我正在解析一个没有pubDate的RSS提要,有没有其他方法可以确定一个项目是何时发布的?