[package] authors = ["Joshua Holmer "] categories = ["command-line-utilities", "compression"] description = "A lossless PNG compression optimizer" keywords = ["png", "image-compression", "optimization", "multi-threading", "lossless"] documentation = "https://docs.rs/oxipng" edition = "2024" exclude = [ ".editorconfig", ".gitattributes", ".github/*", ".gitignore", ".pre-commit-hooks.yaml", "Dockerfile", "scripts/*", "tests/*", "xtask/*", ] homepage = "https://github.com/oxipng/oxipng" license = "MIT" name = "oxipng" repository = "https://github.com/oxipng/oxipng" version = "10.0.0" rust-version = "1.85.1" [badges] travis-ci = { repository = "oxipng/oxipng", branch = "master" } maintenance = { status = "actively-developed" } [[bin]] doc = false name = "oxipng" path = "src/main.rs" required-features = ["binary"] [[bench]] name = "zopfli" required-features = ["zopfli"] [dependencies] zopfli = { version = "0.8.3", optional = true, default-features = false, features = ["std", "zlib"] } rgb = "0.8.52" indexmap = "2.12.1" libdeflater = "1.25.0" log = "0.4.29" bitvec = "1.0.1" rustc-hash = "2.1.1" [dependencies.env_logger] optional = true default-features = false features = ["auto-color"] version = "0.11.8" [dependencies.crossbeam-channel] optional = true version = "0.5.15" [dependencies.filetime] optional = true version = "0.2.26" [dependencies.rayon] optional = true version = "1.11.0" [dependencies.clap] optional = true version = "4.5.53" features = ["wrap_help"] [dependencies.parse-size] optional = true version = "1.1.0" [target.'cfg(windows)'.dependencies.glob] optional = true version = "0.3.3" [dependencies.image] optional = true default-features = false features = ["png"] version = "0.25.9" [features] binary = ["dep:clap", "dep:glob", "dep:env_logger", "dep:parse-size"] default = ["binary", "parallel", "zopfli", "filetime"] parallel = ["dep:rayon", "indexmap/rayon", "dep:crossbeam-channel"] freestanding = ["libdeflater/freestanding"] sanity-checks = ["dep:image"] zopfli = ["dep:zopfli"] filetime = ["dep:filetime"] system-libdeflate = ["libdeflater/dynamic"] [lib] name = "oxipng" path = "src/lib.rs" [profile.dev] opt-level = 2 [profile.release] lto = "fat" strip = "symbols" panic = "abort" [package.metadata.deb] assets = [ ["target/release/oxipng", "usr/bin/", "755"], ["target/xtask/mangen/manpages/oxipng.1", "usr/share/man/man1/", "644"], ["README.md", "usr/share/doc/oxipng/", "644"], ["CHANGELOG.md", "usr/share/doc/oxipng/", "644"], ] [lints.rust] missing_copy_implementations = "deny" missing_debug_implementations = "deny" trivial_casts = "warn" trivial_numeric_casts = "warn" unused_import_braces = "warn" [lints.clippy] cloned_instead_of_copied = "warn" expl_impl_clone_on_copy = "warn" float_cmp_const = "warn" if_not_else = "warn" ignored_unit_patterns = "warn" linkedlist = "warn" manual_let_else = "warn" map_flatten = "warn" map_unwrap_or = "warn" match_same_arms = "warn" mem_forget = "warn" missing_const_for_fn = "warn" mut_mut = "warn" mutex_integer = "warn" needless_continue = "warn" option_if_let_else = "warn" path_buf_push_overwrite = "warn" range_plus_one = "warn" redundant_clone = "warn" redundant_closure_for_method_calls = "warn" semicolon_if_nothing_returned = "warn" unnecessary_semicolon = "warn" unseparated_literal_suffix = "warn" use_self = "warn" useless_let_if_seq = "warn"