Quickstart
Install, wire, and use resilience patterns in under 5 minutes.
Install
Section titled “Install”uv add lexigram-resilienceMinimal Wiring
Section titled “Minimal Wiring”import asynciofrom lexigram import Applicationfrom lexigram.resilience import ResilienceProviderfrom lexigram.resilience.config import ResilienceConfig
config = ResilienceConfig()provider = ResilienceProvider()
async def main() -> None: async with Application.boot( name="demo", providers=[provider], config=config, ) as app: print("Resilience provider ready")
asyncio.run(main())Use a Decorator
Section titled “Use a Decorator”from lexigram.resilience import retry, RetryConfigfrom lexigram.resilience import circuit_breaker, CircuitBreakerRegistry
cfg = RetryConfig(max_attempts=3, base_delay=1.0)registry = CircuitBreakerRegistry()
@retry(cfg)async def fetch_data(url: str) -> dict: ...
@circuit_breaker("api", registry)async def call_external() -> dict: ...Use the Pipeline
Section titled “Use the Pipeline”from lexigram.resilience import ResiliencePipelinefrom lexigram.contracts.infra.resilience import RetryConfig, CircuitBreakerConfig
pipeline = ResiliencePipeline( retry_config=RetryConfig(max_attempts=3), circuit_config=CircuitBreakerConfig(failure_threshold=5),)result = await pipeline.execute(my_function, arg1, arg2)Next Steps
Section titled “Next Steps”- Guide — concepts and mental model
- Configuration — all config fields
- How-Tos — common recipes