Follow the steps below to run the project.
uv - Python package and project manager
- Install with curl (macOS/Linux):
curl -LsSf https://astral.sh/uv/install.sh | sh - Install with PowerShell (Windows):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" - Or install with pip:
pip install uv - Or with Homebrew (macOS):
brew install uv
node - JavaScript runtime + npm (node package manager)
- Install with Homebrew (macOS):
brew install node - Install directly (Windows): https://nodejs.org/en/download/
- Install via apt (Linux):
sudo apt install nodejs npm - Install via dnf (Linux):
sudo dnf install nodejs npm - Install via pacman (Linux):
sudo pacman -S nodejs npm
Create a virtual environment
# In project root
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv syncSet the required environment variables -- See config.py for all configuration options.
ML_OR_SERVICE_USER=serviceuser
ML_OR_SERVICE_SECRET=secretStart the back-end application
uv run start
# Exposes the back-end on http://localhost:8000Serve the front-end
cd frontend
npm run serve # Automatically installs dependencies
# Exposes the front-end on http://localhost:8001In project root
- Run linting -
uv run lint - Format code -
uv run format - Run tests -
uv run test - Run the application -
uv run start
in /frontend
- Run linting -
npm run lint - Format code -
npm run format - Run the application -
npm run serve
The OpenRemote Machine Learning Forecast Service is distributed under AGPL-3.0-or-later.
Copyright 2025, OpenRemote Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.