I am happy to announce CWL reference runner, cwltool now supports Python 3. Also, with this PR merged, we will very soon be supporting MS Windows, courtesy to Kapil Kumar and Micheal Crusoe.


There were a lot of misc tasks I covered this week. I’m gonna quickly go over them:

  • Python 3: Added py3 tests to tox and turned on travis CI; PR: cwltool/pull/464
  • Apache Avro solution that works: Utilising the convinence of open source, we ended up forking avro repo and did minimal changes to make it work with our Python 3 implementation. There is a PR: avro/pull/235 and discussion pending which tries to get these changes merged upstream.
  • Upgrade mypy to v0.520: New version of mypy was released last week and I thought it was a good time to make PR to support it, given the hosts of improvements each new mypy release brings. PRs: #121 and #461
  • Upgrading CWL Test: We use CWL Test to run the conformace test suite when building cwltool PRs. For integrating Python 3 conformace tests on Jenkins, I made a quick PR to do minimal changes and make CWL Test Python 3 compatible. PR: cwltest/pull/20
  • Using io.open instead of builtin open(): This ensures more consistant behaviour in file handling across py 2&3. Related commit

I still have more than a month left in my GSoC coding period. I will mostly be working on clearing up issues on GitHub in the remaining time period. This sounds vague and that’s why I have created an issue to track the issues I am working on and my progress regarding the same.

ToDo next week: Solve a few impactful issues :bowtie: