Have a large application where you want to decrease coupling between components? Need to supply configuration to your application's various services? Want to make a pluggable application where others can supply services?
Inversion of Control and Dependency Injection are two patterns commonly used for these goals.
wired
is an implementation of an inversion-of-control (IoC) container and
may be used as the core of a dependency injection (DI) framework or simply as
a way to separate config-time from runtime for services in an application. It
also provides caching such that a container maintains a local copy of each
service as they are instantiated.
wired aims to scale down to the simplest cases and up to very large, custom systems. It has one dependency and that dependency has one dependency.
See https://wired.readthedocs.io or
docs/index.rst
in this distribution for detailed documentation.