{ "info": { "author": "Kenzo-Hugo Hillion and Herve Menager", "author_email": "kehillio@pasteur.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Topic :: Scientific/Engineering :: Bio-Informatics" ], "description": "# python-cwlgen\n\n[![Build Status](https://travis-ci.org/common-workflow-language/python-cwlgen.svg?branch=master)](https://travis-ci.org/common-workflow-language/python-cwlgen)\n[![codecov](https://codecov.io/gh/common-workflow-language/python-cwlgen/branch/master/graph/badge.svg)](https://codecov.io/gh/common-workflow-language/python-cwlgen)\n[![Documentation Status](https://readthedocs.org/projects/python-cwlgen/badge/?version=latest)](http://python-cwlgen.readthedocs.io/en/latest/?badge=latest)\n[![PyPI version](https://badge.fury.io/py/cwlgen.svg)](https://badge.fury.io/py/cwlgen)\n\nPython-cwlgen is a python library for the generation of CWL programmatically.\nIt supports the generation of CommandLineTool, Workflow and DockerRequirement.\nThe library works for both Python 2.7.12+ and 3.6.0.\n\n------------------------\n\n\n# Common Workflow Language\n\n[Common Workflow Language (CWL)](https://www.commonwl.org/v1.0/index.html) is a language to describe workflows. \nThe [user guide](http://www.commonwl.org/user_guide/01-introduction/index.html)\n gives a gentle explanation of what its goals are, but broadly:\n \n 1. Stop writing bash scripts for long complex jobs.\n 2. Take pipelines anywhere (portability).\n 3. Enforce reproducibility guidelines.\n \nThis python repository is a python wrapper for _most_ of the classes (work in progress), \nallowing you to build the structure of the workflow in Python and have this module generate and export CWL for you.\n\n**Nb:** This doesn't check the logic of Workflows or CommandLineTools for you. \n[CWLTool](https://github.com/common-workflow-language/cwltool) has a `--validate` mode that you can use.\n\n## Quick-start guide\n\nYou can install python-cwlgen through pip with the following command:\n\n```bash\npip install cwlgen\n```\n\n### How it works?\n\nThis repository contains a number of python classes that mirror the CWL specifications ([Workflow](https://www.commonwl.org/v1.0/Workflow.html)| \n[CommandLineTool](https://www.commonwl.org/v1.0/CommandLineTool.html)). In essence, each class's initializer has all \nof the properties it expects, which may be another object. The classes include the relevant docstrings to give you \ncontext of classes and their properties.\n\nThe `examples/` folder contains some simple examples, however in essence you simply initialize the class you're \ntrying to build. An initializer for a class has all of the properties it expects which may be another object.\n\n\n_Creating a CommandLineTool_\n```python\nimport cwlgen\n\ntool_object = cwlgen.CommandLineTool(tool_id=\"echo-tool\", base_command=\"echo\", label=None, doc=None,\n cwl_version=\"v1.0\", stdin=None, stderr=None, stdout=None, path=None)\ntool_object.inputs.append(\n cwlgen.CommandInputParameter(\"myParamId\", param_type=\"string\", label=None, secondary_files=None, param_format=None,\n streamable=None, doc=None, input_binding=None, default=None)\n)\n\n# to get the dictionary representation:\ndict_to_export = tool_object.get_dict()\n\n# to get the string representation (YAML)\nyaml_export = tool_object.export_string()\n\n# print to console\ntool_object.export()\n\n# print to file\nwith open(\"echotool.cwl\", \"w\") as f:\n tool_object.export(f)\n```\n\n## References\n\nCWL is developed by an informal, multi-vendor working group consisting of organizations and individuals \naiming to enable scientists to share data analysis workflows. \nThe [CWL project is on Github](https://github.com/common-workflow-language/common-workflow-language).", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "cwl", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "cwlgen", "package_url": "https://pypi.org/project/cwlgen/", "platform": "", "project_url": "https://pypi.org/project/cwlgen/", "project_urls": null, "release_url": "https://pypi.org/project/cwlgen/0.3.0/", "requires_dist": null, "requires_python": "", "summary": "Generation of CWL programmatically. Available types: Workflow, CommandLineTool and Requirements", "version": "0.3.0" }, "last_serial": 5491446, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3549295ae2b275ef573442c83310f3e2", "sha256": "82c3b68a2563cda3adab71fa2a2f5a6757b9203a78a81efcfccb4496df14abc6" }, "downloads": -1, "filename": "cwlgen-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3549295ae2b275ef573442c83310f3e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5622, "upload_time": "2017-04-24T15:53:35", "url": "https://files.pythonhosted.org/packages/b3/6e/69709a155708f34ae3f7ea7bf3cd447fd8536ec40cdb9cc4d99b61b28983/cwlgen-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a690d2a24fda1639d4496414e2ad935d", "sha256": "49383f7ad65a2961473de086010c0a67e331eb48f9d96fa4ca9724c348dcbc1d" }, "downloads": -1, "filename": "cwlgen-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a690d2a24fda1639d4496414e2ad935d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8464, "upload_time": "2017-05-11T15:23:01", "url": "https://files.pythonhosted.org/packages/6f/b0/24a2578480b668e4a158b4d2d6d9b1d5dc1dc412c5a5d47eb4af74a25e7e/cwlgen-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "ebaddccb7eaa86e59528d5b543ee78b2", "sha256": "0b472f29ca162757d79173c16ce2cbadfaeb99228a56f23651a5077be53d826b" }, "downloads": -1, "filename": "cwlgen-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ebaddccb7eaa86e59528d5b543ee78b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8502, "upload_time": "2017-05-12T14:59:06", "url": "https://files.pythonhosted.org/packages/05/e6/63d9d81dfe60259227c64ed7aea08e21ad6131b3fcca0157c0c11802e1cb/cwlgen-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "ef9600a2df1778e24d135c91af0254ea", "sha256": "09a7982ef3c0eafc2f3a8d35f7d655fc5343435619d9f663e257d1c44738b227" }, "downloads": -1, "filename": "cwlgen-0.2.2.tar.gz", "has_sig": false, "md5_digest": "ef9600a2df1778e24d135c91af0254ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8792, "upload_time": "2017-08-02T14:49:38", "url": "https://files.pythonhosted.org/packages/fd/ec/539989f8feb7dde597e93bd9c997832ad188dd60389d7e43d187ed810bbc/cwlgen-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "309c4e2b01ac1fe5db311949897d861e", "sha256": "1a46b376f733236be8ab9d8c89ce6aceba5eeb6d2af21a774716c92d42ca2391" }, "downloads": -1, "filename": "cwlgen-0.2.3.tar.gz", "has_sig": false, "md5_digest": "309c4e2b01ac1fe5db311949897d861e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8980, "upload_time": "2017-08-10T14:31:03", "url": "https://files.pythonhosted.org/packages/a9/85/1ed7593d68a36bd41e3603eeeb99cb45ab6a6211aad2e7f33655d863ff98/cwlgen-0.2.3.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "39ce03d08b235d31231d765f98c2e387", "sha256": "600aec0f818637017debb6240b519717c28b90ded7258d00e16f90d554ef5684" }, "downloads": -1, "filename": "cwlgen-0.2.6.tar.gz", "has_sig": false, "md5_digest": "39ce03d08b235d31231d765f98c2e387", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8985, "upload_time": "2017-10-26T09:25:32", "url": "https://files.pythonhosted.org/packages/15/26/2b9b14941cd95c409449696df5eeff8c36368e46358794265af804c73704/cwlgen-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "363737ff23b8da4a68528e2d603c9640", "sha256": "d3af1579d740b44f14ee1c5d97c2393dffd4a202a1262eb1192a121964d415e2" }, "downloads": -1, "filename": "cwlgen-0.2.7.tar.gz", "has_sig": false, "md5_digest": "363737ff23b8da4a68528e2d603c9640", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11333, "upload_time": "2018-04-30T17:23:31", "url": "https://files.pythonhosted.org/packages/b7/70/6062c074c58eacea97ecbcf03150917099f3fb68c7f05a4f3205d384e0bd/cwlgen-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "3bc681bc51bd460f6c17c2fa537e6b20", "sha256": "1a04280f840aa1a9452d68c90e59529b3d12894ec5a2d9b070da19d2ffcd26e8" }, "downloads": -1, "filename": "cwlgen-0.2.8.tar.gz", "has_sig": false, "md5_digest": "3bc681bc51bd460f6c17c2fa537e6b20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11395, "upload_time": "2018-05-09T14:18:20", "url": "https://files.pythonhosted.org/packages/77/68/4cba40b7815cd5ee6ab8fb41940d61c1d1bf967bf4ba42a5a028d5253d7f/cwlgen-0.2.8.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "4d5e2712a7ee1c8fff76c5162aa2daee", "sha256": "3d0eaf8f3e522a7ab54a302f3c8001fbab73052408c89aae49a7cae80d97bace" }, "downloads": -1, "filename": "cwlgen-0.3.0.tar.gz", "has_sig": false, "md5_digest": "4d5e2712a7ee1c8fff76c5162aa2daee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25079, "upload_time": "2019-07-05T13:32:20", "url": "https://files.pythonhosted.org/packages/66/45/7f7fab356e9e6275d7970d1bb2acc5237faf80666d060caa4e99a07374eb/cwlgen-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4d5e2712a7ee1c8fff76c5162aa2daee", "sha256": "3d0eaf8f3e522a7ab54a302f3c8001fbab73052408c89aae49a7cae80d97bace" }, "downloads": -1, "filename": "cwlgen-0.3.0.tar.gz", "has_sig": false, "md5_digest": "4d5e2712a7ee1c8fff76c5162aa2daee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25079, "upload_time": "2019-07-05T13:32:20", "url": "https://files.pythonhosted.org/packages/66/45/7f7fab356e9e6275d7970d1bb2acc5237faf80666d060caa4e99a07374eb/cwlgen-0.3.0.tar.gz" } ] }