code: def inspect(package):
      
      team, owner, pkg = parse_package(package)
  
      store, pkgroot = PackageStore.find_package(team, owner, pkg)
      if pkgroot is None:
          raise CommandException("Package {package} not found.".format(package=package))
  
      def _print_children(children, prefix, path):
          for idx, (name, child) in enumerate(children):
              if idx == len(children) - 1:
                  new_prefix = u"└─"
                  new_child_prefix = u"  "
              else:
                  new_prefix = u"├─"
                  new_child_prefix = u"│ "
              _print_node(child, prefix + new_prefix, prefix + new_child_prefix, name, path)
  
      def _print_node(node, prefix, child_prefix, name, path):
          name_prefix = u"─ "
          if isinstance(node, GroupNode):
              children = list(node.children.items())
              if children:
                  name_prefix = u"┬ "
              print(prefix + name_prefix + name)
              _print_children(children, child_prefix, path + name)
          elif node.metadata['q_target'] == TargetType.PANDAS.value:
              df = store.load_dataframe(node.hashes)
              assert isinstance(df, pd.DataFrame)
              types = ", ".join("%r: %s" % (name, dtype) for name, dtype in df.dtypes.items())
              if len(types) > 64:
                  types = types[:63] + u"…"
              info = "shape %s, types %s" % (df.shape, types)
              print(prefix + name_prefix + name + ": " + info)
          else:
              print(prefix + name_prefix + name)
  
      print(store.package_path(team, owner, pkg))
      _print_children(children=pkgroot.children.items(), prefix='', path='')
docs: Inspect package details