# pico-ioc

> Lightweight, async-native dependency injection container for Python

## Docs

- [Home](https://dperezcabrera.github.io/pico-ioc/)
- [Getting Started](https://dperezcabrera.github.io/pico-ioc/getting-started/)
- [FAQ](https://dperezcabrera.github.io/pico-ioc/faq/)
- [Learning Roadmap](https://dperezcabrera.github.io/pico-ioc/LEARN/)
- [Custom Scopes](https://dperezcabrera.github.io/pico-ioc/how-to/custom-scopes/)
- [Interceptors](https://dperezcabrera.github.io/pico-ioc/how-to/interceptors/)
- [Testing](https://dperezcabrera.github.io/pico-ioc/how-to/testing/)
- [Migration Guide](https://dperezcabrera.github.io/pico-ioc/migration/)
- [README](https://dperezcabrera.github.io/pico-ioc/examples/README/)
- [FastAPI TODO App](https://dperezcabrera.github.io/pico-ioc/examples/fastapi-todo-app/)
- [README](https://dperezcabrera.github.io/pico-ioc/user-guide/README/)
- [Core Concepts](https://dperezcabrera.github.io/pico-ioc/user-guide/core-concepts/)
- [Configuration Basics](https://dperezcabrera.github.io/pico-ioc/user-guide/configuration-basic/)
- [Configuration Binding](https://dperezcabrera.github.io/pico-ioc/user-guide/configuration-binding/)
- [Scopes & Lifecycle](https://dperezcabrera.github.io/pico-ioc/user-guide/scopes-lifecycle/)
- [Qualifiers & Lists](https://dperezcabrera.github.io/pico-ioc/user-guide/qualifiers-lists/)
- [Testing](https://dperezcabrera.github.io/pico-ioc/user-guide/testing/)
- [README](https://dperezcabrera.github.io/pico-ioc/advanced-features/README/)
- [Async Resolution](https://dperezcabrera.github.io/pico-ioc/advanced-features/async-resolution/)
- [AOP & Interceptors](https://dperezcabrera.github.io/pico-ioc/advanced-features/aop-interceptors/)
- [AOP Proxies](https://dperezcabrera.github.io/pico-ioc/advanced-features/aop-proxies/)
- [Event Bus](https://dperezcabrera.github.io/pico-ioc/advanced-features/event-bus/)
- [Conditional Binding](https://dperezcabrera.github.io/pico-ioc/advanced-features/conditional-binding/)
- [Health Checks](https://dperezcabrera.github.io/pico-ioc/advanced-features/health-checks/)
- [Custom Scanners](https://dperezcabrera.github.io/pico-ioc/advanced-features/custom-scanners/)
- [Self Injection](https://dperezcabrera.github.io/pico-ioc/advanced-features/self-injection/)
- [README](https://dperezcabrera.github.io/pico-ioc/observability/README/)
- [Container Context](https://dperezcabrera.github.io/pico-ioc/observability/container-context/)
- [Observers & Metrics](https://dperezcabrera.github.io/pico-ioc/observability/observers-metrics/)
- [Exporting Graph](https://dperezcabrera.github.io/pico-ioc/observability/exporting-graph/)
- [Resolution Graph](https://dperezcabrera.github.io/pico-ioc/observability/resolution-graph/)
- [README](https://dperezcabrera.github.io/pico-ioc/cookbook/README/)
- [Multi-Tenant Apps](https://dperezcabrera.github.io/pico-ioc/cookbook/pattern-multi-tenant/)
- [Hot Reload](https://dperezcabrera.github.io/pico-ioc/cookbook/pattern-hot-reload/)
- [CLI Applications](https://dperezcabrera.github.io/pico-ioc/cookbook/pattern-cli-app/)
- [CQRS Command Bus](https://dperezcabrera.github.io/pico-ioc/cookbook/pattern-cqrs/)
- [Feature Toggles (AOP)](https://dperezcabrera.github.io/pico-ioc/cookbook/pattern-aop-feature-toggle/)
- [Structured Logging (AOP)](https://dperezcabrera.github.io/pico-ioc/cookbook/pattern-aop-structured-logging/)
- [Security Checks (AOP)](https://dperezcabrera.github.io/pico-ioc/cookbook/pattern-aop-security/)
- [Method Profiling (AOP)](https://dperezcabrera.github.io/pico-ioc/cookbook/pattern-aop-profiling/)
- [Config Overrides](https://dperezcabrera.github.io/pico-ioc/cookbook/pattern-config-overrides/)
- [README](https://dperezcabrera.github.io/pico-ioc/architecture/README/)
- [Design Principles](https://dperezcabrera.github.io/pico-ioc/architecture/design-principles/)
- [Comparison](https://dperezcabrera.github.io/pico-ioc/architecture/comparison/)
- [Internals](https://dperezcabrera.github.io/pico-ioc/architecture/internals/)
- [Runtime Model](https://dperezcabrera.github.io/pico-ioc/architecture/runtime-model-scheduling/)
- [Docs Assets](https://dperezcabrera.github.io/pico-ioc/architecture/docs-assets/)
- [README](https://dperezcabrera.github.io/pico-ioc/adr/README/)
- [ADR-001 Async Native](https://dperezcabrera.github.io/pico-ioc/adr/adr-0001-async-native/)
- [ADR-002 Tree Config](https://dperezcabrera.github.io/pico-ioc/adr/adr-0002-tree-based-configuration/)
- [ADR-003 Context Scopes](https://dperezcabrera.github.io/pico-ioc/adr/adr-0003-context-aware-scopes/)
- [ADR-004 Observability](https://dperezcabrera.github.io/pico-ioc/adr/adr-0004-observability/)
- [ADR-005 AOP](https://dperezcabrera.github.io/pico-ioc/adr/adr-0005-aop/)
- [ADR-006 Eager Validation](https://dperezcabrera.github.io/pico-ioc/adr/adr-0006-eager-validation/)
- [ADR-007 Event Bus](https://dperezcabrera.github.io/pico-ioc/adr/adr-0007-event_bus/)
- [ADR-008 Circular Dependencies](https://dperezcabrera.github.io/pico-ioc/adr/adr-0008-circular-dependencies/)
- [ADR-009 Flexible Provides](https://dperezcabrera.github.io/pico-ioc/adr/adr-0009-flexible-provides/)
- [ADR-010 Unified Configuration](https://dperezcabrera.github.io/pico-ioc/adr/adr-0010-unified-configuration/)
- [ADR-011 Custom Scanners](https://dperezcabrera.github.io/pico-ioc/adr/adr-0011-custom-scanners/)
- [ADR-012 Resolution Path (Proposed)](https://dperezcabrera.github.io/pico-ioc/adr/adr-0012-resolution-path-in-errors/)
- [ADR-013 Hot Config Refresh](https://dperezcabrera.github.io/pico-ioc/adr/adr-0013-hot-config-refresh/)
- [Built for the AI Era](https://dperezcabrera.github.io/pico-ioc/ai-ready/)
- [AI Coding Skills](https://dperezcabrera.github.io/pico-ioc/skills/)
- [README](https://dperezcabrera.github.io/pico-ioc/api-reference/README/)
- [Analysis API](https://dperezcabrera.github.io/pico-ioc/api-reference/analysis-api/)
- [Constants](https://dperezcabrera.github.io/pico-ioc/api-reference/constants/)
- [Glossary](https://dperezcabrera.github.io/pico-ioc/api-reference/glossary/)
- [Decorators](https://dperezcabrera.github.io/pico-ioc/api-reference/decorators/)
- [Container API](https://dperezcabrera.github.io/pico-ioc/api-reference/container/)
- [Container Context API](https://dperezcabrera.github.io/pico-ioc/api-reference/container-context-api/)
- [Protocols](https://dperezcabrera.github.io/pico-ioc/api-reference/protocols/)
- [Provider Selector](https://dperezcabrera.github.io/pico-ioc/api-reference/provider-selector/)
- [EventBus API](https://dperezcabrera.github.io/pico-ioc/api-reference/event_bus/)
- [Exceptions](https://dperezcabrera.github.io/pico-ioc/api-reference/exceptions/)

## For agents

- [Full docs in one file](https://dperezcabrera.github.io/pico-ioc/llms-full.txt)
- [AGENTS.md (conventions and boundaries)](https://raw.githubusercontent.com/dperezcabrera/pico-ioc/main/AGENTS.md)
- [Flagship use case (whole ecosystem wired)](https://dperezcabrera.github.io/pico-boot/flagship/)
- [PyPI](https://pypi.org/project/pico-ioc/)
