Skip to content

v0.3.0

Choose a tag to compare

@ianhi ianhi released this 23 Jun 00:59
v0.3.0
be47357

Added

  • ObjectStore — a local, in-process S3-compatible object store (backed by moto) with the same injectable latency/bandwidth model as the range server, for benchmarking the metadata round-trips of a consumer like Icechunk (config/refs/snapshots/manifests) that are free and invisible on a local filesystem. Optional [s3] extra. Latency is optional, so it doubles as a plain local S3 store. icechunk_storage() returns a ready-wired icechunk.Storage; stats() splits cost into metadata_requests vs data_requests.
  • StoreBehavior for emulating store quirks. conditional_writes="enforce"|"reject"|"ignore""reject" returns NotImplemented like JASMIN, making icechunk#2228 reproducible locally with no cloud credentials (repros/icechunk_2228.py).
  • LatencyMiddleware (generic WSGI middleware) and SharedPipe (sync twin of AsyncSharedPipe).

Changed

  • Renamed LatencyRangeServerHTTPRangeServer (no back-compat alias; pre-1.0). Both servers now share one shape: optional latency=/bandwidth_mbs= wire shaping plus per-server behavior=.