shihua-drip


Nameshihua-drip JSON
Version 0.1 PyPI version JSON
download
home_pagehttps://github.com/redblue0216/Drip
SummaryDrip is a lightweight production level algorithm platform, covering the whole life cycle from algorithm experiment, algorithm pre run management, algorithm runtime management to algorithm post run management.
upload_time2023-03-14 10:23:33
maintainer
docs_urlNone
authorshihua
requires_python>=3.9.12
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Drip-算法全生命周期管理工具

![shields_version](/static/shields_version.svg)  ![shields_license](/static/shields_license.svg)  ![shields_author](/static/shields_author.svg)  ![shiedls_python](/static/shields_python.svg) 
![dripsymbol](/static/dripsymbol.JPG)

## 介绍
+ Drip介绍
  + Drip设计说明
  + Drip是一个轻量的生产级算法平台,覆盖从算法实验、算法运行前管理、算法运行时管理到算法运行后管理的全生命周期。**Drip的核心概念包括信息管理、存储管理、日志管理、调度管理、特征管理、数据通道和插件管理。**
  + Drip每个核心功能都由独立模块支持,完全可单独使用。
  + Drip设计架构图
  	+ **逻辑视图**
  	+ ![Drip架构图](/static/Drip总体架构图.png)
  	+ **物理视图**
  	+ ![Drip物理视图](/static/Drip物理视图.png)
  	+ **处理视图**
  	+ ![Drip处理视图](/static/Drip处理视图.png)
  	+ **开发视图**
  	+ ![Drip开发视图](/static/Drip开发视图.png)

## 安装
```bash
$ pip install drip-0.1-xxxxxxxxxxxx.whl
```

## 快速指南
+ 首先使用dripctl命令行工具进行管理员注册操作,然后启动webui后台服务。另外,后端详细配置在drip_config.yaml中。以下是dripctl命令行示例:
```bash 
$ dripctl create-admin

$ dripctl start-webui
```
+ Drip算法研发流程
+ ![Drip算法研发流程](/static/Drip流程图.png)
+ 以下为DripWebUI使用界面
+ ![drip首页](/static/driphomepage.JPG)
+ ![drip数据](/static/dripdatainfo.JPG)
+ ![drip插件](/static/dripttyd.JPG)

