一个Jupyter记事本%%magic,用于浏览器通知单元格完成

jupyterbgnotif的Python项目详细描述


一个jupyter魔术,用于浏览器通知单元格完成

这个包提供了一个jupyter笔记本的cell magic %%notify 在潜在的长时间运行的单元完成时通过 浏览器推送通知。用例包括长时间运行的机器 学习模型、网格搜索或火花计算。这个魔法允许 您可以导航到其他工作(甚至其他Mac桌面 完全)并且在您的单元完成时仍会收到通知。 单击通知正文将直接转到 浏览器窗口和笔记本选项卡,即使您在不同的 桌面(单击通知中的"关闭"按钮将使您 您在哪里)。

支持的浏览器

扩展目前已经在chrome中测试过(版本:58.0.3029) 和Firefox(版本:53.0.3)。

注意:当通知发出时,firefox也会发出可听见的铃声 激发(声音可以在OSX中关闭,如前所述 这里 )。

导入回购协议

要使用该软件包,请直接通过PIP安装:

pip install jupyterbgnotify

或者将其添加到repo的requirements.txt中。

直接从源安装:

git clone git@github.com:benmanns/jupyterbgnotify.git
cd jupyterbgnotify/
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
jupyter notebook

用法

装入Jupyter笔记本:

%load_extjupyterbgnotify

自动加载到所有笔记本中

将以下行添加到ipython启动文件:

c.InteractiveShellApp.extensions = [
    'jupyterbgnotify'
]

.ipython启动文件可以用 ipython profile create[profilename] 并将创建配置 文件位于 ~/.ipython/profile[profilename]/ipython\u config.py' 。离开 [profilename]blank将创建默认配置文件(请参见 更多信息请参见 信息)

要测试扩展名,请尝试

%%notify
import time
time.sleep(5)

选项

注意:当前选项不能与 %load\u ext 或ipython一起使用 以上启动文件说明。

要加载带有选项的魔术,您应该通过执行 以下内容:

importjupyterbgnotifyip=get_ipython()ip.register_magics(jupyterbgnotify.JupyterNotifyMagics(ip,option_name="option_value"))

或者将此添加到ipython启动文件:

c.InteractiveShellApp.exec_lines=['import jupyterbgnotify','ip = get_ipython()','ip.register_magics(jupyterbgnotify.JupyterNotifyMagics(ip, option_name="option_value"))']

存在以下选项:- 需要交互 -布尔值, 默认为False。如果这是真的,通知将保留在屏幕上 直到被解雇。此功能目前仅在google中可用 铬,

自定义消息

您可以指定希望通知显示的消息:

%%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 jupyterbgnotify
0

稍后…

pip install jupyterbgnotify
1
pip install jupyterbgnotify
2

autonotify还接受参数 --输出

许可证

版权所有(c)2018,Benjamin Manns

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

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

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

这是对ShopRunner的JupyterNotify的修改,许可证如下:

版权所有(c)2017,ShopRunner

允许以源文件和二进制文件的形式重新分发和使用,无论是否修改,只要满足以下条件ONS已满足:

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

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

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

推荐PyPI第三方库


热门话题
将输入迷宫文件中的字符存储到2d数组(Java)   Vaadin中的java CDi未注入:NullPointerException   两个java日期之间的差异   java如何使用@patch使用jpa存储库更新单个字段   java GeoWebCache和osmdroid   Java:如何让对象侦听器在不同的类中工作?   对象的java子集   安全性无法在Java中设置客户端X509身份验证   java如何在安卓中将唯一的单词绑定到字符串   java如何读取txt并通过管道对其进行分隔   java如何避免if   java JSP带有一个HTML表,需要更新该表   java HashMap<String,Value>。remove()通过使用字符串同步。在钥匙上,这有用吗?还是这个坏代码?   java我的继承有问题