@deepnote/块
块包定义了"深 Note Blocks".
概览
这个软件包提供TypeScript类型和与Deepnote笔记本块合作的公用事业,包括:
- 块类型: 代码, SQL, 文本, Markdown, 输入, 可视化, 按钮, 大数字, 图像, 分隔符
- Python 代码生成: 将块转换为可执行 Python 代码
- 马克下调转换: 将文本块转换为/从下标格式转换
支持的块类型
代码和数据块
- 代码: Python 代码执行
- 坐标: SQL 有可变任务查询执行
输入块
- 输入文本: 单行文本输入
- 输入文本区域: 多行文本输入
- 输入检查框: 布尔复选框
- 输入选择: 单一或多选择的下拉
- 输入-滑动器: 数字幻灯片
- 输入文件: 文件路径选择器
- 输入日期: 摘取日期器
- 输入日期范围: 有预设的日期范围( 过去7天, 过去一个月等)
显示块
- 视觉: 使用 Vega-Lite 的交互式图表
- 枢轴表: DataFrame (β) 的无码交叉抽取
- 大数: 带有 Jinja2 模板的 KPI 显示
- 按钮: 有可变控件的交互式按钮
文本下方块( Markdown) (Markdown)
- 文本单元格-h1/h2/h3页:1
- 文本单元格p: 段落
- 文本单元格组合: 项目符号列表
- 文本单元格待办事宜: 复选框
- 文本单元格显示: 突出说明
- 分隔符: 水平规则 (
<hr>(中文(简体) ) - 图像: 有对齐和大小的嵌入图像
使用量
Python 代码生成
import { createPythonCode } from "@deepnote/blocks";
// Code block
const codeBlock = {
type: "code",
content: 'print("Hello, world!")',
// ...
};
createPythonCode(codeBlock); // 'print("Hello, world!")'
// SQL block
const sqlBlock = {
type: "sql",
content: "SELECT * FROM users",
metadata: {
deepnote_variable_name: "df_users",
sql_integration_id: "abc-123",
},
// ...
};
createPythonCode(sqlBlock);
// df_users = _dntk.execute_sql('SELECT * FROM users', 'SQL_ABC_123', ...)
// Input checkbox
const checkboxBlock = {
type: "input-checkbox",
metadata: {
deepnote_variable_name: "is_enabled",
deepnote_variable_value: true,
},
// ...
};
createPythonCode(checkboxBlock); // is_enabled = True
// Input date range
const dateRangeBlock = {
type: "input-date-range",
metadata: {
deepnote_variable_name: "date_range",
deepnote_variable_value: "past7days",
},
// ...
};
createPythonCode(dateRangeBlock);
// from datetime import datetime as _deepnote_datetime, timedelta as _deepnote_timedelta
// date_range = [_deepnote_datetime.now().date() - _deepnote_timedelta(days=7), ...]
马克下调转换
import { createMarkdown, stripMarkdown } from "@deepnote/blocks";
const headingBlock = {
type: "text-cell-h1",
content: "Main Title",
// ...
};
const markdown = createMarkdown(headingBlock); // "# Main Title"
const plainText = stripMarkdown(headingBlock); // "Main Title"
const todoBlock = {
type: "text-cell-todo",
content: "Complete task",
metadata: { checked: true },
// ...
};
createMarkdown(todoBlock); // "- [x] Complete task"
const separatorBlock = {
type: "separator",
content: "",
// ...
};
createMarkdown(separatorBlock); // "<hr>"
const imageBlock = {
type: "image",
content: "",
metadata: {
deepnote_img_src: "https://example.com/image.png",
deepnote_img_width: "500",
deepnote_img_alignment: "center",
},
// ...
};
createMarkdown(imageBlock); // '<img src="https://example.com/image.png" width="500" align="center" />'