Installation
Install gflow with the steps below.
Package Name
The Python package name is runqd. It provides gflowd, gbatch, gqueue, gjob, ginfo, gcancel, and gctl.
Prerequisites
- Operating System: Linux
- tmux: Required
- NVIDIA GPU / drivers: Only required for GPU scheduling
Installing Prerequisites
# Install tmux
sudo apt-get update
sudo apt-get install tmux# Install tmux
sudo dnf install tmuxInstallation Methods
Method 1: Install via PyPI (Recommended)
Use uv or pipx for CLI installs:
uv tool install runqdpipx install runqdpip install runqdPre-built binaries are available for Linux x86_64 and ARM64.
Install Nightly Build
For the latest development build, install from TestPyPI:
uv tool install --index https://test.pypi.org/simple/ runqdpipx install --index-url https://test.pypi.org/simple/ runqdpip install --index-url https://test.pypi.org/simple/ runqdMethod 2: Install via Cargo
Build and install from crates.io:
cargo install gflowcargo install --git https://github.com/AndPuQing/gflow.git --lockedThis installs binaries to ~/.cargo/bin/. Make sure it is in your PATH.
Method 3: Build from Source
To build from source:
Clone the repository:
bashgit clone https://github.com/AndPuQing/gflow.git cd gflowBuild the project:
bashcargo build --releaseExecutables will be in
target/release/.Install to the system (optional):
bashcargo install --path .
Verify Installation
After installation, check the commands and version:
# Check commands
which gflowd ginfo gbatch gqueue gcancel
# Check version
gflowd --versionTIP
If the commands work and gflowd --version prints a version, the install is complete.
Run Checks
1. Check tmux
tmux new-session -d -s test
tmux has-session -t test && echo "tmux ok"
tmux kill-session -t test2. Check the daemon and GPU detection (optional)
If you have NVIDIA GPUs, you can verify detection:
# Optional: create a default config
gflowd init
# Start the daemon
gflowd up
# Check status
gflowd statusCheck system info and GPUs:
ginfoIf detection works, the output includes GPU information.
File Locations
gflow uses these directories:
| Location | Purpose |
|---|---|
~/.config/gflow/gflow.toml | Configuration file (optional) |
~/.local/share/gflow/state.msgpack | Persistent job state (state.json is still read for legacy installs) |
~/.local/share/gflow/logs/ | Job output logs |
Troubleshooting
Issue: Command not found
If you get "command not found" after installation:
Check if
~/.cargo/binis in yourPATH:bashecho $PATH | grep -o ~/.cargo/binAdd it to
~/.bashrcor~/.zshrcif missing:bashexport PATH="$HOME/.cargo/bin:$PATH"Reload the shell:
bashsource ~/.bashrc # or ~/.zshrc
Issue: GPU not detected
Check NVIDIA drivers:
bashnvidia-smiCheck the NVML library:
bashldconfig -p | grep libnvidia-mlIf detection fails, gflow still works for CPU jobs.
Updating gflow
If installed via Cargo
cargo install gflow --forceIf built from source
cd gflow
git pull
cargo build --release
cargo install --path . --forceUninstallation
To remove gflow:
WARNING
The optional data cleanup commands below permanently remove local scheduler state and logs.
# Stop the daemon first
gflowd down
# Uninstall binaries
cargo uninstall gflow
# Remove configuration and data (optional)
rm -rf ~/.config/gflow
rm -rf ~/.local/share/gflowNext Steps
After installation, continue with Quick Start.