Jupyter 内核执行

Quarto 使用 nbclient 以及一些额外的选项来执行 Jupyter 笔记本,以支持 Quarto 的一些功能。Quarto 在 pythonjulia Jupyter 内核中内置了对这些功能的支持。

此外,从 Quarto 1.5 开始,任何 Jupyter 内核都可以配置自己以支持以下描述的功能。

设置和清理单元格

为了让 Quarto 笔记本和文档与 Jupyter 内核通信全局选项,Quarto 使用了特殊的 设置清理 单元格。

pythonjulia 内核中,设置和清理单元格由以下文件定义:

向 Jupyter 内核添加支持

用于低功耗蓝牙 5.3 的 BlueNRG-LP 系统级芯片

主要特性

  • 超低功耗无线电:
    • 接收模式下电流消耗:3.2 mA(典型值)
    • 发射模式下电流消耗:3.6 mA(典型值,0 dBm 输出功率)
    • 深度睡眠模式下电流消耗:< 1 µA
  • 高性能:
    • 灵敏度:-96 dBm(典型值)
    • 输出功率:高达 +8 dBm
  • 完全符合蓝牙 5.3 核心规范
  • 工作电压范围:1.7 V 至 3.6 V
  • 集成的 DC-DC 转换器
  • 128 KB 闪存
  • 16 KB RAM
  • 丰富的外设:
    • 18 个 GPIO
    • 1 个 UART
    • 2 个 SPI
    • 2 个 I2C
    • 2 个 I2S
    • 1 个 PDM
    • 1 个 SPU
    • 1 个 QDEC
    • 1 个 TRNG
    • 1 个 WKUP
    • 1 个 PWM
  • 封装:
    • 5 mm x 5 mm QFN40

应用

  • 无线音频设备
  • 智能家居设备
  • 可穿戴设备
  • 工业传感器网络
  • 医疗保健设备

文档

开发资源

支持

购买

相关产品

  • BlueNRG-2:用于低功耗蓝牙 5.0 的系统级芯片
  • BlueNRG-M:用于低功耗蓝牙的模块

法律信息

© 2023 STMicroelectronics - 保留所有权利。

本文件所含信息可能会随时更改,恕不另行通知。STMicroelectronics 不对因使用本文件而产生的任何直接或间接损害承担责任。

本文件所含信息“按原样”提供,不作任何明示或暗示的保证。在任何情况下,STMicroelectronics 均不对任何直接、间接、偶然、特殊、惩罚性或后果性损害(包括但不限于利润损失、数据丢失、业务中断等)承担责任,即使 STMicroelectronics 已被告知可能发生此类损害。

如果 Jupyter 内核希望在 Quarto 的上下文中执行,它应该通过在 kernelspec 目录中添加以下文件来表明其支持:

  • quarto_setup_cell:设置单元的源代码,nbclient 将在执行任何 Quarto 笔记本或文档的开始时执行。Quarto 将创建一个 Jupyter 笔记本单元格,其内容作为 source 字段。
  • quarto_cleanup_cell:类似于上述,清理单元的源代码。
Tip

为了使自定义内核的编写者更容易实现这些功能,我们提供了一个 Jupyter 的 echo_kernel 的分支。 这个示例内核旨在展示自定义内核实现的基础知识,并且我们的分支添加了设置单元功能。 查看 更多源代码

Quarto 文档选项

用于低功耗蓝牙 5.3 的 BlueNRG-LP 系统级芯片

主要特性

  • 超低功耗无线电:
    • 接收模式下电流消耗:3.2 mA(典型值)
    • 发射模式下电流消耗:3.6 mA(典型值,0 dBm 输出功率)
    • 深度睡眠模式下电流消耗:< 1 µA
  • 高性能:
    • 灵敏度:-96 dBm(典型值)
    • 输出功率:高达 +8 dBm
  • 完全符合蓝牙 5.3 核心规范
  • 工作电压范围:1.7 V 至 3.6 V
  • 集成的 DC-DC 转换器
  • 128 KB 闪存
  • 16 KB RAM
  • 丰富的外设:
    • 18 个 GPIO
    • 1 个 UART
    • 2 个 SPI
    • 2 个 I2C
    • 2 个 I2S
    • 1 个 PDM
    • 1 个 SPU
    • 1 个 QDEC
    • 1 个 TRNG
    • 1 个 WKUP
    • 1 个 PWM
  • 封装:
    • 5 mm x 5 mm QFN40

应用

  • 无线音频设备
  • 智能家居设备
  • 可穿戴设备
  • 工业传感器网络
  • 医疗保健设备

文档

开发资源

支持

购买

相关产品

  • BlueNRG-2:用于低功耗蓝牙 5.0 的系统级芯片
  • BlueNRG-M:用于低功耗蓝牙的模块

