This week was dedicated to covering the rest of the remaining argparse API, finishing tests, cleaning up the code, writing documentation. The resulting commits are appended to the previous pull request. Briefly:

  • Covered parents, prefix-chars option, _StoreConstAction, File inputs, wrote tests.

  • Fixed various bugs.

  • Refactored the code and wrote comments.

  • Wrote a draft of release notes / user guide.

argparse2cwl project seems to be ready for release, after mentor review and comments I am going to present it to the community.

We have discussed plans for the future with my mentors @brainstorm and @mr-c and as a result of brainstorming several ideas for the second half of GSoC came up:

  1. pypi2cwl: forming CWL tool descriptions straight from a given PyPi repository with both command-line- and web-version.
  2. cwl2argparse: generating argparse code from CWL tool descriptions.
  3. cmdline2cwl: forming CWL tool descriptions from programs which use other argument parsers than argparse, preferably click and docopt/optparse. Unfortunately, I don’t see valuable practical opportunities to form CWL tools from programs which use pure sys.argv.

The next week I start working on pypi2cwl, also getting feedback from argparse2cwl and fixing possible problems there.