[package]
edition = "2021"
name = "nornir"
version = "0.4.21"
build = "build.rs"
exclude = [
"/docs/",
"/plan.md",
"/.nornir/notes/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Companion to cargo: dependency tracking, release gating, deploy, benchmarks, and documentation assembly. Project-agnostic."
readme = "README.md"
keywords = [
"cargo",
"release",
"benchmark",
"docs",
"ci",
]
categories = [
"development-tools::cargo-plugins",
"development-tools::build-utils",
]
license = "MIT OR Apache-2.0"
repository = "https://codeberg.org/nordisk/nornir"
[features]
cli = [
"server",
"mcp",
"docs-export",
"viz",
]
default = [
"server",
"viz",
"mcp",
]
docs-export = [
"dep:typst-as-lib",
"dep:typst-pdf",
"dep:typst-svg",
"dep:typst-html",
"dep:typst",
"dep:pulldown-cmark",
"dep:rust-embed",
"dep:image",
]
embed-ort = [
"vector",
"dep:ort",
"dep:tokenizers",
"dep:libloading",
]
embed-tract = [
"vector",
"dep:tract-onnx",
"dep:tokenizers",
]
fixtures-maven = []
mcp = [
"dep:rmcp",
"dep:schemars",
"dep:tracing-subscriber",
"dep:tonic",
"dep:prost",
]
robot = ["dep:fantoccini"]
server = [
"dep:tonic",
"dep:prost",
"dep:tokio-stream",
"dep:tracing-subscriber",
]
vector = []
viz = [
"dep:eframe",
"dep:egui",
"dep:image",
"dep:tonic",
"dep:prost",
"dep:egui-snarl",
]
[lib]
name = "nornir"
path = "src/lib.rs"
[[bin]]
name = "nornir"
path = "src/bin/nornir.rs"
[[bin]]
name = "nornir-mcp"
path = "src/bin/nornir-mcp.rs"
required-features = ["mcp"]
[[bin]]
name = "nornir-server"
path = "src/bin/nornir-server.rs"
required-features = [
"server",
"viz",
]
[[bin]]
name = "urdr-threads"
path = "src/bin/urdr-threads.rs"
required-features = ["viz"]
[[example]]
name = "bench_only_demo"
path = "examples/bench_only_demo.rs"
[[example]]
name = "bench_st_demo"
path = "examples/bench_st_demo.rs"
[[example]]
name = "dep_graph_demo"
path = "examples/dep_graph_demo.rs"
[[example]]
name = "funnel_demo"
path = "examples/funnel_demo.rs"
[[example]]
name = "release_demo_znippy_holger"
path = "examples/release_demo_znippy_holger.rs"
[[example]]
name = "vector_timetravel"
path = "examples/vector_timetravel.rs"
[[test]]
name = "cli_parity"
path = "tests/cli_parity.rs"
[[test]]
name = "funnel_concurrency"
path = "tests/funnel_concurrency.rs"
[[test]]
name = "funnel_demo"
path = "tests/funnel_demo.rs"
[[test]]
name = "funnel_viz"
path = "tests/funnel_viz.rs"
[[test]]
name = "mcp_matrix"
path = "tests/mcp_matrix.rs"
[[test]]
name = "mcp_tools"
path = "tests/mcp_tools.rs"
[[test]]
name = "release_events"
path = "tests/release_events.rs"
[[test]]
name = "release_gates"
path = "tests/release_gates.rs"
[[test]]
name = "release_pipeline"
path = "tests/release_pipeline.rs"
[[test]]
name = "root_resolution"
path = "tests/root_resolution.rs"
[[test]]
name = "scenarios"
path = "tests/scenarios.rs"
[[test]]
name = "viz_action_log"
path = "tests/viz_action_log.rs"
[[test]]
name = "viz_bench_pane"
path = "tests/viz_bench_pane.rs"
[[test]]
name = "viz_buttons"
path = "tests/viz_buttons.rs"
[[test]]
name = "viz_knowledge"
path = "tests/viz_knowledge.rs"
[[test]]
name = "viz_leaderboard_pane"
path = "tests/viz_leaderboard_pane.rs"
[[test]]
name = "viz_live"
path = "tests/viz_live.rs"
[[test]]
name = "viz_live_data"
path = "tests/viz_live_data.rs"
[[test]]
name = "viz_matrix"
path = "tests/viz_matrix.rs"
[[test]]
name = "viz_md_matrix"
path = "tests/viz_md_matrix.rs"
[[test]]
name = "viz_release"
path = "tests/viz_release.rs"
[[test]]
name = "viz_remote"
path = "tests/viz_remote.rs"
[[test]]
name = "viz_robot_loop"
path = "tests/viz_robot_loop.rs"
[[test]]
name = "viz_snapshots"
path = "tests/viz_snapshots.rs"
[[test]]
name = "viz_test_pane"
path = "tests/viz_test_pane.rs"
[[test]]
name = "viz_workspace_matrix"
path = "tests/viz_workspace_matrix.rs"
[[test]]
name = "workspace_holger"
path = "tests/workspace_holger.rs"
[dependencies.anyhow]
version = "1"
[dependencies.arrow]
version = "57"
[dependencies.async-stream]
version = "0.3"
[dependencies.async-trait]
version = "0.1"
[dependencies.cargo_metadata]
version = "0.23"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.eframe]
version = "0.33"
features = [
"default_fonts",
"glow",
"wayland",
"x11",
"accesskit",
]
optional = true
default-features = false
[dependencies.egui]
version = "0.33"
optional = true
[dependencies.egui-snarl]
version = "0.9"
optional = true
[dependencies.fantoccini]
version = "0.22"
optional = true
[dependencies.flate2]
version = "1"
[dependencies.futures]
version = "0.3"
[dependencies.gimli]
version = "0.33"
[dependencies.gix]
version = "0.84"
features = [
"tree-editor",
"blocking-network-client",
"blocking-http-transport-reqwest-rust-tls",
]
[dependencies.home]
version = "0.5"
[dependencies.iceberg]
version = "0.9"
[dependencies.image]
version = "0.25"
features = [
"png",
"jpeg",
"gif",
"webp",
]
optional = true
default-features = false
[dependencies.inventory]
version = "0.3"
[dependencies.libloading]
version = "0.8"
optional = true
[dependencies.memmap2]
version = "0.9"
[dependencies.nornir-testmatrix]
version = "0.1.0"
[dependencies.object]
version = "0.39"
[dependencies.ort]
version = "2.0.0-rc.12"
features = ["cuda"]
optional = true
[dependencies.parquet]
version = "57"
features = ["arrow"]
[dependencies.petgraph]
version = "0.6"
[dependencies.proc-macro2]
version = "1"
features = ["span-locations"]
[dependencies.prost]
version = "0.13"
optional = true
[dependencies.pulldown-cmark]
version = "0.12"
features = ["html"]
optional = true
default-features = false
[dependencies.quote]
version = "1"
[dependencies.rand_core]
version = "0.6"
features = ["getrandom"]
[dependencies.rayon]
version = "1"
[dependencies.redb]
version = "2"
[dependencies.rmcp]
version = "1"
features = [
"server",
"macros",
"transport-io",
"schemars",
]
optional = true
[dependencies.russh]
version = "0.61"
[dependencies.rust-embed]
version = "8"
optional = true
[dependencies.rustc-demangle]
version = "0.1"
[dependencies.schemars]
version = "1"
optional = true
[dependencies.semver]
version = "1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.skade]
version = "0.4.9"
default-features = false
[dependencies.skade-katalog]
version = "0.1.7"
[dependencies.ssh-key]
version = "0.6"
features = [
"ed25519",
"std",
"rand_core",
]
default-features = false
[dependencies.syn]
version = "2"
features = [
"full",
"extra-traits",
"visit",
]
[dependencies.tantivy]
version = "0.22"
[dependencies.tar]
version = "0.4"
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "1"
[dependencies.time]
version = ">=0.3.36, <0.3.48"
[dependencies.tokenizers]
version = "0.22"
optional = true
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"io-std",
"io-util",
"sync",
"fs",
"time",
]
[dependencies.tokio-stream]
version = "0.1"
optional = true
[dependencies.tokio-util]
version = "0.7"
features = ["io-util"]
[dependencies.toml]
version = "0.8"
[dependencies.toml_edit]
version = "0.22"
[dependencies.tonic]
version = "0.12"
features = [
"transport",
"codegen",
"prost",
]
optional = true
default-features = false
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.tract-onnx]
version = "0.23"
optional = true
[dependencies.typst]
version = "0.14"
optional = true
[dependencies.typst-as-lib]
version = "0.15"
features = [
"typst-kit-fonts",
"typst-kit-embed-fonts",
"typst-html",
]
optional = true
[dependencies.typst-html]
version = "0.14"
optional = true
[dependencies.typst-pdf]
version = "0.14"
optional = true
[dependencies.typst-svg]
version = "0.14"
optional = true
[dependencies.ureq]
version = "2"
features = ["tls"]
default-features = false
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dependencies.walkdir]
version = "2"
[dependencies.znippy-zoomies]
version = "0.1.8"
[dev-dependencies.egui_kittest]
version = "0.33"
features = [
"wgpu",
"snapshot",
]
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
]
[dev-dependencies.uuid]
version = "1"
features = ["v4"]
[build-dependencies.protox]
version = "0.7"
[build-dependencies.sha2]
version = "0.10"
[build-dependencies.tonic-build]
version = "0.12"
features = ["prost"]
default-features = false
[build-dependencies.ureq]
version = "2"
features = ["tls"]
default-features = false