河流骨架

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提供了大量的Quartz工作线程   来自SOAPException的java抛出超时异常   java通过REST web服务同步PostgreSQL过程调用   java Hibernate:在关联表中设置值   javaimapidlechanneladapterjavax。邮政AuthenticationFailedException:[警报]同时连接太多   JavaApacheStorm:stormkafkamonitor脚本引发异常   java将jar链接到战争   Matlab与Java的集成方法   安卓公司。谷歌。ads.AdView未能实例化java。lang.ClassNotFoundException:org。json。JSONException   “String forecastStr=mForecastAdapter.getItem(position);”行中出现java错误阳光工程   java如何将Mono中的列表属性作为流量进行操作?   java DecimalFormat类不必要地给出整数   java@IfProfileValue两个spring配置文件   java如何使用SwingWorker创建多线程?   java从扩展SwingWorker的内部类触发事件   java二叉树高度实现