跳转到主要内容

Jupyter的bash内核

项目描述

https://mybinder.org/badge_logo.svg

bash的Jupyter内核

安装

此要求IPython 3。

pip install bash_kernel
python -m bash_kernel.install

要使用它,运行以下之一

jupyter notebook
# In the notebook interface, select Bash from the 'New' menu
jupyter qtconsole --kernel bash
jupyter console --kernel bash

显示丰富内容

要使用专用内容(图像、html等),此文件定义了(在build_cmds()中)接受标准输入的内容的bash函数。目前支持display(图像)、displayHTML(html)和displayJS(javascript)。

示例

cat dog.png | display
echo "<b>Dog</b>, not a cat." | displayHTML
echo "alert('It is known khaleesi\!');" | displayJS

更新丰富内容单元格

如果正在进行需要动态更新的操作,可以指定一个唯一的display_id,应为一个字符串名称(下游文档对此不明确),内容将被新值替换。示例

display_id="id_${RANDOM}"
((ii=0))
while ((ii < 10)) ; do
    echo "<div>${ii}</div>" | displayHTML $display_id
    ((ii = ii+1))
    sleep 1
done

相同的操作也适用于图像或甚至javascript内容。

请记住,每次执行单元格时都创建一个新的id(随机id效果很好),否则它将尝试显示不再存在的HTML元素(它们在单元格重新运行时被删除)。

编程生成丰富内容

或者,可以将丰富内容直接生成到/tmp(或$TMPDIR)的文件中,然后输出对应的(与mimetype相对应的)上下文前缀“_TEXT_SAVED_*”常量。这样就可以编写程序(C++、Go、Rust等),在笔记本内适当地生成丰富内容。

环境变量“NOTEBOOK_BASH_KERNEL_CAPABILITIES”将设置为逗号分隔的支持类型列表(目前为“image,html,javascript”),程序可以检查这些类型。

要输出到特定的“display_id”,允许更新内容(例如:从命令行程序动态更新/生成图表),在文件名前加上“(<display_id>)”。例如:将/tmp/myHTML.html的内容显示到display id “id_12345”的行将看起来像

bash_kernel:已保存html数据到:(id_12345) /tmp/myHTML.html

更多信息

关于其工作原理的详细信息,请参阅Jupyter文档中的包装内核,以及Pexpect的replwrap模块文档。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

bash_kernel-0.9.3.tar.gz (617.7 kB 查看哈希值)

上传时间

构建分布

bash_kernel-0.9.3-py2.py3-none-any.whl (617.3 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面