class_docstr: A study is one assessment and task combination in the `Benchmark` targets. It will
  build and run experiments for all the algorithms for that task.
  
  Parameters
  ----------
  benchmark: A Benchmark instance
  algorithms: list
      Algorithms used for benchmark, each algorithm can be a string or dict, with same format as `Benchmark` algorithms.
  assessment: list
      `Assessment` instance
  task: list
      `Task` instance
class_docstr_tok: ["A","study","is","one","assessment","and","task","combination","in","the","`","Benchmark","`","targets",".","It","will","build","and","run","experiments","for","all","the","algorithms","for","that","task",".","Parameters","--","--","--","--","--","benchmark",":","A","Benchmark","instance","algorithms",":","list","Algorithms","used","for","benchmark",",","each","algorithm","can","be","a","string","or","dict",",","with","same","format","as","`","Benchmark","`","algorithms",".","assessment",":","list","`","Assessment","`","instance","task",":","list","`","Task","`","instance"]
docstr: Return status of the study
docstr_tok: ["Return","status","of","the","study"]
code: def status(self):
      """Return status of the study"""
      algorithm_tasks = {}
  
      for _, experiment in self.get_experiments():
          trials = experiment.fetch_trials()
  
          algorithm_name = list(
              experiment.configuration["algorithm"].keys()
          )[0]
  
          if algorithm_tasks.get(algorithm_name, None) is None:
              task_state = {
                  "algorithm": algorithm_name,
                  "experiments": 0,
                  "assessment": self.assess_name,
                  "task": self.task_name,
                  "completed": 0,
                  "trials": 0,
              }
          else:
              task_state = algorithm_tasks[algorithm_name]
  
          task_state["experiments"] += 1
          task_state["trials"] += len(trials)
          if experiment.is_done:
              task_state["completed"] += 1
  
          algorithm_tasks[algorithm_name] = task_state
  
      return list(algorithm_tasks.values())
  
imports: import copy
  import itertools
  import time
  from collections import defaultdict
  from tabulate import tabulate
  import orion.core
  from orion.algo.base import algo_factory
  from orion.client import create_experiment
  from orion.executor.base import executor_factory
  from orion.storage.base import BaseStorageProtocol
label_desc: Use image node_id 5 for calling the Study obj's underlying member method code with example usage: obj.status() and returns: list