# gflow
[](https://runqd.com)
[](https://github.com/AndPuQing/gflow/actions/workflows/ci.yml)
[](https://codecov.io/gh/AndPuQing/gflow)
[](https://pypi.org/project/runqd/)
[](https://test.pypi.org/project/runqd/)
[](https://crates.io/crates/gflow)
[](https://pypi.org/project/runqd/)
[](https://deps.rs/repo/github/AndPuQing/gflow)
[](https://crates.io/crates/gflow)
[](https://crates.io/crates/gflow)
[](https://discord.gg/wJRkDmYQrG)
`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.
[](https://asciinema.org/a/777578)
## 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:
```bash
uv tool install runqd
# or
pipx install runqd
# or
pip install runqd
```
Install with Cargo:
```bash
cargo install gflow
```
Nightly build:
```bash
pip install --index-url https://test.pypi.org/simple/ runqd
```
## Quick Start
```bash
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:
```bash
gflow mcp serve
```
Keep `gflowd` running on the same machine. MCP clients start `gflow mcp serve` as a local stdio server.
Claude Desktop example:
- [examples/mcp/claude-desktop.json](./examples/mcp/claude-desktop.json)
Claude Code:
```bash
claude mcp add --scope user gflow -- gflow mcp serve
```
Codex:
```bash
codex mcp add gflow -- gflow mcp serve
```
Or via `~/.codex/config.toml`:
```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:
- [Quick start](https://runqd.com/getting-started/quick-start.html)
- [Installation](https://runqd.com/getting-started/installation.html)
- [User guide](https://runqd.com/user-guide/job-submission.html)
- [Command reference](https://runqd.com/reference/quick-reference.html)
## Star History
<a href="https://www.star-history.com/#AndPuQing/gflow&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=AndPuQing/gflow&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=AndPuQing/gflow&type=date&legend=top-left" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=AndPuQing/gflow&type=date&legend=top-left" />
</picture>
</a>
## Contributing
Please open an [Issue](https://github.com/AndPuQing/gflow/issues) or [Pull Request](https://github.com/AndPuQing/gflow/pulls).
## License
MIT. See [LICENSE](./LICENSE).