一个jupyter扩展,它将笔记本电脑转变为web应用程序,并对aiida实验室进行了修改。
appmode-aiidalab的Python项目详细描述
应用模式
a jupyter扩展,可将笔记本电脑转换为Web应用程序。
现场试用
单击活页夹徽章,在不安装任何东西的情况下进行实时尝试。这将直接带您到笔记本的“应用程序”版本。
安装
如果使用conda
,则可以将其安装为:
conda install --channel conda-forge appmode
如果使用pip
,则可以将其安装为:
pip install appmode
jupyter nbextension enable --py --sys-prefix appmode
jupyter serverextension enable --py --sys-prefix appmode
如果要使用mybinder请将以下environment.yml
文件添加到存储库:
channels:
- conda-forge
dependencies:
- appmode
说明
appmode由jupyter的服务器端和笔记本扩展组成。这两个扩展一起提供以下功能:
单击工具栏中的appmode按钮,可以在appmode中查看任何笔记本。或者可以将url从
baseurl/notebooks/foo.ipynb
更改为baseurl/apps/foo.ipynb
。这也允许直接链接到appmode。在appmode中打开笔记本时,将自动执行所有代码单元格。为了呈现一个干净的ui,所有代码单元都被隐藏,并且标记单元是只读的。
一个笔记本可以在appmode下多次打开而不受干扰。这是通过为每个活动的appmode视图创建笔记本的临时副本来实现的。每个appmode视图都有其专用的ipython内核。当appmode页面关闭时,内核将关闭,临时副本将被删除。
为了允许通过url参数在笔记本之间传递信息,将当前url注入变量
jupyter_notebook_url
。
服务器端配置
appmode添加以下configuration options:
Appmode.trusted_path
在appmode中仅在此路径下运行笔记本。默认值:无限制。Appmode.show_edit_button
在appmode期间显示{em1}$edit app按钮。默认值:true。Appmode.show_other_buttons
在appmode期间显示其他按钮,例如注销。默认值:true。
客户端自定义
appmode的ui元素可以通过custom.js文件自定义。例如:
$('#appmode-leave').hide(); // Hides the edit app button.
$('#appmode-busy').hide(); // Hides the kernel busy indicator.
$('#appmode-loader').append('<h2>Loading...</h2>'); // Adds a loading message.
请注意,隐藏编辑按钮不会阻止用户通过手动更改url离开appmode。
开发
使用附带的Dockerfile可以快速创建开发环境:
- 安装Docker。
- git克隆此存储库
docker build --tag appmode_dev ./
docker run --init -ti -p8888:8888 appmode_dev
- 浏览到
http://localhost:8888/apps/example_app.ipynb