...
Clone the Omnibus GitHub Repo
If you have git configured with SSH, run
git clone git@github.com:waterloo-rocketry/omnibus.git
If you don't have git configured with SSH (or you're not sure what that means), run
git clone https://github.com/waterloo-rocketry/omnibus.git
Enter the newly cloned Repo
cd omnibus
Optional, but highly recommend, create a Python Virtual Environment
First, you will need to install python’s
virtualenv
librarypip install virtualenv
Then you will need to create a virtual environment
python -m venv [Directory]
Activate the virtual environment
For osx/linux:
source [Directory]/bin/activate
For windows:
[Directory]\Scripts\activate
When you first run through these procedures, you should make sure your pip is up to date, especially is using a Virtual Environment
pip install --upgrade pip
Similarly, you should make sure you have wheel installed (especially if you just created a Virtual Environment)
pip install wheel
Now that you have your environment set up, you can install the dependencies needed to run omnibus
pip install -r requirements.txt
If you get a permissions error, try
pip install --user -r requirements.txt
instead
Afterwards, you can install the omnibus library locally. For links that explain what a local library is, refer to the core library section
pip install -e .
Don't forget the
.
! This allows the sources and sinks (and you) to import Omnibus.
Usage
As described in the introduction, omnibus works using three components
The Core Library
The Source
The Sink
All three of which need to be running at the same time for everything to work. For each of these components, open a terminal.
To start the core library, first navigate to the omnibus directory and run the module.
cd path/to/omnibus
python -m omnibus
All source are run using main.py
, a different version of this file will exist for each source. To start the source, run it. Note, for the source to begin operating, the core library must be running. If it isn’t the source will simply wait.
python path/to/omnibus/sources/name/main.py
The exact same procedure works to start the sink. Note the sink waits for both the core library and the source.
python path/to/omnibus/sinks/name/main.py
One thing worth noting is that this procedure will still work if the sink is running on a different machine than the source and omnibus as long as the two machine are on the same LAN. It is common for us, during tests, to set up a local area net work, and connect two laptops to it to allow omnibus to work from a safe distance.
More on how this works in the core library section.