Another simple ioc framework for python


Keywords
dependency-injection, ioc
License
MIT
Install
pip install anyioc==0.15.0

Documentation

anyioc

GitHub Testing PyPI GitHub code size in bytes

Another simple ioc framework for python.

Usage

from anyioc import ServiceProvider
provider = ServiceProvider()
provider.register_singleton('the key', lambda ioc: 102) # ioc will be a `IServiceProvider`
value = provider.get('the key')
assert value == 102

Register and resolve

By default, you can use following methods to register services:

  • ServiceProvider.register_singleton(key, factory)
  • ServiceProvider.register_scoped(key, factory)
  • ServiceProvider.register_transient(key, factory)
  • ServiceProvider.register(key, factory, lifetime)
  • ServiceProvider.register_value(key, value)
  • ServiceProvider.register_group(key, keys)
  • ServiceProvider.register_bind(new_key, target_key)

And use following methods to resolve services:

  • ServiceProvider.__getitem__(key)
  • ServiceProvider.get(key)
  • ServiceProvider.get_many(key)

get return None if the service was not found, but __getitem__ will raise a ServiceNotFoundError.

Read full documentation.