[package]
edition = "2021"
name = "gflow"
version = "0.4.11"
authors = ["PuQing <me@puqing.work>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A lightweight, single-node job scheduler written in Rust."
documentation = "https://runqd.com"
readme = "README.md"
keywords = [
"slurm",
"scheduler",
"job",
"rust",
]
categories = ["command-line-interface"]
license = "MIT"
repository = "https://github.com/AndPuQing/gflow.git"
[features]
default = []
metrics = [
"prometheus",
"lazy_static",
]
[lib]
name = "gflow"
path = "src/lib.rs"
[[bin]]
name = "gbatch"
path = "src/bin/gbatch/main.rs"
[[bin]]
name = "gcancel"
path = "src/bin/gcancel/main.rs"
[[bin]]
name = "gctl"
path = "src/bin/gctl/main.rs"
[[bin]]
name = "gflowd"
path = "src/bin/gflowd/main.rs"
[[bin]]
name = "ginfo"
path = "src/bin/ginfo/main.rs"
[[bin]]
name = "gjob"
path = "src/bin/gjob/main.rs"
[[bin]]
name = "gqueue"
path = "src/bin/gqueue/main.rs"
[[test]]
name = "cancel_during_execution_test"
path = "tests/cancel_during_execution_test.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[bench]]
name = "filtering_bench"
path = "benches/filtering_bench.rs"
harness = false
[[bench]]
name = "scheduler_bench"
path = "benches/scheduler_bench.rs"
harness = false
[[bench]]
name = "serialization_bench"
path = "benches/serialization_bench.rs"
harness = false
[dependencies.anyhow]
version = "1.0.95"
[dependencies.axum]
version = "0.8.0"
features = [
"http1",
"json",
"macros",
"tokio",
"query",
]
default-features = false
[dependencies.chrono]
version = "0.4.42"
features = ["clock"]
[dependencies.chrono-tz]
version = "0.10"
[dependencies.clap]
version = "4.5.28"
features = [
"cargo",
"derive",
]
[dependencies.clap-verbosity-flag]
version = "3.0.4"
features = ["tracing"]
default-features = false
[dependencies.clap_complete]
version = "4.5.44"
[dependencies.compact_str]
version = "0.9"
features = ["serde"]
[dependencies.config]
version = "0.15.7"
features = ["toml"]
default-features = false
[dependencies.csv]
version = "1.3"
[dependencies.dirs]
version = "6.0.0"
[dependencies.lazy_static]
version = "1.4.0"
optional = true
[dependencies.libc]
version = "0.2"
[dependencies.nvml-wrapper]
version = "0.11.0"
[dependencies.owo-colors]
version = "4.1.0"
[dependencies.prometheus]
version = "0.14.0"
optional = true
[dependencies.range-parser]
version = "0.1.2"
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.13.0"
features = [
"json",
"query",
]
default-features = false
[dependencies.rmp-serde]
version = "1.3"
[dependencies.serde]
version = "1.0.217"
features = ["derive"]
default-features = false
[dependencies.serde_json]
version = "1.0"
[dependencies.shell-escape]
version = "0.1.5"
[dependencies.smallvec]
version = "1.13"
features = ["serde"]
[dependencies.socket2]
version = "0.6"
[dependencies.strum]
version = "0.27.0"
features = ["derive"]
[dependencies.tabled]
version = "0.20.0"
features = ["ansi"]
[dependencies.tmux_interface]
version = "0.3.2"
[dependencies.tokio]
version = "1.43.0"
features = [
"rt-multi-thread",
"fs",
"macros",
"sync",
"signal",
"io-util",
]
default-features = false
[dependencies.tracing]
version = "0.1.40"
[dependencies.tracing-subscriber]
version = "0.3.18"
features = [
"env-filter",
"fmt",
"ansi",
"json",
]
[dependencies.uuid]
version = "1.10.0"
features = [
"v4",
"fast-rng",
]
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.mockall]
version = "0.14.0"
[dev-dependencies.nvml-wrapper]
version = "0.11.0"
[dev-dependencies.proptest]
version = "1.5"
[dev-dependencies.tempfile]
version = "3.16.0"
[dev-dependencies.tower]
version = "0.5"
[build-dependencies.anyhow]
version = "1.0.95"
[build-dependencies.vergen-gix]
version = "9.0.0"
features = [
"build",
"cargo",
]
[target.'cfg(target_arch = "x86_64")'.dependencies.mimalloc]
version = "0.1"
features = ["v3"]
[profile.dist]
inherits = "release"
[profile.fast-build]
opt-level = 1
debug = 0
inherits = "dev"
strip = "debuginfo"
[profile.minimal-size]
opt-level = "z"
codegen-units = 1
panic = "abort"
inherits = "release"
[profile.no-debug]
debug = 0
inherits = "dev"
strip = "debuginfo"
[profile.profiling]
lto = false
debug = 2
inherits = "release"
strip = false
[profile.release]
lto = "fat"
strip = true