Files
clawhdf5/crates/clawhdf5-py/Cargo.toml
T
Omar Sobh a319405ffc
CI / test (push) Failing after 2s
security: Tier 3 — Android JNI length validation, pyo3 bump, WAL caps
- clawhdf5-android: validate embedding_len/query_embedding_len against
  the handle's configured embedding_dim (and reject null pointers)
  before constructing a slice via from_raw_parts in edgehdf5_save and
  edgehdf5_hybrid_search. Strengthen the # Safety docs to state the
  now-enforced invariant and its limits. Add unit tests covering
  mismatched length and null-pointer rejection.
- clawhdf5-py: bump pyo3/numpy 0.28 -> 0.29, clearing RUSTSEC-2026-0176
  (OOB read in PyList/PyTuple iterator) and RUSTSEC-2026-0177 (missing
  Sync bound on PyCFunction::new_closure). No source changes needed;
  confirmed via cargo audit that both advisories no longer appear.
- clawhdf5-agent/wal.rs: cap read_len_prefixed_str/read_embedding's
  length claims at a new MAX_WAL_FIELD_LEN (64 MiB) before allocating,
  so a corrupted/truncated WAL length field fails cleanly instead of
  attempting a huge allocation. Add regression tests for both.
- BENCHMARKS.md: add a top-of-file traceability note distinguishing the
  dated/hardware-cited/reproducible h5bench and tank-validation sections
  from the older sections that don't yet meet that bar.
2026-08-05 12:10:49 -07:00

29 lines
746 B
TOML

[package]
name = "clawhdf5-py"
version = "2.1.0"
edition = "2024"
description = "Python bindings for rustyhdf5 — a pure-Rust HDF5 library"
license = "MIT"
repository = "https://github.com/redclawsystems/clawhdf5"
readme = "README.md"
keywords = ["hdf5", "python", "bindings", "science"]
categories = ["api-bindings", "science"]
[lib]
name = "clawhdf5"
crate-type = ["cdylib", "rlib"]
[dependencies]
clawhdf5_rs = { path = "../clawhdf5", version = "2.1.0", package = "clawhdf5" }
clawhdf5-format = { path = "../clawhdf5-format", version = "2.1.0" }
pyo3 = "0.29"
numpy = "0.29"
[features]
extension-module = ["pyo3/extension-module"]
[package.metadata.docs.rs]
features = []
no-default-features = true
targets = ["x86_64-unknown-linux-gnu"]