[package]
edition = "2024"
rust-version = "1.94"
name = "exiftool-rs-wrapper"
version = "0.1.5"
authors = ["Open Application Systems <oss@openappsys.com>"]
build = false
include = [
"/src",
"/tests",
"/Cargo.toml",
"/LICENSE",
"/README.md",
"/README-EN.md",
"/CHANGELOG.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "一个高性能、类型安全的 ExifTool Rust 封装库,支持异步 API"
homepage = "https://github.com/openappsys/exiftool-rs-wrapper"
documentation = "https://docs.rs/exiftool-rs-wrapper"
readme = "README.md"
keywords = [
"exif",
"metadata",
"exiftool",
"wrapper",
"image",
]
categories = [
"multimedia::images",
"api-bindings",
"multimedia::video",
]
license = "Apache-2.0"
repository = "https://github.com/openappsys/exiftool-rs-wrapper"
[features]
async = [
"tokio",
"futures",
"async-trait",
]
audio = []
balanced = [
"standard",
"vendors-common",
]
canon = []
cli = ["clap"]
default = [
"balanced",
"cli",
]
exif = []
fuji = []
full = [
"balanced",
"fuji",
"olympus",
"panasonic",
"video",
"audio",
"image-formats",
"other",
"serde-structs",
]
gps = []
image = [
"standard",
"vendors-common",
]
image-formats = []
iptc = []
minimal = []
nikon = []
olympus = []
other = []
panasonic = []
serde-structs = []
sony = []
standard = [
"exif",
"iptc",
"xmp",
"gps",
]
vendors-common = [
"canon",
"nikon",
"sony",
"standard",
]
video = []
xmp = []
[lib]
name = "exiftool_rs_wrapper"
path = "src/lib.rs"
[[bin]]
name = "exiftool-rs-wrapper"
path = "src/main.rs"
[[test]]
name = "behavior_consistency"
path = "tests/behavior_consistency.rs"
[[test]]
name = "compatibility_report"
path = "tests/compatibility_report.rs"
[[test]]
name = "e2e"
path = "tests/e2e.rs"
[[test]]
name = "multi_command"
path = "tests/multi_command.rs"
[[test]]
name = "option_coverage"
path = "tests/option_coverage.rs"
[[test]]
name = "performance_gate"
path = "tests/performance_gate.rs"
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.clap]
version = "4.6"
features = ["derive"]
optional = true
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.lru]
version = "0.16"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.tempfile]
version = "3.27"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.50"
features = [
"sync",
"rt",
"time",
]
optional = true
[dependencies.tracing]
version = "0.1"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.tokio]
version = "1.50"
features = [
"rt-multi-thread",
"macros",
]