A lightweight, single-node job scheduler written in Rust.
Project description
gflow
English | 简体中文
gflow is a lightweight scheduler for a single Linux machine. It brings a Slurm-like workflow to shared GPU workstations and lab servers without cluster setup.
Why gflow
- Queue and run jobs on one machine.
- Submit commands or scripts with GPUs, time limits, dependencies, arrays, and priorities.
- Inspect, attach, cancel, and recover jobs with a small CLI.
Install
Requirements: Linux, tmux, and NVIDIA drivers only if you need GPU scheduling.
Install with Python tooling:
uv tool install runqd
# or
pipx install runqd
# or
pip install runqd
Install with Cargo:
cargo install gflow
Nightly build:
pip install --index-url https://test.pypi.org/simple/ runqd
Quick Start
gflowd init
gflowd up
gbatch --gpus 1 --name demo bash -lc 'echo "hello from gflow"; sleep 30'
gqueue
gjob show <job_id>
gflowd down
MCP
gflow can also run as a local MCP server for Claude Desktop, Claude Code, Codex, Cursor, and similar tools:
gflow mcp serve
Keep gflowd running on the same machine. MCP clients start gflow mcp serve as a local stdio server.
Claude Desktop example:
Claude Code:
claude mcp add --scope user gflow -- gflow mcp serve
Codex:
codex mcp add gflow -- gflow mcp serve
Or via ~/.codex/config.toml:
[mcp_servers.gflow]
command = "gflow"
args = ["mcp", "serve"]
If gflow is not on your PATH, replace it with the absolute binary path.
Documentation
Most usage details live in the docs:
Contributing
Please open an Issue or Pull Request.
License
MIT. See LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file runqd-0.4.14.tar.gz.
File metadata
- Download URL: runqd-0.4.14.tar.gz
- Upload date:
- Size: 333.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
128da6548a4efcadd87d596c35c3731dfd20395381607f91da2d4732b7ad2ada
|
|
| MD5 |
91e5caac2675db880100c33bf17fe60b
|
|
| BLAKE2b-256 |
b54b5466353efa2eb90b7d2576f89beb7c312c00726f382d9d0a9f270a7da412
|
File details
Details for the file runqd-0.4.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: runqd-0.4.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 7.7 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01e091a26ba4779e9e92f515c1b34920ddd586bb9662b3dd629ff931f03fbffa
|
|
| MD5 |
ef15db1894abd7d8f50998bfebbfa3f8
|
|
| BLAKE2b-256 |
598d6fd3cefb1a9c206592237f1ecb25ae0e71f5ea313c89b940fa4c8eab791e
|
File details
Details for the file runqd-0.4.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: runqd-0.4.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 7.3 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce7467dc623f6fbb376f31886375a555388c8129781d8438910ee2430d4fdc8b
|
|
| MD5 |
40fabc943a4d7f2f73ace889c761e7f2
|
|
| BLAKE2b-256 |
a4ed39db2a67a92ec65ae1a7c9f768a62108a1eb5d7c906f8fcb5e7d6c5f20d6
|