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 start
gbatch --gpus 1 --name demo bash -lc 'echo "hello from gflow"; sleep 30'
gqueue
gjob show <job_id>
gflowd stop
On Linux with a systemd user manager, gflowd service install enables
auto-start on login and automatic crash recovery. gflowd status always shows
how the daemon is hosted (systemd user service, tmux, or direct process).
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:
Star History
Contact Us
For coordinating contributions and development, please use Slack
Contributing
Please open an Issue or Pull Request.
License
MIT. See LICENSE.
Metadata
Release files for runqd 0.4.18
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| runqd-0.4.18.tar.gz | 742.8 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| runqd-0.4.18-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| runqd-0.4.18-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| runqd-0.4.18-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| runqd-0.4.18-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details |
Total release size: 21.6 MB
Release files / runqd-0.4.18.tar.gz
| Download URL | runqd-0.4.18.tar.gz |
|---|---|
| Size | 742.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95639ba5af391a5258691ded2b2b38c49203430498528bf3cb226e696c4284a6
|
|
BLAKE2b-256 checksum How to use checksums |
db50ee7d70cfb9f6964a0245ce1f895424d998a0ecb9440e39063b097775f538
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
|
Release files / runqd-0.4.18-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | runqd-0.4.18-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 5.6 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
64e115aee5ecfd90d2972c1cd23d42bd499223d0c23f6365ff48815a21785d90
|
|
BLAKE2b-256 checksum How to use checksums |
827915707f2bcbd0c320c6d6a7e1d96b19a498c375bb5c021fb7faf1f069d953
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
|
Release files / runqd-0.4.18-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | runqd-0.4.18-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
824183c338c67e5495209cef45c6f890c3500cc2131b7366995a755c7c18aa9f
|
|
BLAKE2b-256 checksum How to use checksums |
2274c6789fb93e4968afc9d91c343184c7b690686eb252b23a55bbdf5fe66d6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
|
Release files / runqd-0.4.18-py3-none-macosx_11_0_arm64.whl
| Download URL | runqd-0.4.18-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b10a4cb7949cfdeccbfa9fe74492d5472e1a04df69b0477a4155da19933d8f7e
|
|
BLAKE2b-256 checksum How to use checksums |
57e50680f9591bfc62492f3f5bba7e02aa8095198706ffbd786b1ea0cd91d0f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
|
Release files / runqd-0.4.18-py3-none-macosx_10_12_x86_64.whl
| Download URL | runqd-0.4.18-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 5.0 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
622824215909fdcc39ea9cb22c2a0394536ffed7d10db047760a1c081f718a14
|
|
BLAKE2b-256 checksum How to use checksums |
a5c1091eb52777d11ca8d00af0d656136c72ad195a7f0edeb7ce273d7a585203
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
|