def __init__(self, config, parser, plugins=None):
        for kind, plugin_info in config.plugins.entry_points.iteritems():
            entry_point = plugin_info.entry_point
            classname = plugin_info['class']

            manager_module = __import__(entry_point + '.manager', globals=globals(), locals=locals(), fromlist=(classname,))
            manager = getattr(manager_module, classname)

            self._registry[entry_point] = manager()
            self._registry[kind] = self._registry[entry_point]

            for name, plugin in self._registry[entry_point].by_name.iteritems():
                if not plugins or plugins[entry_point.split('.')[-1]] == name:
                    plugin.obj.configure(config, parser)
                    log.debug('Loaded plugin {0}.{1}'.format(entry_point, name))
config.plugins.managers is a map of entry points, their kinds, and the actual manager classes
dataset/ETHPy150Open Netflix/aminator/aminator/plugins/__init__.py/PluginManager.__init__