[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.1.1" 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] bitvec = "1.0.1" clap = { version = "4.6.0", optional = true, features = ["wrap_help"] } env_logger = { version = "0.11.10", optional = true, default-features = false, features = ["auto-color"] } image = { version = "0.25.9", optional = true, default-features = false, features = ["png"] } indexmap = "2.14.0" libdeflater = "1.25.2" log = "0.4.30" parse-size = { version = "1.1.0", optional = true } rayon = { version = "1.11.0", optional = true } rgb = "0.8.53" rustc-hash = "2.1.2" zopfli = { version = "0.8.3", optional = true, default-features = false, features = ["std", "zlib"] } [target.'cfg(windows)'.dependencies] glob = { version = "0.3.3", optional = true } [dev-dependencies] serde_json = "1.0.150" [features] binary = ["dep:clap", "dep:glob", "dep:env_logger", "dep:parse-size"] default = ["binary", "parallel", "zopfli"] parallel = ["dep:rayon", "indexmap/rayon"] freestanding = ["libdeflater/freestanding"] sanity-checks = ["dep:image"] zopfli = ["dep:zopfli"] 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"