Quickstart - developer#
This quickstart guide will get you quickly setup with a development environment so you can use and contribute to OpenGHG. The main repository for OpenGHG can be found on GitHub.
Setting up your computer#
You’ll need git and Python >= 3.9, so please make sure you have both installed before continuing further.
Clone OpenGHG#
First we’ll clone the repository and make sure we’re on the devel
branch. This makes sure we’re on the most up to date version of OpenGHG.
git clone https://github.com/openghg/openghg.git
cd openghg
git checkout devel
Next we’ll get a virtual environment setup using either pip
or conda
.
Environments#
Here we cover the creation of an environment and the installation of OpenGHG into it. Installation here means adding OpenGHG to the environment.
We’ll install it in developer mode so that any changes you make to the code will automatically be available when you run commands. Similarly, if you
run a git pull
on the devel
branch all changes made will be available to you straight away, without having to reinstall or update OpenGHG within
the environment.
pip
#
It is recommended that you develop OpenGHG in a Python
virtual environment.
Here we’ll create a new folder called envs
in our home directory and create
a new openghg_devel
environment in it.
mkdir -p ~/envs/openghg_devel
python -m venv ~/envs/openghg_devel
Virtual environments provide sandboxes which make it easier to develop and test code. They also allow you to install Python modules without interfering with other Python installations.
We activate our new environment using
source ~/envs/openghg_devel/bin/activate
We’ll first install and update some of the installation tools
pip install --upgrade pip wheel setuptools
Now, making sure we’re in the root of the OpenGHG repository we just cloned, install OpenGHG’s requirements and its developer requirements.
pip install -r requirements.txt -r requirements-dev.txt
Finally install OpenGHG itself. The -e
/ --editable
flag here tells pip
to install the OpenGHG repo in develop mode.
pip install -e .
Now OpenGHG is installed please move on to Configuring the object store.
conda
#
Making sure you’re in the openghg
repository folder run
conda env create -f environment-dev.yaml
Once conda
finishes its installation process you can activate the enironment
conda activate openghg_dev_env
Next install conda-build
which allows us to install packages in develop mode
conda install conda-build
And finally install OpenGHG
conda develop .
Now OpenGHG is installed we’ll move onto configuring the object store.
Configuration#
OpenGHG needs to know where to create the object store it uses to store data, it does this by reading a configuration file in your home
directory. As part of the setup process we need to create this configuration file using either the openghg.util.create_config
function
or the command line interface.
Python#
You can use the create_config function to help you make a config file. First import
In [1]: from openghg.util import create_config
In [2]: create_config()
OpenGHG configuration
---------------------
Enter path for object store (default /home/gareth/openghg_store):
INFO:openghg.util:Creating config at /home/gareth/.config/openghg/openghg.conf
INFO:openghg.util:Configuration written to /home/gareth/.config/openghg/openghg.conf
Here I left the path to the object store blank to use the default path in my home directory.
Command line#
You can also use the openghg
command line tool to get the configuration file setup.
openghg --quickstart
OpenGHG configuration
---------------------
Enter path for object store (default /home/gareth/openghg_store):
INFO:openghg.util:Creating config at /home/gareth/.config/openghg/openghg.conf
INFO:openghg.util:Configuration written to /home/gareth/.config/openghg/openghg.conf
A configuration file has been created and you’re ready to run OpenGHG. If you ever want to modify the configuration file
you can find it at ~/.config/openghg/openghg.conf
. My configuration file looks like this
user_id = "47363762-2963-4a2d-8afc-dejh05380f19"
[object_store]
local_store = "/home/gareth/openghg_store"
Jupyter#
If you want to use Jupyter notebooks to interact with OpenGHG, you can install jupyterlab
.
pip install jupyterlab
Then just run jupyter notebook
to get started.
What next?#
Now you’ve got OpenGHG setup please take a look at our tutorials section and if you’d like to start contributing to OpenGHG open an issue and submit a pull request!