Files
ezkl/Cargo.toml
2023-07-08 14:50:09 +01:00

147 lines
4.7 KiB
TOML

[package]
name = "ezkl"
version = "1.2.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
# Name to be imported within python
# Example: import ezkl
name = "ezkl"
crate-type = ["cdylib", "rlib"]
[dependencies]
halo2_gadgets = { git = "https://github.com/zkonduit/halo2", default_features = false, branch= "ac/public-cells" }
halo2_proofs = { git = "https://github.com/zkonduit/halo2", branch= "ac/public-cells", default_features = false, features = ["thread-safe-region"]}
halo2curves = { git = 'https://github.com/privacy-scaling-explorations/halo2curves', tag = "0.3.2", features = ["derive_serde"], default_features = false }
rand = { version = "0.8", default_features = false }
itertools = { version = "0.10.3", default_features = false }
plotters = { version = "0.3.0", default_features = false, optional = true }
tract-onnx = { git = "https://github.com/sonos/tract/", branch= "fixes-1122", default_features = false, optional = true }
clap = { version = "4.3.3", features = ["derive"]}
serde = { version = "1.0.126", features = ["derive"], optional = true }
serde_json = { version = "1.0.97", default_features = false, features = ["float_roundtrip", "raw_value"], optional = true }
log = { version = "0.4.17", default_features = false, optional = true }
tabled = { version = "0.12.0", optional = true}
thiserror = { version = "1.0.38", default_features = false }
hex = { version = "0.4.3", default_features = false }
halo2_wrong_ecc = { git = "https://github.com/zkonduit/halo2wrong", default_features = false, package = "ecc", branch = "ac/send-sync-region"}
snark-verifier = { git = "https://github.com/zkonduit/snark-verifier", branch = "ac/send-sync-region", features=["derive_serde"]}
regex = { version = "1", default_features = false }
colored = { version = "2.0.0", default_features = false, optional = true}
env_logger = { version = "0.10.0", default_features = false, optional = true}
colored_json = { version = "3.0.1", default_features = false, optional = true}
tokio = { version = "1.26.0", default_features = false, features = ["macros", "rt"] }
rayon = { version = "1.7.0", default_features = false }
bincode = { version = "1.3.3", default_features = false }
ark-std = { version = "^0.3.0", default-features = false }
# python binding related deps
pyo3 = { version = "0.18.3", features = ["extension-module", "abi3-py37", "macros"], default_features = false, optional = true }
pyo3-asyncio = { version = "0.18.0", features = ["attributes", "tokio-runtime"], default_features = false, optional = true }
pyo3-log = { version = "0.8.1", default_features = false, optional = true }
# Omit for the time being as ndarrays are not being used
# numpy = { version = "0.18.0", optional = true }
# evm related deps
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
ethers = { version = "2.0.7", default_features = false, features = ["ethers-solc"] }
indicatif = {version = "0.17.5", features = ["rayon"]}
gag = { version = "1.0.0", default_features = false}
instant = { version = "0.1" }
reqwest = { version = "0.11.14", default-features = false, features = ["default-tls"] }
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2.8", features = ["js"] }
instant = { version = "0.1", features = [ "wasm-bindgen", "inaccurate" ] }
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
wasm-bindgen-rayon = "1.0"
wasm-bindgen-test = "0.3.34"
serde-wasm-bindgen = "0.4"
wasm-bindgen = { version = "0.2.81", features = ["serde-serialize"]}
console_error_panic_hook = "0.1.7"
[dev-dependencies]
criterion = {version = "0.3", features = ["html_reports"]}
tempfile = "3.3.0"
lazy_static = "1.4.0"
mnist = "0.5"
seq-macro = "0.3.1"
test-case = "2.2.2"
tempdir = "0.3.7"
[target.wasm32-unknown-unknown]
runner = 'wasm-bindgen-test-runner'
[[bench]]
name = "accum_dot"
harness = false
[[bench]]
name = "accum_sum"
harness = false
[[bench]]
name = "pairwise_add"
harness = false
[[bench]]
name = "pairwise_pow"
harness = false
[[bench]]
name = "poseidon"
harness = false
[[bench]]
name = "elgamal"
harness = false
[[bench]]
name = "accum_einsum_matmul"
harness = false
[[bench]]
name = "accum_conv"
harness = false
[[bench]]
name = "accum_sumpool"
harness = false
[[bench]]
name = "relu"
harness = false
[[bench]]
name = "accum_matmul_relu"
harness = false
[[bin]]
name = "ezkl"
test = false
bench = false
required-features = ["ezkl"]
[features]
default = ["ezkl"]
render = ["halo2_proofs/dev-graph", "plotters"]
onnx = ["dep:tract-onnx"]
python-bindings = ["pyo3", "pyo3-log", "pyo3-asyncio"]
ezkl = ["onnx", "serde", "serde_json", "log", "colored", "env_logger", "tabled/color", "colored_json", "halo2_proofs/circuit-params"]