text: import os
  import sys
  
  from avalon import api, io
  from avalon.vendor import Qt
  from pype import lib
  import pyblish.api
  
  
  def check_inventory():
      if not lib.any_outdated():
          return
  
      host = api.registered_host()
      outdated_containers = []
      for container in host.ls():
          representation = container['representation']
          representation_doc = io.find_one(
              {
                  "_id": io.ObjectId(representation),
                  "type": "representation"
              },
              projection={"parent": True}
          )
          if representation_doc and not lib.is_latest(representation_doc):
              outdated_containers.append(container)
  
      # Warn about outdated containers.
      print("Starting new QApplication..")
      app = Qt.QtWidgets.QApplication(sys.argv)
  
      message_box = Qt.QtWidgets.QMessageBox()
      message_box.setIcon(Qt.QtWidgets.QMessageBox.Warning)
      msg = "There are outdated containers in the scene."
      message_box.setText(msg)
      message_box.exec_()
  
      # Garbage collect QApplication.
      del app
  
  
  def application_launch():
      check_inventory()
  
  
  def install():
      print("Installing Pype config...")
  
      plugins_directory = os.path.join(
          os.path.dirname(os.path.dirname(os.path.dirname(__file__))),
          "plugins",
          "photoshop"
      )
  
      pyblish.api.register_plugin_path(
          os.path.join(plugins_directory, "publish")
      )
      api.register_plugin_path(
          api.Loader, os.path.join(plugins_directory, "load")
      )
      api.register_plugin_path(
          api.Creator, os.path.join(plugins_directory, "create")
      )
  
      pyblish.api.register_callback(
          "instanceToggled", on_pyblish_instance_toggled
      )
  
      api.on("application.launched", application_launch)
  
  
  def on_pyblish_instance_toggled(instance, old_value, new_value):
      """Toggle layer visibility on instance toggles."""
      instance[0].Visible = new_value
  