This tool can potentially be used as a amalgimation of all the monitoring structures in place for science and software at the Green Bank Observatory. Used as a tool to convey the current or future monitoring efforts to ensure the telescope is running and, impotantly, running correctly.
WOAH requires Python 3.11+. To install from github without creating a separate virtual environment:
$ git clone [email protected]:GreenBankObservatory/GBOmonitoring.git
$ cd GBOmonitoring
$ pip install -e .
If you wish to install using a virtual environment, which we strongly recommend if you plan to contribute to the code, see Development.
If you find a bug or something you think is in error, please report it on the github issue tracker. (You must have a Github account to submit an issue)
Here are the steps if you want to develop code for WOAH. We use hatch to manage the build environment. The usual caveats apply how you set up your Python development environment.
- Clone the repo and install hatch.
$ git clone [email protected]:GreenBankObservatory/GBOmonitoring.git
$ cd GBOmonitoring
$ pip install hatch
- Hatch will default to using the system Python if there's no
HATCH_PYTHON
environment variable set. To use a specific version of Python, add the following line to your~/.bash_profile
:
export HATCH_PYTHON=/path/to/bin/python
Then source the new profile to apply the changes.
$ source ~/.bash_profile
- Create and activate a virtual environment with hatch and install the packages required for development.
The virtual environment will be created the first time; subsequent invoking
hatch shell
will simply load the created environment.cdi
$ hatch shell
(woah) $ pip install -r requirements.txt
- Build and install the package
(woah) $ hatch build
(woah) $ pip install -e .
- You can exit this environment (which effectively had started a new shell) just exit:
(woah) $ exit
- Each time when you come back in this directory without being in this virtual environment, you'll need to load the virtual environment
$ hatch shell
Notice you can ONLY do that from this directory
We use pytest
for unit and integration testing. From the top-level GBOmonitoring directory, run:
$ pytest