[package]
name = "espflash"
version = "4.4.0"
edition = "2024"
rust-version = "1.88"
description = "A command-line tool for interacting with Espressif devices"
repository = "https://github.com/esp-rs/espflash"
license = "MIT OR Apache-2.0"
keywords = ["cli", "embedded", "esp"]
categories = ["command-line-utilities", "development-tools", "embedded"]
exclude = [
"tests",
]
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.{ archive-format }"
bin-dir = "{ bin }{ binary-ext }"
pkg-fmt = "zip"
[package.metadata.docs.rs]
features = ["serialport"]
no-default-features = true
rustdoc-args = ["--cfg", "docsrs"]
[[bin]]
name = "espflash"
path = "./src/bin/espflash.rs"
required-features = ["cli", "serialport"]
[dependencies]
addr2line = { version = "0.25", optional = true }
base64 = "0.22"
bitflags = "2.9"
bytemuck = { version = "1.23", features = ["derive"] }
clap = { version = "4.5", features = ["derive", "env", "wrap_help"], optional = true }
clap_complete = { version = "4.5", optional = true }
comfy-table = { version = "7.1", optional = true }
crossterm = { version = "0.29", optional = true }
ctrlc = { version = "3.4", optional = true }
defmt-decoder = { version = "1.0", features = ["unstable"], optional = true }
dialoguer = { version = "0.12", optional = true }
directories = { version = "6.0", optional = true }
env_logger = { version = "0.11", optional = true }
esp-idf-part = "0.6"
flate2 = "1.1"
gimli = "0.32.3"
indicatif = { version = "0.18", optional = true }
log = "0.4"
md-5 = "0.11"
miette = "7.6"
object = "0.39"
reed-solomon = { version = "0.2.1", optional = true }
regex = { version = "1.11", optional = true }
serde = { version = "1.0", features = ["derive"] }
serialport = { version = "4.7", default-features = false, optional = true }
sha2 = "0.10"
slip-codec = { version = "0.4", optional = true }
strum = { version = "0.28", features = ["derive"] }
thiserror = "2.0"
toml = { version = "1.1.2+spec-1.1.0", optional = true }
update-informer = { version = "1.2", optional = true }
[target.'cfg(unix)'.dependencies]
libc = "0.2.174"
[target.'cfg(target_os = "linux")'.dependencies]
nix = { version = "0.30", features = ["signal", "time"] }
[features]
default = ["cli"]
cli = [
"dep:addr2line",
"dep:clap",
"dep:clap_complete",
"dep:comfy-table",
"dep:crossterm",
"dep:ctrlc",
"dep:defmt-decoder",
"dep:dialoguer",
"dep:directories",
"dep:env_logger",
"dep:indicatif",
"dep:update-informer",
"miette/fancy",
"serialport",
]
serialport = ["dep:reed-solomon", "dep:regex", "dep:serialport", "dep:slip-codec", "dep:toml"]