Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. 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

  2. Enter the newly cloned Repo

    • cd omnibus

  3. Optional, but highly recommend, create a Python Virtual Environment

    • First, you will need to install python’s virtualenv library

      • pip 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

  4. 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

  5. Similarly, you should make sure you have wheel installed (especially if you just created a Virtual Environment)

    • pip install wheel

  6. 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

  7. 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

  1. The Core Library

  2. The Source

  3. 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.