code: def _check_ubridge_version(self, env=None):
          
          try:
              output = yield from subprocess_check_output(self._path, "-v", cwd=self._working_dir, env=env)
              match = re.search("ubridge version ([0-9a-z\.]+)", output)
              if match:
                  self._version = match.group(1)
                  if sys.platform.startswith("win") or sys.platform.startswith("darwin"):
                      minimum_required_version = "0.9.12"
                  else:
                      # uBridge version 0.9.14 is required for packet filters 
                      # to work for IOU nodes.
                      minimum_required_version = "0.9.14"
                  if parse_version(self._version) < parse_version(minimum_required_version):
                      raise UbridgeError("uBridge executable version must be >= {}".format(minimum_required_version))
              else:
                  raise UbridgeError("Could not determine uBridge version for {}".format(self._path))
          except (OSError, subprocess.SubprocessError) as e:
              raise UbridgeError("Error while looking for uBridge version: {}".format(e))
docs: Checks if the ubridge executable version