Skip to main content

A lightweight, single-node job scheduler written in Rust.

Project description

gflow

Documentation Status GitHub Actions Workflow Status codecov PyPI - Version TestPyPI - Version Crates.io Version PyPI - Downloads dependency status Crates.io License Crates.io Size Discord

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

runqd-0.4.14.tar.gz (333.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

runqd-0.4.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

runqd-0.4.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Hashes for runqd-0.4.14.tar.gz
Algorithm Hash digest
SHA256 128da6548a4efcadd87d596c35c3731dfd20395381607f91da2d4732b7ad2ada
MD5 91e5caac2675db880100c33bf17fe60b
BLAKE2b-256 b54b5466353efa2eb90b7d2576f89beb7c312c00726f382d9d0a9f270a7da412

See more details on using hashes here.

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

Hashes for runqd-0.4.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01e091a26ba4779e9e92f515c1b34920ddd586bb9662b3dd629ff931f03fbffa
MD5 ef15db1894abd7d8f50998bfebbfa3f8
BLAKE2b-256 598d6fd3cefb1a9c206592237f1ecb25ae0e71f5ea313c89b940fa4c8eab791e

See more details on using hashes here.

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

Hashes for runqd-0.4.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ce7467dc623f6fbb376f31886375a555388c8129781d8438910ee2430d4fdc8b
MD5 40fabc943a4d7f2f73ace889c761e7f2
BLAKE2b-256 a4ed39db2a67a92ec65ae1a7c9f768a62108a1eb5d7c906f8fcb5e7d6c5f20d6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page