{"id":13296971,"url":"https://github.com/aCLImatise/CliHelpParser","last_synced_at":"2025-03-10T09:32:57.466Z","repository":{"id":54559947,"uuid":"172440044","full_name":"aCLImatise/CliHelpParser","owner":"aCLImatise","description":"Reads the output from CLI help commands, and generates machine readable schemas (CWL etc)","archived":false,"fork":false,"pushed_at":"2021-02-14T15:00:22.000Z","size":1217,"stargazers_count":14,"open_issues_count":22,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-04T08:36:26.228Z","etag":null,"topics":["bioinformatics","cli","cwl","parser","pipeline","wdl","workflow"],"latest_commit_sha":null,"homepage":"https://aclimatise.github.io/CliHelpParser/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aCLImatise.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-25T05:27:43.000Z","updated_at":"2021-12-23T10:37:54.000Z","dependencies_parsed_at":"2022-08-13T19:40:34.127Z","dependency_job_id":null,"html_url":"https://github.com/aCLImatise/CliHelpParser","commit_stats":null,"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aCLImatise%2FCliHelpParser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aCLImatise%2FCliHelpParser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aCLImatise%2FCliHelpParser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aCLImatise%2FCliHelpParser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aCLImatise","download_url":"https://codeload.github.com/aCLImatise/CliHelpParser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221164321,"owners_count":16767307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioinformatics","cli","cwl","parser","pipeline","wdl","workflow"],"created_at":"2024-07-29T17:21:20.646Z","updated_at":"2024-10-23T06:30:54.053Z","avatar_url":"https://github.com/aCLImatise.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"aCLImatise\n***********\n|DOI|\n\n.. |DOI| image:: https://zenodo.org/badge/DOI/10.1093/bioinformatics/btaa1033.svg\n   :target: https://doi.org/10.1093/bioinformatics/btaa1033\n\nFor the full documentation, refer to the `Github Pages Website\n\u003chttps://aclimatise.github.io/CliHelpParser/\u003e`_.\n\n======================================================================\n\naCLImatise is a Python library and command-line utility for parsing the help output\nof a command-line tool and then outputting a description of the tool in a more\nstructured format, for example a\n`Common Workflow Language tool definition \u003chttps://www.commonwl.org/v1.1/CommandLineTool.html\u003e`_.\n\nCurrently aCLImatise supports both `CWL \u003chttps://www.commonwl.org/\u003e`_ and\n`WDL \u003chttps://openwdl.org/\u003e`_ outputs, but other formats will be considered in the future, especially pull\nrequests to support them.\n\nPlease also refer to `The aCLImatise Base Camp \u003chttps://aclimatise.github.io/BaseCamp/\u003e`_, which is a database of pre-computed tool definitions\ngenerated by the aCLImatise parser. Most bioinformatics tools have a tool definition already generated in the Base Camp,\nso you may not need to run aCLImatise directly.\n\naCLImatise is now published in the journal *Bioinformatics*. You can read the application note here: https://doi.org/10.1093/bioinformatics/btaa1033.\nTo cite aCLImatise, please use the citation generator provided by the journal.\n\nExample\n-------\n\nLets say you want to create a CWL workflow containing the common Unix ``wc`` (word count)\nutility. Running ``wc --help`` returns:\n\n.. code-block::\n\n   Usage: wc [OPTION]... [FILE]...\n     or: wc [OPTION]... --files0-from=F\n   Print newline, word, and byte counts for each FILE, and a total line if\n   more than one FILE is specified.  A word is a non-zero-length sequence of\n   characters delimited by white space.\n\n   With no FILE, or when FILE is -, read standard input.\n\n   The options below may be used to select which counts are printed, always in\n   the following order: newline, word, character, byte, maximum line length.\n     -c, --bytes            print the byte counts\n     -m, --chars            print the character counts\n     -l, --lines            print the newline counts\n         --files0-from=F    read input from the files specified by\n                              NUL-terminated names in file F;\n                              If F is - then read names from standard input\n     -L, --max-line-length  print the maximum display width\n     -w, --words            print the word counts\n         --help display this help and exit\n         --version output version information and exit\n\n   GNU coreutils online help: \u003chttp://www.gnu.org/software/coreutils/\u003e\n   Full documentation at: \u003chttp://www.gnu.org/software/coreutils/wc\u003e\n   or available locally via: info '(coreutils) wc invocation'\n\nIf you run ``aclimatise explore wc``, which means \"parse the wc command and all subcommands\",\nyou'll end up with the following files in your current directory:\n\n* ``wc.cwl``\n* ``wc.wdl``\n* ``wc.yml``\n\nThese are representations of the command ``wc`` in 3 different formats. If you look at ``wc.wdl``, you'll see that it\ncontains a WDL-compatible tool definition for ``wc``:\n\n.. code-block:: text\n\n    version 1.0\n    task Wc {\n      input {\n        Boolean bytes\n        Boolean chars\n        Boolean lines\n        String files__from\n        Boolean max_line_length\n        Boolean words\n      }\n      command \u003c\u003c\u003c\n        wc \\\n          ~{true=\"--bytes\" false=\"\" bytes} \\\n          ~{true=\"--chars\" false=\"\" chars} \\\n          ~{true=\"--lines\" false=\"\" lines} \\\n          ~{if defined(files__from) then (\"--files0-from \" +  '\"' + files__from + '\"') else \"\"} \\\n          ~{true=\"--max-line-length\" false=\"\" max_line_length} \\\n          ~{true=\"--words\" false=\"\" words}\n      \u003e\u003e\u003e\n    }\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FaCLImatise%2FCliHelpParser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FaCLImatise%2FCliHelpParser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FaCLImatise%2FCliHelpParser/lists"}