<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def show_info(self, **kwargs):
 """ Print info on the flow i.e. total number of tasks, works, tasks grouped by class. Example: Task Class Number ScfTask 1 NscfTask 1 ScrTask 2 SigmaTask 6 """

        stream = kwargs.pop("stream", sys.stdout)

        lines = [str(self)]
        app = lines.append

        app("Number of works: %d, total number of tasks: %s" % (len(self), self.num_tasks) )
        app("Number of tasks with a given class:\n")

        # Build Table
        data = [[cls.__name__, len(tasks)]
                for cls, tasks in self.groupby_task_class().items()]
        app(str(tabulate(data, headers=["Task Class", "Number"])))

        stream.write("\n".join(lines))