用于发送松弛通知的ipython magic
ipyslack的Python项目详细描述
安装
$ pip install ipyslack
用法
加载扩展名:
%load_ext ipyslack
配置松弛API:
%slack_setup -t <api_token> -c <target_channel>
要获取api令牌,请访问this page。 <target_channel>参数可以表示频道(例如#general)或用户(例如@me)。
将选项-u true添加到%slack_setup将使您成为所有邮件的发件人。否则(默认)消息来自slackbot。
为了避免在每个笔记本中写入api令牌,可以创建包含相同配置行的文件:
-t <api_token> -c <target_channel> -u false
然后,您可以通过调用:
%slack_setup <filename>
更简单的是,如果根本不调用%slack_setup,扩展将尝试在首次使用时自动配置自己 通过搜索文件~/.ipyslack.cfg和.ipyslack.cfg(按此顺序)和 尝试从这些加载配置。
此搜索顺序中的后续文件将覆盖先前文件的设置。也就是说,您可以指定-t <api_token> -c #default_group 在全局~/.ipyslack.cfg中,并且只重写本地.ipyslack.cfg中的-c #project_group。
现在添加:
%%slack_notify <message>
每当单元格执行完成时,任何单元格的顶部都将发送<message>到<target_channel>。
在单元格执行过程中,<message>内的模式{out}和{err}将替换为stdout或stderr。模式{exc}表示异常(如果抛出了任何异常)。字符串\n表示新行。类似地,工作区中名为x的任何变量都可以称为{x}(实际上,可以使用标准格式的字符串表示法)。
示例:
%%slack_notify *Completed {len(results)} trials. Last result: {results[-1]}!* :heavy_plus_sign:\nStdout: {out}\nStderr: {err}\nException: {exc}
此外,magic%slack_send <message>行允许发送有关部分结果的通知。例如:
%%slack_notify Completed. Final accuracy: {accuracy}. {exc} ... computation ... %slack_send Half-way! Current accuracy: {accuracy} ... computation ...
另请参见
- ipytelegram:https://github.com/kalaidin/ipytelegram/