Skip to content

Conversation

@aponysus
Copy link

What is this Python project?

Reflexio is a small, explicit retry library designed for real-world distributed systems.
It focuses on classifying failures into coarse error classes (TRANSIENT, RATE_LIMIT,
CONCURRENCY, PERMANENT, etc.) and applying different retry strategies per class. It
provides sync and async support, a simple @retry decorator, and structured retry
events for integration with logging and metrics.

What's the difference between this Python project and similar ones?

Existing retry libraries such as Tenacity and backoff generally apply a single
backoff model and treat all exceptions uniformly. Reflexio takes a different
approach:

  • Errors are classified into error classes before retry decisions are made.
  • Each error class can have its own strategy (decorrelated jitter, equal jitter,
    fixed delay, fail-fast, or no retry).
  • It emits structured retry events for observability (attempt number, event type,
    sleep duration, error class, strategy).
  • The API surface is intentionally small and explicit, making retry behavior easier
    to reason about.

GitHub: https://github.com/aponysus/reflexio
Documentation: https://aponysus.github.io/reflexio/

Anyone who agrees with this pull request could submit an Approve review to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants