zencodec 0.1.22

Shared traits and types for zen* image codecs
Documentation
[workspace]
# zencodec (this manifest's package) is the root member; zencodec-testkit is a
# dev/conformance helper that depends on zencodec by path and is never published
# alongside it.
members = ["zencodec-testkit"]
# `fuzz/` is its own cargo-fuzz package (separate lockfile + targets); excluding
# it lets `cargo fuzz build/run` resolve it standalone instead of erroring that
# it "believes it's in a workspace when it's not".
exclude = ["fuzz"]
resolver = "3"

[package]
name = "zencodec"
version = "0.1.22"
edition = "2024"
rust-version = "1.88"
license = "Apache-2.0 OR MIT"
description = "Shared traits and types for zen* image codecs"
categories = ["multimedia::images"]
keywords = ["image", "codec", "traits"]
repository = "https://github.com/imazen/zencodec"
include = [
    "/src/**",
    "/tests/**",
    "/examples/**",
    "/README.md",
    "/CHANGELOG.md",
    "/LICENSE*",
]

[lib]
name = "zencodec"

# Lives in tests-dev/ (outside the `include` whitelist) so the published
# crate ships neither the test nor its cargo-public-api/nightly-rustdoc
# requirement; cargo strips this target from the packaged manifest.
[[test]]
name = "public_api_doc"
path = "tests-dev/public_api_doc.rs"

[dependencies]
# Published manifest uses crates.io versions (CI + `cargo publish` build the
# real artifact). Local development builds against the in-tree zen sources via
# a gitignored `.cargo/config.toml` `paths` override — see CONTRIBUTING note.
zenpixels = { version = "0.2.10", features = ["icc"] }
almost-enough = { version = "0.4.4", default-features = false, features = ["alloc"] }
enough = "0.4.4"
whereat = { version = "0.1.5" }

[dev-dependencies]
# Differential-test oracle for the EXIF parser (tests/exif_differential.rs).
# Pure-Rust, BSD-2-Clause; only built for tests, never shipped.
kamadak-exif = "0.6.1"
zenbench = "0.1.8"
thiserror = "2"
walkdir = "2.5.0"
rayon = "1.10.0"
moxcms = { version = "0.8.1", features = ["options"] }
# tests-dev/public_api_doc.rs parses `cargo metadata` to enumerate features.
serde_json = "1.0.150"

[[bench]]
name = "exif_filter"
harness = false