@deepnote/reactivity

中文文档
2.0.0发布于 2026/11/05Apache-2.0TypeScriptESM + CJS近 30 天下载 6574

深注笔记本的活性和依赖性图表

中文使用文档
文档目录6 节
  1. 所需资源
  2. 概览
  3. 使用量
  4. 基本示例
  5. 关键函数
  6. 核心概念

@deepnote/反应

深注笔记本的活性和依赖性图.

所需资源

此软件包需要 Py 3 编辑 金贾2 Python 库将安装在其运行的系统上 。 这个 jinja2 库用于解析 SQL 块中的变量依赖性.

您可以通过 pip 安装此要求 :

pip install jinja2

默认情况下, 软件包查找 python3 在系统路径。 您可以通过提供 pythonInterpreter 路径在主要函数的选项中.

概览

这个软件包为分析Deepnote块之间的依赖关系提供公用设备,以构建一个反应图. 它使用基于 Python 的 AST 分析器来识别各种区块类型中定义并使用的变量.

  • AST 分析:取出跨Python,SQL,按钮,大数,笔记本功能,和输入-*块的可变定义和用法.
  • 依赖跟踪: 识别块如何通过变量互相依赖.
  • 反应支持:通过分析块内容,对反应性执行模式进行授权.

使用量

图书馆的主要入口是 getDagForBlocks它分析区块的内容,并构建一个代表其依赖性的定向环行图.

基本示例

import { getDagForBlocks } from "@deepnote/reactivity";

const blocks = [
  // ... array of DeepnoteBlock objects
];

const { dag, newlyComputedBlocksContentDeps } = await getDagForBlocks(blocks);

// Access the dependency graph
console.log(dag.nodes);
console.log(dag.edges);

关键函数

  • getDagForBlocks(blocks, options?):构建笔记本的完整依赖图. 这对于绘制数据流动图和提供依赖可视化等功能很有用. 使用 acceptPartialDAG: true 在选项中,如果想要收到一个图表,即使有些块有语法错误。 支助 pythonInterpreter 选项.
  • getDownstreamBlocks(blocks, blocksToExecute, options?): 识别特定上游块执行或修改时需要重新运行的所有块. 这是执行 被动执行确保整个笔记本保持一致。 支助 pythonInterpreter 选项.
  • getBlockDependencies(blocks, options?): 低级用法,使用AST分析从块内容中提取可变定义和用法. 它有助于检查各个区块的投入和产出,而不构建完整的图表。 支助 pythonInterpreter 选项.

核心概念

  • 节点:笔记本中的每个块都是DAG中的节点. 节点包含关于 inputVariables (使用的可变因素)和 outputVariables (变量定义).
  • 边缘: 如果B区使用由A区所定义的变量,则从A区到B区都存在边缘.
  • 反应:通过理解这些依存关系,Deepnote可以在上游块中变换变量时自动确定需要再运行哪些块.

版本与发布记录

@deepnote/reactivity 共发布 11 个版本,首次发布于 2026/01/05;过去 12 个月发布了 11 个版本。

版本发布日期距今
2.0.0latest2026/11/056 天前
1.2.42026/10/1230 天前
1.2.32026/10/051 个月前
1.2.22026/08/132 个月前
1.2.12026/06/294 个月前
1.2.02026/02/238 个月前

关于 @deepnote/reactivity 的常见问题

@deepnote/reactivity 是什么?

深注笔记本的活性和依赖性图表

如何安装 @deepnote/reactivity?

在项目目录运行 npm install @deepnote/reactivity,或使用 pnpm add / yarn add / bun add。

@deepnote/reactivity 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@deepnote/reactivity 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@deepnote/reactivity 可以商用吗?

@deepnote/reactivity 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@deepnote/reactivity 的下载量有多少?

根据 npm 官方下载统计,@deepnote/reactivity 在 2026/10/12 – 2026/11/10 这 30 天内被下载 6,574 次,日均约 219 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@deepnote/reactivity 还在维护吗?

最新版本 2.0.0 发布于 2026/11/05(6 天前);至今共发布 11 个版本,其中过去 12 个月发布了 11 个;首次发布于 2026/01/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。