一个帮助通过图导航缓冲区的框架。缓冲区必须流动。
项目描述
SGN文档
SGN是一个用于异步创建和执行流数据任务图的轻量级Python库。仅内置依赖项,SGN易于安装和使用。此页面是用于基本库 sgn
,但有一系列扩展SGN功能的库,包括
安装
要安装SGN,只需运行
pip install sgn
SGN没有依赖Python标准库以外的任何内容,因此在任何系统上安装都应很简单。
快速入门
要开始使用SGN,您可以创建一个简单的任务图,表示一个简单的整数数据处理流水线。以下是一个示例
from sgn import Pipeline, DequeSink, DequeSource, CallableTransform
# Define a function to use in the pipeline
def add_ten(frame):
return None if frame.data is None else frame.data + 10
# Create source element
src = DequeSource(
name="src1",
source_pad_names=["H1"],
iters={"src1:src:H1": [1, 2, 3]},
)
# Create a transform element using an arbitrary function
trn1 = CallableTransform.from_callable(
name="t1",
sink_pad_names=["H1"],
callable=add_ten,
output_name="H1",
)
# Create the sink so we can access the data after running
snk = DequeSink(
name="snk1",
sink_pad_names=("H1",),
)
# Create the Pipeline
p = Pipeline()
# Insert elements into pipeline and link them explicitly
p.insert(src, trn1, snk, link_map={
"t1:sink:H1": "src1:src:H1",
"snk1:sink:H1": "t1:src:H1",
})
# Run the pipeline
p.run()
# Check the result of the sink queue to see outputs
assert list(snk.deques["snk1:sink:H1"]) == [13, 12, 11]
上述示例可以修改为使用任何数据类型,包括适合JSON的嵌套字典、列表和字符串。可以使用CallableTransform
类使用任何任意函数创建转换元素。使用DeqSource
和DeqSink
类创建使用collections.deque
存储数据的源和汇元素。
通用概念
SGN被设计得简单易用。这里我们概述了关键概念,但更多细节请参阅文档中的关键概念页面,链接:concepts.rst 在SGN中,有几个概念需要理解
图构建
-
源:源是任务图的起点。它们产生可以由其他任务消费的数据。
-
转换:转换是消费一个或多个源数据、处理它并产生新数据的任务。
-
汇:汇是消费一个或多个源数据并对其做些什么的任务。这可以是将数据写入文件、通过网络发送,或任何其他操作。
控制流
使用这些概念,您可以使用SGN创建复杂的任务图,以各种方式处理和移动数据。SGN库提供了一个简单的API来创建和执行任务图,包括几个关键类型
-
帧:帧是在任务图中的任务之间传递的数据单元。帧可以包含任何类型的数据,并且可以在任务图中的任务之间传递。
-
垫:垫是任务图中两个任务之间的连接点。垫用于在任务之间传递帧,并且可以用于在任务图中连接任务。边是任务图中两个垫之间的连接。
-
元素:元素是任务图中的任务。元素可以是源、转换或汇,并且可以连接起来创建任务图。
-
流水线:流水线是连接起来形成任务图的一组元素。可以执行流水线以处理数据,并且可以使用流水线创建复杂的数据处理工作流程。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
sgn-0.0.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 224015174ec576a22d1bd34c3c718f5e306c821725e62f12c4a5fa17e6d10011 |
|
MD5 | 73f442b6677813d7d6d877e72ba5639f |
|
BLAKE2b-256 | 345ab3d62970922fe4ad69ae32e6ffde70a0fffe35411eb742a8c7bc95ffec57 |
sgn-0.0.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 460aece498ea7224345bd3744e6f9996521bb1aeb8f0d89a58f589679049750a |
|
MD5 | a21f4cd8aa2db361b2f8487978029ccf |
|
BLAKE2b-256 | 645de7fc3d006445351aee53f6f6ffdc09cc254b3c3e5f833df89ae45ae62445 |