The coding period for GSoC’18 starts on 14th of May. I am highly excited to work on a full-fledged open source project.
I received immense support from the assigned GSoC mentors and the community in the community bonding period. We discussed on various CLI parsing modules along with their advantages and disadvantages, the missing dependencies for GNU Radio “python3” branch in my local machine, templating engines, the workflow for GSoC project, and some general queries.
In the past week, I have gone through the codebase of modtool in the “python3” branch, read about the differences, advantages, and disadvantages of Click over Argparse, read about some of the python API creation frameworks, worked on installing the missing dependencies for the “python3” branch and cherry-picked some of the commits from “next” to my “modtool” branch (still some work to do).
In the beginning, I was missing some of the dependencies for the “python3” branch, including Qt5 and PyQt5 (System detail: Debian 4.14.13-1kali1), which were subsequently installed. But, I am still facing difficulty in compiling the branch as some errors for out-of-scope functional definitions are raised while compiling it. I have opened a Github issue in this regard and I am really looking forward to an explanation.
Tasks for Week 1
- Move the CLI parsing to Click: We’ll be shifting to Click for CLI parsing as Click is based on decorators which makes it look much cleaner than argparse. Moreover, Click is fully nestable and works the same with python2 and python3. The basic motivation behind using Click is to ease the process of Plug-in development. This work will lead to no functionality change in the current modtool.
- Read about various plug-in managers: I will read about the various existing plug-in managers to have a thorough insight and, if required, use one of them.
- Start work on plug-in manager: I’ll start working on the plug-in manager.
- Link to the updated project with week 1 milestones.
- Link to the GitHub issue raised for compilation failure.
- Link for the differences between Docopt, Argparse, and Click.