python的fork cwlgen以编程方式生成cwl。可用类型:命令行工具、工作流和需求

illusional.cwlgen的Python项目详细描述


python cwlgen

(来自原始存储库)

Build StatuscodecovDocumentation StatusPyPI version

python cwlgen是一个用于以编程方式生成cwl的python库。 它支持命令行工具、工作流和DockerRequirement的生成。 该库适用于Python2.7.12+和3.6.0。


我使用这个存储库是为了在没有 过分担心正确的礼仪。我已经并将继续提交合并请求 回到original repository

Build StatuscodecovPyPI version

通用工作流语言

Common Workflow Language (CWL)是一种描述工作流的方法, 以及它可能使用的任何工具(软件)。这是user guide 对其目标是什么以及如何实现这些目标给出一个温和(更好)的解释,但范围很广:

  1. 停止为长时间复杂的作业编写bash脚本。
  2. 把管道带到任何地方(可移植性)。
  3. 尝试实施再现性指南。

这个python存储库只是most类(正在工作)的python包装器, 允许您用python构建工作流的结构,并让这个模块为您生成和导出cwl。

nb:这不会对您的工作流程或命令行工具进行健全性检查或质量检查,请使用 CWLToolWOMTool表示。

快速入门指南

这是通过PIP提供的!

pip install illusional.cwlgen

它是怎么工作的?

cwl规范有一个非常接近的副本(Workflow)| CommandLineTool),其中python类映射cwl规范。 这个存储库还包含一些docstring,为您提供类及其属性的上下文。

我试图包含到类文档的直接链接,但是这并不总是可能的。

examples/文件夹中有一些小例子,但是对于您需要的任何类,您只需初始化 例如:

创建命令行工具

# if using gitsubmodules, you can use the following import statementimportcwlgenascwltool_object=cwl.CommandLineTool(cwltool_id="echo-tool",base_command="echo",label=None,doc=None,cwl_version="v1.0",stdin=None,stderr=None,stdout=None,path=None)tool_object.inputs.append(cwl.CommandInputParameter("myParamId",label=None,secondary_files=None,param_format=None,streamable=None,doc=None,input_binding=None,default=None,param_type=None))# fill in the fields as required# to get the dictionary representation:dict_to_export=tool_object.get_dict()# dump using a yaml exporteryaml.dump(dict_to_export)

所有的类都应该以类似的方式工作。我已经从fork中删除了literal表示 目前不想使用ruamel。否则就提出问题,我会调查的。

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

推荐PyPI第三方库


热门话题
共享linux web服务器(JustHost)上的java java虚拟机   java如何从@ComponentScan包获取接口列表   java发送系统。出来打印到文件中   java如何在SWT表上绘制选择框?   java如何验证在LinkedList中创建的对象的某些元素   java无法读取url中打开的内容pdf   jaxb最基本的分布式Java我应该使用什么通信方法?   java如何从当前用户获取角色?   Java中的日期列表增量方法   printwriter Java:PrintStream意外自动刷新   java onPostExecute被调用两次并显示两次结果   java如何在subversion中使用maven scm:add命令在新目录中添加文件?   java通过Spring数据JPA为子列表发出子条件请求   java如何将自定义Antlr输出路径添加到Gradle中的主源集中?