GSoC Standalone GRC : week-09

By Rahul Balaji | August 8, 2023

Hello,

We are on week 9 of the project for standalone GRC. There are quite a few updates that I would like to share about the work this week, so let’s dive in.

Debugging and refactoring code:

Picking up on the work from last week, I have made some changes to the code in platform.py, options.py and also with the .workflow.yml files and inspected them with debuggers to notice the flow of data and code to make sure they are being extracted.

The options block:

In options block, the workflow_params was changed to a chain-map that stored every parameters generated by reading the .workflow.yml files. With all the parameters of each .workflow.yml file, we can now switch parameters on demand when the workflow switches.It will essentially allow us to change the parameters based on workflow chosen once init runs.

Changes in platform.py and workflow manager:

Some changes were made in the platform.py file and also in workflow manager, mainly bugfixes, which allowed the code to properly retrieve the data.

We created a new class called workflow as discussed on previous post, where information from workflow manager will be stored into an instance of this simple class that will store the information. This instance will be used by all the other files.

class workflow():
	def __init__(self):
		self.workflow_labels = [],
		self.workflow_ids = [],
		self.docs = {},
		self.param_list = {},
		self.flags = {},

Workflow manager is also updated accordingly to pass the information read.

What’s next?

The next few goals for the week are to:

  1. solve the issue of shadowing in parameters in options.py.
  2. override the functions rewrite and import_data in Block.py.
  3. we need to pull out all the parameters and make it visible to import_data.

That brings us to the end of updates for week 9. The code repository for the project can be found here.