[[bench]]
harness = false
name = "large_output_benchmark"
path = "benches/large_output_benchmark.rs"
[[bin]]
name = "bssh"
path = "src/main.rs"
[dependencies.anyhow]
version = "1.0.100"
[dependencies.arrayvec]
version = "0.7.6"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.atty]
version = "0.2.14"
[dependencies.chrono]
version = "0.4.42"
[dependencies.clap]
features = ["derive", "env"]
version = "4.5.53"
[dependencies.crossterm]
version = "0.29"
[dependencies.ctrlc]
version = "3.5.1"
[dependencies.directories]
version = "6.0.0"
[dependencies.dirs]
version = "6.0"
[dependencies.fastrand]
version = "2.3.0"
[dependencies.futures]
version = "0.3.31"
[dependencies.glob]
version = "0.3.3"
[dependencies.indicatif]
version = "0.18.3"
[dependencies.lazy_static]
version = "1.5"
[dependencies.lru]
version = "0.16.2"
[dependencies.nix]
features = ["poll"]
version = "0.30"
[dependencies.once_cell]
version = "1.21.3"
[dependencies.owo-colors]
version = "4.2.3"
[dependencies.ratatui]
version = "0.30"
[dependencies.regex]
version = "1.12.2"
[dependencies.rpassword]
version = "7.4.0"
[dependencies.russh]
version = "0.56.0"
[dependencies.russh-sftp]
version = "2.1.1"
[dependencies.rustyline]
version = "17.0.2"
[dependencies.secrecy]
features = ["serde"]
version = "0.10.3"
[dependencies.serde]
features = ["derive"]
version = "1.0.228"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.shell-words]
version = "1.1.1"
[dependencies.signal-hook]
version = "0.4.1"
[dependencies.smallvec]
version = "1.15.1"
[dependencies.terminal_size]
version = "0.4.3"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
features = ["full"]
version = "1.48.0"
[dependencies.tokio-util]
version = "0.7.17"
[dependencies.tracing]
version = "0.1.43"
[dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3.22"
[dependencies.unicode-width]
version = "0.2.2"
[dependencies.uuid]
features = ["v4"]
version = "1.19.0"
[dependencies.whoami]
version = "2.0.1"
[dependencies.zeroize]
features = ["derive"]
version = "1.8.2"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.8"
[dev-dependencies.insta]
version = "1.44"
[dev-dependencies.mockall]
version = "0.14"
[dev-dependencies.mockito]
version = "1.7.1"
[dev-dependencies.once_cell]
version = "1.21.3"
[dev-dependencies.serial_test]
version = "3.2"
[dev-dependencies.tempfile]
version = "3.23.0"
[dev-dependencies.tokio-test]
version = "0.4"
[[example]]
name = "interactive_demo"
path = "examples/interactive_demo.rs"
[lib]
name = "bssh"
path = "src/lib.rs"
[package]
authors = ["Jeongkyu Shin <inureyes@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["command-line-utilities"]
description = "Parallel SSH command execution tool for cluster management"
edition = "2021"
keywords = ["cli", "rust"]
license = "Apache-2.0"
name = "bssh"
readme = "README.md"
repository = "https://github.com/lablup/bssh"
version = "1.7.0"
[target.'cfg(target_os = "macos")'.dependencies.libc]
version = "0.2"
[target.'cfg(target_os = "macos")'.dependencies.security-framework]
version = "3.5.1"
[[test]]
name = "backendai_env_test"
path = "tests/backendai_env_test.rs"
[[test]]
name = "broadcast_command_test"
path = "tests/broadcast_command_test.rs"
[[test]]
name = "config_save_test"
path = "tests/config_save_test.rs"
[[test]]
name = "connect_timeout_test"
path = "tests/connect_timeout_test.rs"
[[test]]
name = "download_test"
path = "tests/download_test.rs"
[[test]]
name = "error_handling_integration"
path = "tests/error_handling_integration.rs"
[[test]]
name = "error_handling_test"
path = "tests/error_handling_test.rs"
[[test]]
name = "executor_file_transfer_test"
path = "tests/executor_file_transfer_test.rs"
[[test]]
name = "exit_code_integration_test"
path = "tests/exit_code_integration_test.rs"
[[test]]
name = "fail_fast_test"
path = "tests/fail_fast_test.rs"
[[test]]
name = "glob_pattern_test"
path = "tests/glob_pattern_test.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "interactive_integration_test"
path = "tests/interactive_integration_test.rs"
[[test]]
name = "interactive_signal_test"
path = "tests/interactive_signal_test.rs"
[[test]]
name = "interactive_test"
path = "tests/interactive_test.rs"
[[test]]
name = "jump_host_auth_mutex_test"
path = "tests/jump_host_auth_mutex_test.rs"
[[test]]
name = "jump_host_config_test"
path = "tests/jump_host_config_test.rs"
[[test]]
name = "jump_host_empty_agent_test"
path = "tests/jump_host_empty_agent_test.rs"
[[test]]
name = "jump_host_timeout_test"
path = "tests/jump_host_timeout_test.rs"
[[test]]
name = "no_prefix_test"
path = "tests/no_prefix_test.rs"
[[test]]
name = "node_prompt_scaling_test"
path = "tests/node_prompt_scaling_test.rs"
[[test]]
name = "node_switching_test"
path = "tests/node_switching_test.rs"
[[test]]
name = "password_fallback_test"
path = "tests/password_fallback_test.rs"
[[test]]
name = "pdsh_compat_test"
path = "tests/pdsh_compat_test.rs"
[[test]]
name = "pty_integration_test"
path = "tests/pty_integration_test.rs"
[[test]]
name = "pty_stress_test"
path = "tests/pty_stress_test.rs"
[[test]]
name = "pty_utils_test"
path = "tests/pty_utils_test.rs"
[[test]]
name = "ssh_config_command_options_advanced_test"
path = "tests/ssh_config_command_options_advanced_test.rs"
[[test]]
name = "ssh_config_command_options_test"
path = "tests/ssh_config_command_options_test.rs"
[[test]]
name = "ssh_keepalive_test"
path = "tests/ssh_keepalive_test.rs"
[[test]]
name = "streaming_integration_tests"
path = "tests/streaming_integration_tests.rs"
[[test]]
name = "streaming_test"
path = "tests/streaming_test.rs"
[[test]]
name = "timeout_test"
path = "tests/timeout_test.rs"
[[test]]
name = "tui_event_tests"
path = "tests/tui_event_tests.rs"
[[test]]
name = "tui_snapshot_tests"
path = "tests/tui_snapshot_tests.rs"
[[test]]
name = "upload_test"
path = "tests/upload_test.rs"