constriction 0.4.2

Entropy coders for research and production (Rust and Python).
Documentation
[package]
authors = ["Robert Bamler <robert.bamler@uni-tuebingen.de>"] 
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.2" 

# 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.16.1"
num-traits = {version = "0.2.15", default-features = false, features = ["libm"]}
smallvec = "1.15.1"

libm = "0.2.6"
probability = "0.20"

numpy = {version = "0.27", optional = true}
pyo3 = {version = "0.27.2", features = ["extension-module"], optional = true}

[dev-dependencies]
byteorder = "1.4.2"
criterion = "0.5.1"
rand = "0.9.2"
rand_pcg = "0.9"
rand_xoshiro = "0.7"

[[bench]]
harness = false
name = "lookup"
test = true