Skip to content

Development

Prepare development environment

conda create -n network_analysis python=3.9
conda activate network_analysis
conda install -c conda-forge mamba   # this is optional, but makes everything install related much faster, if you don't use it, replace 'mamba' with 'conda' below
mamba install -c conda-forge -c dharpa kiara
mamba install -c conda-forge -c dharpa kiara_plugin.core_types kiara_plugin.tabular   # optional, adjust which plugin packages you depend on, those two are quite common

Using Python venv

Later, alligator.

Check out the source code

First, fork the kiara_plugin.network_analysis repository into your personal Github account.

Then, use the resulting url (in my case: https://github.com/makkus/kiara_modules.network_analysis.git) to clone the repository locally:

https://github.com/<YOUR_FORKED_GITHUB_ID>/kiara_plugin.network_analysis

Install the kiara plugin package into it

cd kiara_plugin.network_analysis
pip install -e '.[all_dev]'

Here we use the -e option for the pip install command. This installs the local folder as a package in development mode into the current environment. Development mode makes it so that if you change any of the files in this folder, the Python environment will pick it up automatically, and whenever you run anything in this environment the latest version of your code/files are used.

We also install a few additional requirements (the [all_dev] part in the command above) that are not strictly necessary for kiara itself, or this package, but help with various development-related tasks.

Install some pre-commit check tooling (optional)

This step is optional, but helps with keeping the code clean and CI from failing. By installing pre-commit hooks like here, whenever you do a git commit in this repo, a series of checks and cleanup tasks are run, until everything is in a state that will hopefully make Github Actions not complain when you push your changes.

pre-commit install
pre-commit install --hook-type commit-msg

In addition to some Python-specific checks and cleanup tasks, this will also check your commit message so it's in line with the suggested format: https://www.conventionalcommits.org/en/v1.0.0/

Run kiara

To check if everything works as expected and you can start adding/changing code in this repository, run any kiara command:

kiara operation list -t network_analysis

If everything is set up correctly, the output of this command should contain a few operations that are implemented in this repository.