Skip to content

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

bash
# Install tmux
sudo apt-get update
sudo apt-get install tmux
bash
# Install tmux
sudo dnf install tmux

Installation Methods

Use uv or pipx for CLI installs:

bash
uv tool install runqd
bash
pipx install runqd
bash
pip install runqd

Pre-built binaries are available for Linux x86_64 and ARM64.

Install Nightly Build

For the latest development build, install from TestPyPI:

bash
uv tool install --index https://test.pypi.org/simple/ runqd
bash
pipx install --index-url https://test.pypi.org/simple/ runqd
bash
pip install --index-url https://test.pypi.org/simple/ runqd

Method 2: Install via Cargo

Build and install from crates.io:

bash
cargo install gflow
bash
cargo install --git https://github.com/AndPuQing/gflow.git --locked

This installs binaries to ~/.cargo/bin/. Make sure it is in your PATH.

Method 3: Build from Source

To build from source:

  1. Clone the repository:

    bash
    git clone https://github.com/AndPuQing/gflow.git
    cd gflow
  2. Build the project:

    bash
    cargo build --release

    Executables will be in target/release/.

  3. Install to the system (optional):

    bash
    cargo install --path .

Verify Installation

After installation, check the commands and version:

bash
# Check commands
which gflowd ginfo gbatch gqueue gcancel

# Check version
gflowd --version

TIP

If the commands work and gflowd --version prints a version, the install is complete.

Run Checks

1. Check tmux

bash
tmux new-session -d -s test
tmux has-session -t test && echo "tmux ok"
tmux kill-session -t test

2. Check the daemon and GPU detection (optional)

If you have NVIDIA GPUs, you can verify detection:

bash
# Optional: create a default config
gflowd init

# Start the daemon
gflowd up

# Check status
gflowd status

Check system info and GPUs:

bash
ginfo

If detection works, the output includes GPU information.

File Locations

gflow uses these directories:

LocationPurpose
~/.config/gflow/gflow.tomlConfiguration file (optional)
~/.local/share/gflow/state.msgpackPersistent 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:

  1. Check if ~/.cargo/bin is in your PATH:

    bash
    echo $PATH | grep -o ~/.cargo/bin
  2. Add it to ~/.bashrc or ~/.zshrc if missing:

    bash
    export PATH="$HOME/.cargo/bin:$PATH"
  3. Reload the shell:

    bash
    source ~/.bashrc  # or ~/.zshrc
Issue: GPU not detected
  1. Check NVIDIA drivers:

    bash
    nvidia-smi
  2. Check the NVML library:

    bash
    ldconfig -p | grep libnvidia-ml
  3. If detection fails, gflow still works for CPU jobs.

Updating gflow

If installed via Cargo
bash
cargo install gflow --force
If built from source
bash
cd gflow
git pull
cargo build --release
cargo install --path . --force

Uninstallation

To remove gflow:

WARNING

The optional data cleanup commands below permanently remove local scheduler state and logs.

bash
# Stop the daemon first
gflowd down

# Uninstall binaries
cargo uninstall gflow

# Remove configuration and data (optional)
rm -rf ~/.config/gflow
rm -rf ~/.local/share/gflow

Next Steps

After installation, continue with Quick Start.

Released under the MIT License.