Skip to content

🧵 Wireup

Dependency injection container with a focus on developer experience, type safety and ease of use.

New: Dependency injection for Flask

Simplify usage in Flask applications by using the new Flask integration!

  • Automatically inject dependencies on views without having to manually decorate.
  • Expose Flask application configuration in the container.

Key features

Dependency Injection
Inject services and configuration using a clean and intuitive syntax.
Auto-configuration
Automatically inject dependencies based on their types without additional configuration.
Short and long-lived processes
Suitable for use in long-running as well as short-lived processes. Preload services for performance or lazily inject to instantiate only what you use.
Interfaces / Abstract classes
Define abstract types and have the container automatically inject the implementation.
Multiple Containers
Use the provided container or instantiate and use multiple ones depending on your project's needs.
Factory pattern
Defer instantiation to specialized factories for full control over object creation when necessary.
Singletons/Transient dependencies
Declare dependencies as transient or singletons which tells the container whether to inject a fresh copy or reuse existing instances.
Framework Agnostic
Seamlessly integrate with popular web frameworks like Django, Flask and FastAPI to simplify dependency management.

License

This project is licensed under the terms of the MIT license.