Skip to article frontmatterSkip to article content

June 2021

Welcome to the June 2021 OpenSARlab Upgrade!

Changes:

Conda Environments

What is conda and what are conda environments?

Conda is an open-source package and environment manager. It identifies and attempts to handle dependency related issues when installing multiple software packages. Users create conda environments, in which multiple software packages may be installed. This allows a user to setup a variety of environments, each containing an assortment of software suited to a particular use-case. If a user needs to install software that would conflict with a previously installed package, they can create a new environment in which to install it and avoid the conflict. They can then switch between environments to handle various use-cases.

How did OpenSARlab use conda previously?

OpenSARlab previously had conda installed but it was only used as a package manager. Conda was not initialized.

What problems did this cause?

What has changed?

What will happen if I don’t create any new environments?

You will encounter environment warnings in the notebooks. You will not have access to the software needed to run the notebooks, which will trigger errors (ModuleNotFoundError).

I don’t want to wait for the notebooks to yell at me and give me environment warnings. How can I create the environments I’d like right now?

Good choice! Head over to Create_OSL_Conda_Environments.ipynb and run the notebook. You will be prompted to select an environment from a list of options. Rerun the notebook for every environment you wish to add.

nbgitpuller Patch

What is nbgitpuller?

nbgitpuller performs automatic merging of git repositories in a class-like setting. It handles merging in situations where instructor provided files may be edited both by students and/or the instructor. Its goal is to pull in an instructor’s changes while preserving any edits a student has made. Where a conflict exists, it saves the student altered file with a timestamp appended to the filename and pulls in the instructor update.

What was wrong with nbgitpuller?

nbgitpuller did not successfully handle all scenarios encountered in OpenSARlab. When it failed, users were locked out of their accounts. They had to login using a purpose-built profile that would skip the nbgitpuller. They could then identify and manually rectify the git state that caused the nbgitpuller to fail.

How was this issue addressed?

We have populated user accounts with an altered version of nbgitpuller/pull.py

Installed jupyter-resource-usage

What is jupyter-resource-usage?

jupyter-resource-usage is an extension that displays how much memory a notebook server is using. The information is displayed at the top-right of every running Jupyter Notebook. It indicates the total memory used by all running notebooks, kernels, terminals, etc.

Added profile identifier

The name of the current profile now appears to the left of the “Logout” button on the home page.