Skip to main content
NOVOSKY runs on Python 3.10–3.13. The ML/trading stack (training, backtesting, dry-run) works on both macOS and Linux. The MT5 API server requires Linux with KVM — see MT5 API server.

macOS

Tested on macOS 13 Ventura and later (Intel and Apple Silicon).
1

Install Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/homebrew/install/HEAD/install.sh)"
On Apple Silicon, add Homebrew to your PATH if prompted:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
2

Install Python 3.11

brew install python@3.11
3

Clone and set up the virtual environment

git clone https://github.com/mokatific/novosky
cd novosky

python3.11 -m venv .venv
source .venv/bin/activate

pip install --upgrade pip
pip install -r requirements.txt

macOS-specific notes

ONNX on Apple Silicon

onnxruntime works on M1/M2/M3 via Rosetta or native arm64. If you hit install errors, try the silicon-optimized wheel:
pip install onnxruntime-silicon

LightGBM on Apple Silicon

LightGBM requires OpenMP. Install it first:
brew install libomp
pip install lightgbm

MT5 API server

The MT5 API server cannot run on macOS — it requires /dev/kvm which macOS does not provide. Use a Linux VPS for the full live trading stack. You can still develop and test all ML/trading code locally on macOS using --dry mode with a remote MT5 API.

Linux

Tested on Ubuntu 22.04 LTS and Debian 12.
1

Install system dependencies

sudo apt update && sudo apt install -y \
  build-essential git curl \
  python3.11 python3.11-venv python3.11-dev \
  python3-pip \
  libgomp1
python3.11 not available in your repos? Add the deadsnakes PPA on Ubuntu:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.11 python3.11-venv python3.11-dev
Or use pyenv:
curl https://pyenv.run | bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv install 3.11.9 && pyenv local 3.11.9
2

Clone and set up the virtual environment

git clone https://github.com/mokatific/novosky
cd novosky

python3.11 -m venv .venv
source .venv/bin/activate

pip install --upgrade pip
pip install -r requirements.txt
3

Install Docker (for the MT5 API server)

Only needed if you’re running the MT5 API server on this machine.
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER && newgrp docker

# Verify KVM is available (required for QEMU/KVM)
ls /dev/kvm && echo "KVM OK"

# Install Docker Compose plugin
sudo apt install docker-compose-plugin -y
docker compose version

Hardware requirements

Use caseCPURAMDisk
Run the bot4-core (i3+)8 GB5 GB
Local training (CPU)4-core8 GB10 GB
MT5 API server4-core8 GB (5 GB free for VM)25 GB
Training takes ~2 hours on a 4-core CPU. For faster retrains, use a local GPU-enabled host — see Training.

Next steps

Configuration

Set up your .env, config.json, and ml_config.json.

First run

Pull models, dry-run, then go live.