[package] authors = ["Robert Bamler "] categories = ["compression", "science", "no-std"] description = "Entropy coders for research and production (Rust and Python)." documentation = "https://docs.rs/constriction/" edition = "2018" homepage = "https://bamler-lab.github.io/constriction/" keywords = ["compression", "entropy-coding", "range-coding", "python", "machine-learning"] license = "MIT OR Apache-2.0 OR BSL-1.0" name = "constriction" readme = "README-rust.md" repository = "https://github.com/bamler-lab/constriction/" rust-version = "1.75" # for feature `return_position_impl_trait_in_traits` version = "0.4.1" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] crate-type = ["rlib", "cdylib"] name = "constriction" [features] default = ["std"] std = [] # Use feature `pybindings` to compile the python extension module that provides # access to this library from python. This feature is turned off by default # because it causes problems with `cargo test` on Mac OS. To turn it on, run: # cargo build --release --features pybindings pybindings = ["numpy", "pyo3"] [dependencies] hashbrown = "0.15.0" num-traits = {version = "0.2.15", default-features = false, features = ["libm"]} smallvec = "1.6.1" libm = "0.2.6" probability = "0.20" numpy = {version = "0.22", optional = true} pyo3 = {version = "0.22.5", features = ["extension-module"], optional = true} [dev-dependencies] byteorder = "1.4.2" criterion = "0.5.1" rand = "0.8.3" rand_pcg = "0.3" rand_xoshiro = "0.6" [[bench]] harness = false name = "lookup" test = true