跳转到主要内容

Domino的Python包。

项目描述

一块一块地构建惊人的想法。

Docs DOI


create-workflow

目录


关于

Domino是一个开源的工作流管理平台,具有以下功能:

  • :desktop_computer:一个直观的图形用户界面,可方便地创建、编辑和监控任何类型的工作流,从数据处理到机器学习
  • :package:一种编写和发布功能组件的标准方式,遵循数据建模、文档和分发的好习惯
  • :gear:一个REST API,用于控制运行的Apache Airflow实例

在图形用户界面(GUI)中创建工作流程就像将组件拖放到画布上并连接它们一样简单。用户可以安排工作流程定期运行、在特定日期/时间运行或手动触发。监控页面以实时显示每个工作流程组件的状态,包括每次运行的日志和结果。

组件是可以被多个工作流程重复使用的功能单元。组件可以执行任何可以用Python编写的操作,并且可以直接从Github仓库安装和分发,用于Domino工作流程。

每个Domino工作流程对应一个Apache Airflow DAG,每个组件对应一个Airflow任务。Domino控制Airflow实例,负责执行、调度和监控工作流程(DAG)。

您可以将Domino视为拥有超级功能的Airflow。

  • :desktop_computer: 使用简单直观的图形界面进行拖放操作创建复杂的工作流程。
  • :package: 利用他人开发的组件,共享和重用您自己的组件。
  • :busts_in_silhouette: 以小组形式协作编辑和监控工作流程。
  • :chart_with_upwards_trend: 使用更清晰、更直观的图形用户界面查看工作流程结果,包括日志和包含图像和表格的丰富报告。
  • :minidisc: 同一工作流程中的任务共享存储。
  • :arrows_counterclockwise: 使用gitSync从Git仓库中同步DAG文件。
  • :wheel_of_dharma: 可扩展的、Kubernetes原生平台。
  • :battery: 由Apache Airflow提供一流的工作流程调度和监控功能。

快速开始

请参阅[快速入门指南](https://docs.domino-workflows.io/quickstart)。

Domino Python包可以通过pip安装。我们建议您在独立的Python环境中安装Domino。

pip install domino-py[cli]

然后,您可以使用Domino命令行界面轻松本地运行Domino平台(需要[Docker Compose V2](https://docs.docker.net.cn/compose/))。进入一个新的、空的目录并运行以下命令

domino platform run-compose

所有进程启动成功后,导航到localhost:3000以访问Domino前端服务。
注意:第一次运行平台时,可能需要几分钟来下载Docker镜像。

使用Docker Compose本地运行Domino平台对于开发和测试很有用。对于生产环境,我们建议您将Domino和Airflow部署到Kubernetes集群。有关其他部署模式,请参阅[文档](https://docs.domino-workflows.io/category/run-domino)。


图形用户界面

Domino前端服务是一个React应用程序,它提供了一个图形用户界面,可以轻松创建、编辑和监控工作流程。有关更多详细信息,请参阅[GUI文档](https://docs.domino-workflows.io/domino_components/domino_components_gui)。

访问认证 注册并登录以使用Domino平台。

signup and login

选择或创建工作区 选择现有工作区或创建新工作区。

create workspace

安装组件仓库 直接从Github仓库安装组件包到您的Domino工作区,并在您的工流程中使用它们。

install pieces

创建工作流程 通过将组件拖放到画布上并连接它们来创建工作流程。

create-workflow

编辑组件 通过更改输入来编辑组件。上游组件的输出自动作为下游组件的输入可用。组件可以传递任何类型的数据,从简单的字符串到大型文件,所有这些数据都由Domino共享存储系统自动处理。

edit pieces

配置工作流程 配置和安排工作流程以定期运行、在特定日期/时间运行或手动触发。

schedule workflows

监控工作流程 实时监控工作流程,包括每个组件的状态、每次运行的日志和结果。

run-pieces7


组件

Pieces

组件是Domino的秘方,它们是可以被多个工作流程分发和重复使用的功能单元。Domino组件之所以特别,是因为它们

  • :snake: 可以执行任何用Python编写的操作,包括重型(例如机器学习)和轻型(例如发送电子邮件)任务
  • :traffic_light: 输入、输出和秘密有良好的数据模型定义
  • :包:在自包含和隔离的执行环境中运行(Docker容器)
  • :齿轮:不可变,保证工作流的可重复性
  • :章鱼猫:组织在git仓库中,便于打包、分发和安装
  • :书签标签:版本控制得当,经过测试并具有文档
  • :闪电:即插即用且通用,可以轻松融入任何工作流程

创建和分享您自己的组件非常简单

  1. 将您的Python函数作为组件编写
  2. 定义数据类型、依赖项、元数据和测试
  3. 在git仓库(公共或私有)中发布

组件仓库模板提供了创建组件的基本结构、示例文件和自动操作,以提供无缝的组件创建体验。

组件文档中了解更多信息。


REST API

后端服务是一个REST API,用于控制正在运行的Apache Airflow实例。它负责

  • 执行前端服务请求的操作
  • 与Airflow实例交互,包括触发、创建、编辑和删除工作流程(DAG)
  • 与Domino数据库交互

REST服务使用Python编写,使用FastAPI框架。在REST文档中了解更多。


鸣谢

Domino由Tauffer Consulting开发和维护。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

domino_py-0.9.4.tar.gz (74.8 kB 查看哈希值

上传时间:

构建分发

domino_py-0.9.4-py3-none-any.whl (89.1 kB 查看哈希值

上传时间: Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面