Developer Quickstart¶
This page provides instructions for setting up a local development environment for OVO and contributing to the OVO repository.
For instructions on how to develop a separate plugin for OVO, please refer to the plugin development guide.
1. Clone the OVO repository¶
Clone the OVO repository from GitHub:
# Clone the repository
git clone https://github.com/MSDLLCpapers/ovo
# Navigate into the cloned directory
cd ovo
2. Install OVO for development¶
Using uv¶
First, if not already installed, install the uv package manager
and rust-just command runner into your default Python environment:
pip install uv rust-just
Initialize the .venv directory with uv:
uv sync
Using conda¶
# Create and activate conda environment
conda create -n ovo-dev python=3.13
conda activate ovo-dev
# Install OVO with pip in editable mode
pip install -e .
# Save instructions to .env file to avoid using uv
echo 'RUN=" "' >> .env
3. Development commands¶
Run Streamlit app with live reload:
just run
# or using ovo cli
ovo app --server.runOnSave=1
Run unit tests:
just test
# or using pytest directly
pytest tests/unit_tests
Run full workflow tests (using the default scheduler from your local OVO config):
just integration-test
# or using pytest directly (-s to print detailed output)
pytest -s tests/integration_tests
Run Ruff formatter:
just format
# or using ruff directly
ruff format .
Run Ruff linter (optional):
just lint-check
# or using ruff directly
ruff check .
4. Contribute your first issue and pull request¶
Before you start working on a feature or bug fix, please create an issue describing your proposed changes. This helps us track work and coordinate contributions.
To contribute a separate plugin, please refer to the plugin development guide.