Skip to content

Add pyresilience#3209

Open
AhsanSheraz wants to merge 1 commit into
vinta:masterfrom
AhsanSheraz:add-pyresilience
Open

Add pyresilience#3209
AhsanSheraz wants to merge 1 commit into
vinta:masterfrom
AhsanSheraz:add-pyresilience

Conversation

@AhsanSheraz

Copy link
Copy Markdown

Project

pyresilience

Checklist

  • One project per PR
  • PR title format: Add project-name
  • Entry format: - [project-name](url) - Description ending with period.
  • Description is concise and short

Why This Project Is Awesome

Which criterion does it meet? (pick one)

  • Industry Standard - The go-to tool for a specific use case
  • Rising Star - 5000+ stars in < 2 years, significant adoption
  • Hidden Gem - Exceptional quality, solves niche problems elegantly

Explain:

pyresilience unifies seven fault-tolerance patterns (retry, circuit breaker, timeout, fallback, bulkhead, rate limiter, and cache) behind a single @resilient() decorator, with zero external dependencies and native async/await support.

Justification for Hidden Gem despite 54 stars (below the preferred 100–500 range):

  • Real-world usage: ~1,000 PyPI downloads/day.
  • Established: repository is ~3 months old with consistent activity (latest release v0.4.0).
  • Quality: pure Python (99.8%), MIT licensed, documented at https://pyresilience.readthedocs.io, with built-in observability (JSON logging, Prometheus, OpenTelemetry).

How It Differs

The list currently has no fault-tolerance / resilience entry (no tenacity, no circuit-breaker library), so this is added under a new Resilience section in the DevOps group. Unlike single-purpose retry libraries, pyresilience coordinates multiple patterns together — e.g. circuit-breaker state influences retry behavior — and works transparently for both sync and async functions.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@skittlexenu

Copy link
Copy Markdown

Satoshi nakamoto just woke up

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