法律信息

© 2023 STMicroelectronics - 保留所有权利。

本文件所含信息可能会随时更改,恕不另行通知。STMicroelectronics 不对因使用本文件而产生的任何直接或间接损害承担责任。

本文件所含信息“按原样”提供,不作任何明示或暗示的保证。在任何情况下,STMicroelectronics 均不对任何直接、间接、偶然、特殊、惩罚性或后果性损害(包括但不限于利润损失、数据丢失、业务中断等)承担责任,即使 STMicroelectronics 已被告知可能发生此类损害。

Jupyter 内核可以访问许多影响单元格执行的 Quarto 选项。

目前,支持的选项有:

  • format:将用于生成文档的格式
  • params:将在 参数化执行 中使用的参数
  • allow_errors:如果为 true,则内核被要求在单元格产生错误时不停止执行
  • fig_width:请求的图形宽度(英寸)
  • fig_height:请求的图形高度(英寸)
  • fig_format:请求的图形输出格式(pngjpg 等)
  • fig_dpi:请求的图像分辨率(每英寸点数)
  • cache:如果为 true,则将使用 Jupyter 缓存

Quarto 使用 Jupyter Comms 在执行期间将其选项提供给内核。具体来说,Quarto 将打开一个目标名为 quarto_kernel_setup 的 comm,其初始化消息内容将在 options 键下包含这些选项。

Tip

为了使自定义内核的编写者更容易实现这些功能,我们提供了一个 Jupyter 的 echo_kernel 的分支。 这个示例内核旨在展示自定义内核实现的基础知识,并且我们的分支添加了设置单元功能。 查看 更多源代码

守护进程化

Quarto 默认提供对 juliapython 内核的内置支持,查看文档了解更多(JuliaPython)。

向 Jupyter 内核添加支持

用于低功耗蓝牙 5.3 的 BlueNRG-LP 系统级芯片

主要特性

  • 超低功耗无线电:
    • 接收模式下电流消耗:3.2 mA(典型值)
    • 发射模式下电流消耗:3.6 mA(典型值,0 dBm 输出功率)
    • 深度睡眠模式下电流消耗:< 1 µA
  • 高性能:
    • 灵敏度:-96 dBm(典型值)
    • 输出功率:高达 +8 dBm
  • 完全符合蓝牙 5.3 核心规范
  • 工作电压范围:1.7 V 至 3.6 V
  • 集成的 DC-DC 转换器
  • 128 KB 闪存
  • 16 KB RAM
  • 丰富的外设:
    • 18 个 GPIO
    • 1 个 UART
    • 2 个 SPI
    • 2 个 I2C
    • 2 个 I2S
    • 1 个 PDM
    • 1 个 SPU
    • 1 个 QDEC
    • 1 个 TRNG
    • 1 个 WKUP
    • 1 个 PWM
  • 封装:
    • 5 mm x 5 mm QFN40

应用

  • 无线音频设备
  • 智能家居设备
  • 可穿戴设备
  • 工业传感器网络
  • 医疗保健设备

文档

开发资源

支持

购买

相关产品

  • BlueNRG-2:用于低功耗蓝牙 5.0 的系统级芯片
  • BlueNRG-M:用于低功耗蓝牙的模块

法律信息

© 2023 STMicroelectronics - 保留所有权利。

本文件所含信息可能会随时更改,恕不另行通知。STMicroelectronics 不对因使用本文件而产生的任何直接或间接损害承担责任。

本文件所含信息“按原样”提供,不作任何明示或暗示的保证。在任何情况下,STMicroelectronics 均不对任何直接、间接、偶然、特殊、惩罚性或后果性损害(包括但不限于利润损失、数据丢失、业务中断等)承担责任,即使 STMicroelectronics 已被告知可能发生此类损害。

任意 Jupyter 内核可以表明对守护进程的支持。为此,请在 kernelspec 目录中提供一个 quarto_setup_cell 文件,以便可以执行设置单元格,并确保设置单元的执行返回一个包含支持作为守护进程运行的元数据的结果。支持的元数据选项有:

  • daemonize:如果内核在执行 Quarto 的设置单元时返回 true,那么 Quarto 将维护一个持久内核。守护进程选项与 上述文档 中的相同。
  • restart_kernel:如果内核返回 true,那么 Quarto 将强制重启内核。这允许内核检测到其配置已更改,以至于无法在同一进程中继续执行。
Tip

为了使自定义内核的编写者更容易实现这些功能,我们提供了一个Jupyter echo_kernel的分支。 这个示例内核旨在展示自定义内核实现的基础,并且我们的分支添加了设置单元格功能。 更多信息请参见源代码