code: def info(ctx, input, indent, meta_member, layer, open_options):
      """
      Print information about a dataset.
  
      When working with a multi-layer dataset the first layer is used by default.
      Use the '--layer' option to select a different layer.
  
      """
      with fiona.open(input, layer=layer, **open_options) as src:
          info = src.meta
          info.update(name=src.name)
  
          try:
              info.update(bounds=src.bounds)
          except DriverError:
              info.update(bounds=None)
              logger.debug(
                  "Setting 'bounds' to None - driver was not able to calculate bounds"
              )
  
          try:
              info.update(count=len(src))
          except TypeError:
              info.update(count=None)
              logger.debug(
                  "Setting 'count' to None/null - layer does not support counting"
              )
  
          info["crs"] = src.crs.to_string()
  
          if meta_member:
              if isinstance(info[meta_member], (list, tuple)):
                  click.echo(" ".join(map(str, info[meta_member])))
              else:
                  click.echo(info[meta_member])
          else:
              click.echo(json.dumps(info, indent=indent))
  
file_path: Fiona/fiona/fio/info.py
imports: import logging
  import json
  import click
  from cligj import indent_opt
  import fiona
  import fiona.crs
  from fiona.errors import DriverError
  from fiona.fio import options, with_context_env
label_desc: Use image node_id 1 for calling a global function with example usage: info(ctx, input, indent, meta_member, layer, open_options) without return types