Week 2 – Blog Post

Published: 06/14/2021

What Have I Been Working On: This week, I’ve been primarily working on refactoring existing MNE-Python code in their connectivity submodule into the new “mne-connectivity” repository. In order to simplify the code changes, I have kept everything in terms of the API and examples the same name without changing any real code functionality. Instead, this week is dedicated to setting up the repository successfully. Thus, I have been working on setting up the documentation via sphinx, and setting up the continuous integration (CI) and unit tests. What Have I Been Struggling With: For the CI, I have ported over the code from an existing MNE repository, “mne-realtime”. This has multiple CI pipelines, such as Azure, Github Actions and CircleCI. However, getting the CI to properly work is a bit tedious since each pipeline run requires a Github push. Thus, a major time investment is on perusing over CI code line-by-line to either i) get rid of any unnecessary procedures that only mne-realtime needed, or ii) adjust the pipeline to be mne-connectivity specific. What Solutions Have I Found: I have also been looking at other MNE repositories, such as “mne-bids”, which has a very simple CI and documentation setup. Thus, to directly port the CI and documentation code into “mne-connectivity” is a bit easier. I have been using bits and pieces of code from “mne-bids” in order to i) get the unit tests working locally, ii) simplify the documentation setup via sphinx and then iii) simplifying the CI workflows.