河流骨架

streamflow的Python项目详细描述


水流

Build Status

{

  • 允许在多容器环境中执行任务,以支持并发执行 多智能体生态系统中的多个通信任务。在
  • 放宽对单个共享数据空间的要求,以便允许混合工作流在 多云或混合云/HPC基础设施。在

使用流

PyPI

StreamFlow模块在PyPI上可用,因此您可以使用pip安装它。在

pip install streamflow

请注意,StreamFlow需要python >= 3.7。然后可以直接从CLI执行它

^{pr2}$

Docker

StreamFlow Docker映像可在Docker Hub上找到。为了跑步 StreaFlow图像中的工作流

  • 一个StreamFlow项目,包含一个streamflow.yml文件和所有其他相关的依赖项(例如CWL 工作流步骤的描述和执行环境的Helm描述)需要作为卷装入 在容器内,例如/streamflow/project文件夹中
  • 工作流输出(如果有)将存储在/streamflow/results文件夹中。因此,有必要安装 如一个卷这样的位置,以便保存结果
  • StreamFlow将在/tmp/streamflow位置保存所有临时文件。用于调试目的,或 为了提高大文件情况下的I/O性能,还可以将这样的位置作为卷装载
  • 容器streamflow.yml文件的路径必须是 作为参数传递给Docker容器

下面的脚本给出了一个在Docker容器中执行流的示例

docker run -d \
    --mount type=bind,source="$(pwd)"/my-project,target=/streamflow/project \
    --mount type=bind,source="$(pwd)"/results,target=/streamflow/results \
    --mount type=bind,source="$(pwd)"/tmp,target=/tmp/streamflow \
    alphaunito/streamflow \
    /streamflow/project/streamflow.yml
库伯内特斯

也可以将StreamFlow容器作为JobKubernetes中执行。 在本例中,StreamFlow能够通过 ServiceAccount凭据。为此,必须将inCluster选项设置为truestreamflow.yml文件上的相关模块

models:helm-model:type:helmconfig:inCluster:true...

StreamFlow的Helm模板位于helm/chart文件夹中。在

请注意,如果RBAC在 Kubernetes集群,必须将一个适当的RoleBinding附加到ServiceAccount对象,以便 流化管理POD部署和任务执行的权限。在

促进水流

StreamFlow使用pipenv来保证确定性构建。 因此,管理依赖关系的推荐方法是使用pipenv命令。在

第一步,从GitHub获取StreamFlow

git clone git@github.com:alpha-unito/streamflow.git

然后可以使用pipenv命令安装所有需要的包

pip install --user pipenv
cd streamflow
pipenv install

最后,您可以在生成的虚拟环境中运行StreamFlow。为了让它起作用 需要将streamflow项目文件夹(由git clone命令生成的文件夹)添加到 PYTHONPATH列表

pipenv run python -m streamflow

StreamFlow依赖于PyPI和Docker Hub发行版的Travis CI。因此,为了发布 新版本的软件,您只需在version.py文件中增加版本号。在

溪流小组

Iacopo Colonnelliiacopo.colonnelli@unito.it(创建者和维护者)
芭芭拉坎塔卢波barbara.cantalupo@unito.it(维护人员)
Marco Aldinuccialdinuc@di.unito.it(维护人员)

Gaetano Saittagaetano.saitta@edu.unito.it(投稿人)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java何时可以运行。toString()是否有可能返回重复的字符串?   使用REST进行Java应用程序登录验证?   java测试onErrorResume()Spring Webflux   java设置一个单元格样式,使数字显示为百分比ApachePOI   java仅替换regex az09   java将字符串附加到文件   java Hibernate:如何在集合中查找对象   当独立客户端为Web服务实例化代理时,java WebSphere会生成ClassNotFoundException   java简单算法。我做不好   java我的代码有什么问题?我想用Android制作一个“cardflip”动画   java如何模拟Springbean及其自动连接的参数?   java在Android中将arraylist对象的某些参数显示到列表视图中   java setOnclickListener(此)错误   java自动连接未按类型连接bean   java如何禁止在Viewpager上滑动?   java代码检查每个if语句吗?   java NIO选择器OP_READ和OP_WRITE,关于处理它们的一些问题   java如何在不锁定文件的情况下获取文件大小   Oculus Rift的Java API?   java是一种选择。仍然需要fork来设置bootClasspath