code: def setup_integrations(integrations, with_defaults=True):
      # type: (List[Integration], bool) -> Dict[str, Integration]
      
      integrations = dict(
          (integration.identifier, integration) for integration in integrations or ()
      )
  
      logger.debug("Setting up integrations (with default = %s)", with_defaults)
  
      if with_defaults:
          for integration_cls in iter_default_integrations():
              if integration_cls.identifier not in integrations:
                  instance = integration_cls()
                  integrations[instance.identifier] = instance
  
      for identifier, integration in iteritems(integrations):
          with _installer_lock:
              if identifier not in _installed_integrations:
                  logger.debug(
                      "Setting up previously not enabled integration %s", identifier
                  )
                  try:
                      type(integration).setup_once()
                  except NotImplementedError:
                      if getattr(integration, "install", None) is not None:
                          logger.warn(
                              "Integration %s: The install method is "
                              "deprecated. Use `setup_once`.",
                              identifier,
                          )
                          integration.install()
                      else:
                          raise
                  _installed_integrations.add(identifier)
  
      for identifier in integrations:
          logger.debug("Enabling integration %s", identifier)
  
      return integrations
docs: Given a list of integration instances this installs them all.  When
      `with_defaults` is set to `True` then all default integrations are added
      unless they were already provided before.