Installation - OWL using UV on WSL – OWL

# Installation - OWL using UV on WSL

This installation guide uses the UV family of tools to install OWL.

This installation guide assumes that you’re working with the code using WSL/Ubuntu (Windows Subsystem for Linux, Ubuntu distro). Separate guides are available for Conda on Powershell and UV on powershell.

This installation guide is OPINIONATED.

To use this guide, copy/paste the blocks of code below directly into a WSL terminal. Hover your mouse over any `code block` and a clipboard icon should appear. Clicking the clipboard will copy the block of code for pasting into a WSL terminal.

## Requirements

The following code ensures that you’ve got all the necessary underlying tools. Copy/paste into a WSL terminal. The code is intended to install missing tools. These commands should not negatively impact any tools already installed.

### Install / verify WSL tools

    sudo apt update
    sudo apt install make
    sudo apt install git
    sudo apt install gh
    sudo apt install curl

### Install UV

UV is a very fast tool that combines many tools into a single framework. UV manages python versions (like pyenv), virtual environments (like venv), modules (like pip), packaging (like setuptools), and does it very fast. UV is a replacement for other tools like `conda`, `pyenv` and `poetry`.

I HIGHLY recommend switching to UV when using OWL.

    curl -LsSf https://astral.sh/uv/install.sh | sh

UV offers a very extensive list of installation options and optional tools. See the UV install guide

### Testing the tools

If everything is all set, the following block of commands should run without errors.

    make --version
    git --version
    gh --version
    curl --version
    uv --version

## Installing OWL

With the backup tools installed, we can now install OWL and get it running locally.

I keep my GITHUB projects in a local projects folder under my personal home directory. The following block of code will clone the `owlplanner` project under your `~/projects` project folder.

    cd ~/projects
    git clone https://github.com/mdlacasse/Owl.git owlplanner
    cd owlplanner

## Setting up to run

The following command will download and install python (if you don’t already have it), create a virtual environment, and download all the necessary python modules to run OWL. One step … boom!

    uv sync

## Running OWL

The following command starts the streamlit server on your local computer and automatically opens a chromium browser. You’re ready to go!

Remember - you don’t need to type it in … use the copy-to-clipboard icon and paste into your WSL terminal.

Note: this command assumes that your in the project root directory: `~/projects/owlplanner` if you’ve been following along.

    uv run python -m streamlit run ./ui/main.py \
      --browser.gatherUsageStats=false \
      --browser.serverAddress=localhost \
      --browser.serverPort=8501

NOTE: There are TWO things going on at the same time:

1. A streamlit webserver running from the terminal,
2. A web browser started up, too, and is probably blocking you from seeing your terminal.

Closing the browser DOES NOT close the streamlit web server. If you close the browser, streamlit is still running.

You need to enter CTRL-C in the terminal to kill/close streamlit. THIS IS NORMAL!

## Updating OWL

OWL is under active development. You’ll want to work with the latest changes. The command below will fetch the latest changes to your local machine and update the libraries. You can then use the command above to run these changes.

    git fetch
    uv sync