quantize-rs 0.6.0

Neural network quantization toolkit for ONNX models
Documentation
[package]
name = "quantize-rs"
version = "0.6.0"
edition = "2021"
authors = ["Abdul Rahman Kamal <abdulrahmandev141@gmail.com>"]
description = "Neural network quantization toolkit for ONNX models"
license = "MIT"
repository = "https://github.com/AR-Kamal/quantize-rs"
homepage = "https://github.com/AR-Kamal/quantize-rs"
documentation = "https://docs.rs/quantize-rs"
readme = "README.md"
keywords = ["quantization", "neural-network", "onnx", "ml", "optimization"]
categories = ["command-line-utilities", "science", "compression"]
exclude = ["*.onnx", "examples/*.onnx"]

[dependencies]
glob = "0.3"
rand = "0.8"
rayon = "1.8"

# ONNX model parsing — prost-generated from proto/onnx.proto3
prost = "0.13"

# CLI interface
clap = { version = "4.4", features = ["derive"] }

# Python bindings
pyo3 = { version = "0.23", features = ["extension-module"], optional = true }

# Error handling
anyhow = "1.0"

colored = "2.0"
serde = { version = "1.0", features = ["derive"] }
serde_yaml = "0.9"
toml = "0.8"

# Calibration — optional heavy deps (tract inference engine, ndarray for .npy)
tract-onnx = { version = "0.21", optional = true }
tract-core = { version = "0.21", optional = true }
ndarray = { version = "0.15", optional = true }
ndarray-npy = { version = "0.8", optional = true }

[features]
default = ["calibration"]
calibration = ["tract-onnx", "tract-core", "ndarray", "ndarray-npy"]
python = ["pyo3"]

[build-dependencies]
prost-build = "0.13"
protox = "0.7"

[dev-dependencies]
approx = "0.5"
criterion = "0.5"
tempfile = "3"
proptest = "1"

# Maturin looks for this section when building Python wheels
[package.metadata.maturin]
python-source = "python"
module-name = "quantize_rs"

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true

[[bin]]
name = "quantize-rs"
path = "src/main.rs"

[lib]
name = "quantize_rs"
path = "src/lib.rs"

[[example]]
name = "basic_quantization"
path = "examples/basic_quantization.rs"

[[example]]
name = "batch_quantize"
path = "examples/batch_quantize.rs"

[[example]]
name = "activation_calibration"
path = "examples/activation_calibration.rs"

[[example]]
name = "validate_real_model"
path = "examples/validate_real_model.rs"

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