On this week I have updated argparse2cwl taking into account latest CWL upgrades.

Added an ability to generate tools with a new CWL syntax denoted by the map<> syntax. Example: inputs contains a list of items, each with an id. Now one can specify a mapping of that identifier by passing --map_ids option along with --generate_cwl_tool. So,

inputs:
 - id: one
   type: string
   doc: First input parameter
 - id: two
   type: int
   doc: Second input parameter

will become

inputs:
 one:
  type: string
  doc: First input parameter
 two:
  type: int
  doc: Second input parameter

Pull request

Regarding cwl2argparse, I have added store_true/false actions, choices argument, and also made available CWL-to-Python conversion with mapped ids. The source code is available here.

The next week I start working on extending argparse2cwl functionality to a more generic cmdline2cwl tool by making available to generate CWL tools from programs which use click or optparse as their argument parser. As it was shown in a short statistics, it is also an actual task.