代理模板的jupyter扩展
nbstencilaprox的Python项目详细描述
jupyter+dar/stencila=nbstencilaproxy
jupyter+dar的兼容性探索
单击下面的按钮,在基于此存储库的mybinder.org上启动在线jupyter实例
通过单击"新建模具会话"打开示例DAR存档:
本项目是2018年Elife Innovation Sprint和2018年Mozilla Global Sprint的一部分(参见https://github.com/mozilla/global sprint/issues/317) 本项目包括两个模块: mybinder.org在映像生成过程中提取目录 通过配置环境变量 我们首先使用Stencila的开发版本运行应用程序,使用 我们还制作了自己版本的app.js,去掉虚拟文件存储内容( 相关的路径配置包括本地存储路径以及客户端使用的url,通过 stencila有r、python、sql、javascript(在浏览器中)和node.js的"执行上下文"(相当于jupyter的"内核")。执行上下文在许多方面不同于内核,包括本地执行和单元格的依赖性分析。这两个都是模板文章和表单的反应式功能执行模型所必需的。 我们可以在docker映像中安装这些执行上下文。但是,stencila还有一个 我们在docker镜像中包含了 nbstencilaproxy为代理模板提供jupyter服务器和笔记本扩展。
它基于nbrsessionproxy但不包括nbrsessionproxy对jupyterlab的支持。 安装 安装软件包: 为系统上的所有用户安装扩展: 通过访问显示的标记化URL登录,例如 单击jupyter开始页上的"新建>;模板会话"按钮,打开 通过将以下参数附加到URL,打开其中一个包含的示例: BSD 3条款许可证演示
关于
nbserverproxy
),以访问用户界面以及stencila提供的服务;该软件包还扩展了jupyter用户界面,以添加一个"new stencila session"按钮团队
H2>如何?图像的配置
binder/
中的几个配置文件,并安装所需的软件和几个模板内核。environment.yml
和requirements.txt
安装python依赖项runtime.txt
添加R安装
安装并配置模板的r上下文
postbuild
stencila archive
,在binder/postbuild
中设置默认存档文件。
在Jupyter容器中运行Stencila
node make-w-s-d/our/own/dir
,但在配置文件存储(即DAR服务器
)时遇到了一些困难,并以我们配置的完整路径运行它,而不是启动相对于\u dirname
的dar服务器
make.js
。
最终,我们实现了自己的最小npm包,它将stencila作为依赖项,并使用dist
目录中的文件运行应用程序的dar服务器和静态文件服务器。
有关详细信息,请参见文件
stencila.js
。
这使我们能够控制路径,让我们摆脱复杂的开发特性(Substance Bundler
等)。vfs
),将存储默认为fs
(文件系统),因为这是jupyter所需要的—我们不需要托管任何示例。
在同一行中,我们构建了自己的index.html
(基于example.html
)并提供了它,它允许我们直接呈现一个DAR文档,而不是一个示例和指令列表,并使用我们的a p p.js
nbserverproxy
访问dar服务器
。
dockerfile
安装我们的助手npm包并添加+配置nbserverproxy
工具(请参见requirements.txt
和jupyter_notebook_config.py
)。将Stencila连接到Jupyter内核
jupytercontext
作为stencila的api和jupyter内核之间的桥梁。因此,由于basejupyter/minimal notebook
映像已经安装了一个用于python的jupyter内核,所以我们决定使用它。但这确实意味着,Stencila用户界面的某些反应性方面将无法按预期工作。此外,jupytercontext的开发和测试也不完善。stencila node
node.js包,它提供了jupytercontext
以及nodecontext
(用于执行javascript)和sqlitecontext
(用于执行sql)。通过代理提供模板
pip install git+https://github.com/minrk/nbstencilaproxy
jupyter serverextension enable --py --sys-prefix nbstencilaproxy
jupyter nbextension install --py --sys-prefix nbstencilaproxy
jupyter nbextension enable --py --sys-prefix nbstencilaproxy
开发
repo2docker在本地运行
# install repo2docker: https://repo2docker.readthedocs.io/en/latest/usage.html#running-repo2docker-locally# run repo2docker for the local repository
jupyter-repo2docker --debug .
http://localhost:8888/?令牌=99A7BC13…
py jupyter
示例,或
?存档=py jupyter
?存档=R-降价
?存档=厨房水槽
许可证
推荐PyPI第三方库