Skip to content

RelPrim 0.8.0

Choose a tag to compare

@bart-rozycki bart-rozycki released this 27 Jul 20:23
· 5 commits to main since this release

Summary

RelPrim 0.8.0 adds idempotent execution.

This release introduces primitives for preventing duplicate async operation execution, coordinating concurrent callers and replaying successful results.

Added

  • IdempotencyStatus
  • IdempotencyResult
  • IdempotencyStore
  • InMemoryIdempotencyStore
  • IdempotencyPolicy
  • idempotency_policy()
  • IdempotencyReentryError
  • AsyncOperation.with_idempotency()
  • @resilient(...) idempotency configuration
  • Concurrent execution joining
  • Successful result replay
  • Configurable result TTL
  • Cancellation-safe coordination
  • Idempotency execution report metadata
  • Idempotency documentation and example

Behavior

Idempotency coordinates the full operation lifecycle, including retries, timeouts, validation, circuit breaker checks and fallbacks.

Failed executions are not cached.

Limitations

InMemoryIdempotencyStore coordinates calls only within one Python process and is not a distributed or durable store.

Notes

RelPrim is still in early development and APIs may change before the first stable release.