## 设计
+ Drip核心模块介绍
  + 信息管理:[Fiche](https://github.com/redblue0216/Fiche)
  	+ 设计说明
  	+ Fiche是一个元数据信息管理工具,主要功能提供元数据信息的管理,包括算法信息、模型信息、参数信息、应用信息和数据信息五大类信息;主要设计采用将信息卡片化,存储为一个个json字符串文档,采用主从推送模型实现观察者模式,便于信息中心化;主要技术采用MongoDB作为后端信息数据的中心存储,基于FastAPI实现的http服务使得该工具提供python-sdk的同时也与语言无关。
  	+ 设计架构图
  	+ ![FicheUML](/static/FicheUML.png)
  + 存储管理:[Cask](https://github.com/redblue0216/Cask)
  	+ 设计说明
  	+ cask是一个存储管理工具,主要功能包括项目本地打包,远端存储管理两大功能,主要设计仿制wheel文件格式,远端存储采用MinIO技术。
  	+ 设计架构图
  	+ ![CaskUML](/static/CaskUML.png)
  + 调度管理:[Liquid](https://github.com/redblue0216/Liquid)
  	+ 设计说明
  	+ liquid是一个pipeline工具,主要功能提供算法应用快捷组织功能,主要技术使用基于pluggy的hook技术。
  	+ 设计架构图
  	+ ![LiquidUML](/static/LiquidUML.png)
  + 日志管理:[Trajectory](https://github.com/redblue0216/Trajectory)
  	+ 设计说明
  	+ trajectory是一个日志管理工具,主要功能提供日志统一集中管理功能,主要技术基于logging提供一个mongodb的日志转发器,包括日志过滤、日志格式化功能。
  	+ 设计架构图
  	+ ![TrajectoryUML](/static/TrajectoryUML.png)
  + 数据通道:[DaShare](https://github.com/redblue0216/DaShare)
  	+ 设计说明
  	+ DaShare是一个数据服务接口包,主要功能是为底层数据向外提供了一个接口服务,可实现用户权限验证和流量限制。DaShare采用Client-Server架构设计,服务端使用HTTP协议构建数据服务的OpenAPI,暂时采用GET-method,客户端封装为python-sdk,提供python数据接口功能;用户权限采用token机制。
  	+ 设计架构图
  	+ ![DaShareUML](/static/DaShareUML.png)
  + 特征管理:[Atom](https://github.com/redblue0216/Atom)
  	+ 设计说明
  	+ Atom是一种特征管理工具,以数据和算子作为基本概念,数据为基础数据用于训练特征和构建特征;算子为基于固定一个或多个数据集进行新特征生产的流程,可以是一个简单直接计算函数,也可以是一个复杂的算法模型,还可以是算法模型和直接计算相结合的组合体。atom的特色是对由数据衍生的算子进行了数据关联、统一管理,并直接提供了服务功能,使得每个算子可以直接实现在线实时计算特征,为主体算法模型服务,提高模型精度。
  	+ 设计架构图
  	+ ![AtomUML](/static/AtomUML.png)








            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/redblue0216/Drip",
    "name": "shihua-drip",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9.12",
    "maintainer_email": "",
    "keywords": "",
    "author": "shihua",
    "author_email": "15021408795@163.com",
    "download_url": "https://files.pythonhosted.org/packages/56/c6/69d7b501d2fb54b600c669e5bb1b7f0e51efaaa4e8c83cfbb86ba6da1c0a/shihua-drip-0.1.tar.gz",
    "platform": null,
    "description": "# Drip-\u7b97\u6cd5\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u5de5\u5177\n\n![shields_version](/static/shields_version.svg)  ![shields_license](/static/shields_license.svg)  ![shields_author](/static/shields_author.svg)  ![shiedls_python](/static/shields_python.svg) \n![dripsymbol](/static/dripsymbol.JPG)\n\n## \u4ecb\u7ecd\n+ Drip\u4ecb\u7ecd\n  + Drip\u8bbe\u8ba1\u8bf4\u660e\n  + Drip\u662f\u4e00\u4e2a\u8f7b\u91cf\u7684\u751f\u4ea7\u7ea7\u7b97\u6cd5\u5e73\u53f0\uff0c\u8986\u76d6\u4ece\u7b97\u6cd5\u5b9e\u9a8c\u3001\u7b97\u6cd5\u8fd0\u884c\u524d\u7ba1\u7406\u3001\u7b97\u6cd5\u8fd0\u884c\u65f6\u7ba1\u7406\u5230\u7b97\u6cd5\u8fd0\u884c\u540e\u7ba1\u7406\u7684\u5168\u751f\u547d\u5468\u671f\u3002**Drip\u7684\u6838\u5fc3\u6982\u5ff5\u5305\u62ec\u4fe1\u606f\u7ba1\u7406\u3001\u5b58\u50a8\u7ba1\u7406\u3001\u65e5\u5fd7\u7ba1\u7406\u3001\u8c03\u5ea6\u7ba1\u7406\u3001\u7279\u5f81\u7ba1\u7406\u3001\u6570\u636e\u901a\u9053\u548c\u63d2\u4ef6\u7ba1\u7406\u3002**\n  + Drip\u6bcf\u4e2a\u6838\u5fc3\u529f\u80fd\u90fd\u7531\u72ec\u7acb\u6a21\u5757\u652f\u6301\uff0c\u5b8c\u5168\u53ef\u5355\u72ec\u4f7f\u7528\u3002\n  + Drip\u8bbe\u8ba1\u67b6\u6784\u56fe\n  \t+ **\u903b\u8f91\u89c6\u56fe**\n  \t+ ![Drip\u67b6\u6784\u56fe](/static/Drip\u603b\u4f53\u67b6\u6784\u56fe.png)\n  \t+ **\u7269\u7406\u89c6\u56fe**\n  \t+ ![Drip\u7269\u7406\u89c6\u56fe](/static/Drip\u7269\u7406\u89c6\u56fe.png)\n  \t+ **\u5904\u7406\u89c6\u56fe**\n  \t+ ![Drip\u5904\u7406\u89c6\u56fe](/static/Drip\u5904\u7406\u89c6\u56fe.png)\n  \t+ **\u5f00\u53d1\u89c6\u56fe**\n  \t+ ![Drip\u5f00\u53d1\u89c6\u56fe](/static/Drip\u5f00\u53d1\u89c6\u56fe.png)\n\n## \u5b89\u88c5\n```bash\n$ pip install drip-0.1-xxxxxxxxxxxx.whl\n```\n\n## \u5feb\u901f\u6307\u5357\n+ \u9996\u5148\u4f7f\u7528dripctl\u547d\u4ee4\u884c\u5de5\u5177\u8fdb\u884c\u7ba1\u7406\u5458\u6ce8\u518c\u64cd\u4f5c\uff0c\u7136\u540e\u542f\u52a8webui\u540e\u53f0\u670d\u52a1\u3002\u53e6\u5916\uff0c\u540e\u7aef\u8be6\u7ec6\u914d\u7f6e\u5728drip_config.yaml\u4e2d\u3002\u4ee5\u4e0b\u662fdripctl\u547d\u4ee4\u884c\u793a\u4f8b\uff1a\n```bash \n$ dripctl create-admin\n\n$ dripctl start-webui\n```\n+ Drip\u7b97\u6cd5\u7814\u53d1\u6d41\u7a0b\n+ ![Drip\u7b97\u6cd5\u7814\u53d1\u6d41\u7a0b](/static/Drip\u6d41\u7a0b\u56fe.png)\n+ \u4ee5\u4e0b\u4e3aDripWebUI\u4f7f\u7528\u754c\u9762\n+ ![drip\u9996\u9875](/static/driphomepage.JPG)\n+ ![drip\u6570\u636e](/static/dripdatainfo.JPG)\n+ ![drip\u63d2\u4ef6](/static/dripttyd.JPG)\n\n## \u8bbe\u8ba1\n+ Drip\u6838\u5fc3\u6a21\u5757\u4ecb\u7ecd\n  + \u4fe1\u606f\u7ba1\u7406\uff1a[Fiche](https://github.com/redblue0216/Fiche)\n  \t+ \u8bbe\u8ba1\u8bf4\u660e\n  \t+ Fiche\u662f\u4e00\u4e2a\u5143\u6570\u636e\u4fe1\u606f\u7ba1\u7406\u5de5\u5177\uff0c\u4e3b\u8981\u529f\u80fd\u63d0\u4f9b\u5143\u6570\u636e\u4fe1\u606f\u7684\u7ba1\u7406\uff0c\u5305\u62ec\u7b97\u6cd5\u4fe1\u606f\u3001\u6a21\u578b\u4fe1\u606f\u3001\u53c2\u6570\u4fe1\u606f\u3001\u5e94\u7528\u4fe1\u606f\u548c\u6570\u636e\u4fe1\u606f\u4e94\u5927\u7c7b\u4fe1\u606f\uff1b\u4e3b\u8981\u8bbe\u8ba1\u91c7\u7528\u5c06\u4fe1\u606f\u5361\u7247\u5316\uff0c\u5b58\u50a8\u4e3a\u4e00\u4e2a\u4e2ajson\u5b57\u7b26\u4e32\u6587\u6863\uff0c\u91c7\u7528\u4e3b\u4ece\u63a8\u9001\u6a21\u578b\u5b9e\u73b0\u89c2\u5bdf\u8005\u6a21\u5f0f\uff0c\u4fbf\u4e8e\u4fe1\u606f\u4e2d\u5fc3\u5316\uff1b\u4e3b\u8981\u6280\u672f\u91c7\u7528MongoDB\u4f5c\u4e3a\u540e\u7aef\u4fe1\u606f\u6570\u636e\u7684\u4e2d\u5fc3\u5b58\u50a8\uff0c\u57fa\u4e8eFastAPI\u5b9e\u73b0\u7684http\u670d\u52a1\u4f7f\u5f97\u8be5\u5de5\u5177\u63d0\u4f9bpython-sdk\u7684\u540c\u65f6\u4e5f\u4e0e\u8bed\u8a00\u65e0\u5173\u3002\n  \t+ \u8bbe\u8ba1\u67b6\u6784\u56fe\n  \t+ ![FicheUML](/static/FicheUML.png)\n  + \u5b58\u50a8\u7ba1\u7406\uff1a[Cask](https://github.com/redblue0216/Cask)\n  \t+ \u8bbe\u8ba1\u8bf4\u660e\n  \t+ cask\u662f\u4e00\u4e2a\u5b58\u50a8\u7ba1\u7406\u5de5\u5177\uff0c\u4e3b\u8981\u529f\u80fd\u5305\u62ec\u9879\u76ee\u672c\u5730\u6253\u5305\uff0c\u8fdc\u7aef\u5b58\u50a8\u7ba1\u7406\u4e24\u5927\u529f\u80fd\uff0c\u4e3b\u8981\u8bbe\u8ba1\u4eff\u5236wheel\u6587\u4ef6\u683c\u5f0f\uff0c\u8fdc\u7aef\u5b58\u50a8\u91c7\u7528MinIO\u6280\u672f\u3002\n  \t+ \u8bbe\u8ba1\u67b6\u6784\u56fe\n  \t+ ![CaskUML](/static/CaskUML.png)\n  + \u8c03\u5ea6\u7ba1\u7406\uff1a[Liquid](https://github.com/redblue0216/Liquid)\n  \t+ \u8bbe\u8ba1\u8bf4\u660e\n  \t+ liquid\u662f\u4e00\u4e2apipeline\u5de5\u5177\uff0c\u4e3b\u8981\u529f\u80fd\u63d0\u4f9b\u7b97\u6cd5\u5e94\u7528\u5feb\u6377\u7ec4\u7ec7\u529f\u80fd\uff0c\u4e3b\u8981\u6280\u672f\u4f7f\u7528\u57fa\u4e8epluggy\u7684hook\u6280\u672f\u3002\n  \t+ \u8bbe\u8ba1\u67b6\u6784\u56fe\n  \t+ ![LiquidUML](/static/LiquidUML.png)\n  + \u65e5\u5fd7\u7ba1\u7406\uff1a[Trajectory](https://github.com/redblue0216/Trajectory)\n  \t+ \u8bbe\u8ba1\u8bf4\u660e\n  \t+ trajectory\u662f\u4e00\u4e2a\u65e5\u5fd7\u7ba1\u7406\u5de5\u5177\uff0c\u4e3b\u8981\u529f\u80fd\u63d0\u4f9b\u65e5\u5fd7\u7edf\u4e00\u96c6\u4e2d\u7ba1\u7406\u529f\u80fd\uff0c\u4e3b\u8981\u6280\u672f\u57fa\u4e8elogging\u63d0\u4f9b\u4e00\u4e2amongodb\u7684\u65e5\u5fd7\u8f6c\u53d1\u5668\uff0c\u5305\u62ec\u65e5\u5fd7\u8fc7\u6ee4\u3001\u65e5\u5fd7\u683c\u5f0f\u5316\u529f\u80fd\u3002\n  \t+ \u8bbe\u8ba1\u67b6\u6784\u56fe\n  \t+ ![TrajectoryUML](/static/TrajectoryUML.png)\n  + \u6570\u636e\u901a\u9053\uff1a[DaShare](https://github.com/redblue0216/DaShare)\n  \t+ \u8bbe\u8ba1\u8bf4\u660e\n  \t+ DaShare\u662f\u4e00\u4e2a\u6570\u636e\u670d\u52a1\u63a5\u53e3\u5305\uff0c\u4e3b\u8981\u529f\u80fd\u662f\u4e3a\u5e95\u5c42\u6570\u636e\u5411\u5916\u63d0\u4f9b\u4e86\u4e00\u4e2a\u63a5\u53e3\u670d\u52a1,\u53ef\u5b9e\u73b0\u7528\u6237\u6743\u9650\u9a8c\u8bc1\u548c\u6d41\u91cf\u9650\u5236\u3002DaShare\u91c7\u7528Client-Server\u67b6\u6784\u8bbe\u8ba1\uff0c\u670d\u52a1\u7aef\u4f7f\u7528HTTP\u534f\u8bae\u6784\u5efa\u6570\u636e\u670d\u52a1\u7684OpenAPI,\u6682\u65f6\u91c7\u7528GET-method,\u5ba2\u6237\u7aef\u5c01\u88c5\u4e3apython-sdk,\u63d0\u4f9bpython\u6570\u636e\u63a5\u53e3\u529f\u80fd\uff1b\u7528\u6237\u6743\u9650\u91c7\u7528token\u673a\u5236\u3002\n  \t+ \u8bbe\u8ba1\u67b6\u6784\u56fe\n  \t+ ![DaShareUML](/static/DaShareUML.png)\n  + \u7279\u5f81\u7ba1\u7406\uff1a[Atom](https://github.com/redblue0216/Atom)\n  \t+ \u8bbe\u8ba1\u8bf4\u660e\n  \t+ Atom\u662f\u4e00\u79cd\u7279\u5f81\u7ba1\u7406\u5de5\u5177\uff0c\u4ee5\u6570\u636e\u548c\u7b97\u5b50\u4f5c\u4e3a\u57fa\u672c\u6982\u5ff5\uff0c\u6570\u636e\u4e3a\u57fa\u7840\u6570\u636e\u7528\u4e8e\u8bad\u7ec3\u7279\u5f81\u548c\u6784\u5efa\u7279\u5f81\uff1b\u7b97\u5b50\u4e3a\u57fa\u4e8e\u56fa\u5b9a\u4e00\u4e2a\u6216\u591a\u4e2a\u6570\u636e\u96c6\u8fdb\u884c\u65b0\u7279\u5f81\u751f\u4ea7\u7684\u6d41\u7a0b\uff0c\u53ef\u4ee5\u662f\u4e00\u4e2a\u7b80\u5355\u76f4\u63a5\u8ba1\u7b97\u51fd\u6570\uff0c\u4e5f\u53ef\u4ee5\u662f\u4e00\u4e2a\u590d\u6742\u7684\u7b97\u6cd5\u6a21\u578b\uff0c\u8fd8\u53ef\u4ee5\u662f\u7b97\u6cd5\u6a21\u578b\u548c\u76f4\u63a5\u8ba1\u7b97\u76f8\u7ed3\u5408\u7684\u7ec4\u5408\u4f53\u3002atom\u7684\u7279\u8272\u662f\u5bf9\u7531\u6570\u636e\u884d\u751f\u7684\u7b97\u5b50\u8fdb\u884c\u4e86\u6570\u636e\u5173\u8054\u3001\u7edf\u4e00\u7ba1\u7406\uff0c\u5e76\u76f4\u63a5\u63d0\u4f9b\u4e86\u670d\u52a1\u529f\u80fd\uff0c\u4f7f\u5f97\u6bcf\u4e2a\u7b97\u5b50\u53ef\u4ee5\u76f4\u63a5\u5b9e\u73b0\u5728\u7ebf\u5b9e\u65f6\u8ba1\u7b97\u7279\u5f81\uff0c\u4e3a\u4e3b\u4f53\u7b97\u6cd5\u6a21\u578b\u670d\u52a1\uff0c\u63d0\u9ad8\u6a21\u578b\u7cbe\u5ea6\u3002\n  \t+ \u8bbe\u8ba1\u67b6\u6784\u56fe\n  \t+ ![AtomUML](/static/AtomUML.png)\n\n\n\n\n\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Drip is a lightweight production level algorithm platform, covering the whole life cycle from algorithm experiment, algorithm pre run management, algorithm runtime management to algorithm post run management.",
    "version": "0.1",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "156e01de8443f5a436bc3000b598d28feb91b32fe0c8643d93013a7f2fb52f03",
                "md5": "15b4fc279bfad0ef89218f357f42a7a1",
                "sha256": "c8c5acf69e157dd514eb762350d1e060ac25a5caa87b0d225ebb6bf7765889c9"
            },
            "downloads": -1,
            "filename": "shihua_drip-0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "15b4fc279bfad0ef89218f357f42a7a1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9.12",
            "size": 108264,
            "upload_time": "2023-03-14T10:23:30",
            "upload_time_iso_8601": "2023-03-14T10:23:30.746443Z",
            "url": "https://files.pythonhosted.org/packages/15/6e/01de8443f5a436bc3000b598d28feb91b32fe0c8643d93013a7f2fb52f03/shihua_drip-0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "56c669d7b501d2fb54b600c669e5bb1b7f0e51efaaa4e8c83cfbb86ba6da1c0a",
                "md5": "1c56739adc2b88d6ef949da7d7324aab",
                "sha256": "2c0c24b1390c0250ebad776d83a0d92c8d6169d4e9de6d03e39ffb6ac92396f0"
            },
            "downloads": -1,
            "filename": "shihua-drip-0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "1c56739adc2b88d6ef949da7d7324aab",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9.12",
            "size": 104391,
            "upload_time": "2023-03-14T10:23:33",
            "upload_time_iso_8601": "2023-03-14T10:23:33.185493Z",
            "url": "https://files.pythonhosted.org/packages/56/c6/69d7b501d2fb54b600c669e5bb1b7f0e51efaaa4e8c83cfbb86ba6da1c0a/shihua-drip-0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-14 10:23:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "redblue0216",
    "github_project": "Drip",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "shihua-drip"
}
        
Elapsed time: 0.05423s