Skip to main content

Liquid is a pipeline tool based on pluggy hook technology, which is mainly used for rapid construction of data science applications.

Project description

Liquid-算法应用流程管理工具

shields_version shields_license shields_author shiedls_python

liquidsymbol

介绍

  • liquid是一个pipeline工具,主要功能提供算法应用快捷组织功能,主要技术使用基于pluggy的hook技术。

安装

liquid采用Python开发,得益于Python良好的社区环境,安装支持Pythonic风格的各种管理器。

	$ pip install liquid-0.1-xxxxxxxxxxxx.whl

快速指南

python-sdk使用

  • liquid提供python-sdk的使用方式,以下是liquid主程脚本示例:
from liquid.node import Node
from liquid.pipeline import Pipeline
from liquid.io import DataCatalog
from liquid.hook import HookManager
from liquid.runner import SequentialRunner



### 开始liquid测试
### 设置函数节点对象
def first_func(a,b):
    c = a + b
    return c
def second_func(c,d):
    e = c * d
    return e
def third_func(e):
    f = e + 1
    return f
first_node = Node(func=first_func,inputs=['a','b'],outputs='c',name='firstfunc')
second_node = Node(func=second_func,inputs=['c','d'],outputs='e',name='secondfunc')
third_node = Node(func=third_func,inputs=['e'],outputs=['f'],name='thirdfunc')
### 创建一个pipeline
test_pipeline = Pipeline(nodes=[first_node,second_node,third_node])
### catalog加载初始参数
test_cache_data = DataCatalog()
test_cache_data.save(data_name='a',data_obj=5)
test_cache_data.save(data_name='b',data_obj=6)
test_cache_data.save(data_name='d',data_obj=7)
### hook_manager加载已挂载的前后处理功能函数
hook_manager = HookManager()
sequential_runner = SequentialRunner(pipeline=test_pipeline,catalog=test_cache_data,hook_manager=hook_manager)
# print(sequential_runner.pipeline,sequential_runner.catalog,sequential_runner.hook_manager)
print('--------------------------------------------------------------------------------------------------------------')
sequential_runner.execute(is_release=False)
print(test_cache_data.load(data_name='f'))
print(test_cache_data.cache_data)
### 测试过程(5+6)*7+1=78

设计

  • 基于pluggy的hook技术实现灵活扩展性
  • 设计关键概念,Node,Pipeline,Runner
  • 函数节点化-Node
  • 开放挂载点-Pipeline
  • 扩展运行方式(顺序运行和并行运行)-Runner

技术列表

  • property动态属性
  • 基于pluggy的hook
  • call
  • add
  • cache_dict

设计UML图

以下是设计的UML图: liquiduml

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shihua-liquid-0.1.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shihua_liquid-0.1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file shihua-liquid-0.1.tar.gz.

File metadata

  • Download URL: shihua-liquid-0.1.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.12

File hashes

Hashes for shihua-liquid-0.1.tar.gz
Algorithm Hash digest
SHA256 09ec5f50ca01b4c1f93adff183f2a20cbe3e12d35e4fe0028dc1cf6edbe2b84f
MD5 d49ce697983704aeea824badf3b59b2b
BLAKE2b-256 0e227e8eef11022cb0a5fcae36204d9a89ee042f09e8b2304a8c9e7866575aaa

See more details on using hashes here.

File details

Details for the file shihua_liquid-0.1-py3-none-any.whl.

File metadata

  • Download URL: shihua_liquid-0.1-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.12

File hashes

Hashes for shihua_liquid-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e067cd2f7e7755e31edb0fefd5f0d1a04e1f80732e431829a2a50a156b2bf2c
MD5 4db60ecebb016475191fef8c02d62d6c
BLAKE2b-256 e63e7300ab99a2278d8c8dc15764c66726d3f230b0c64a8ee792c167531f5b5f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page