docs: def rates(ctx, opts):
      """Check current API rate limits."""
      click.echo("Retrieving rate limits ... ", nl=False)
  
      context_msg = "Failed to retrieve status!"
      with handle_api_exceptions(ctx, opts=opts, context_msg=context_msg):
          with maybe_spinner(opts):
              resources_limits = get_rate_limits()
  
      click.secho("OK", fg="green")
  
      headers = ["Resource", "Throttled", "Remaining", "Interval (Seconds)", "Reset"]
  
      rows = []
      for resource, limits in six.iteritems(resources_limits):
          rows.append(
              [
                  click.style(resource, fg="cyan"),
                  click.style(
                      "Yes" if limits.throttled else "No",
                      fg="red" if limits.throttled else "green",
                  ),
                  "%(remaining)s/%(limit)s"
                  % {
                      "remaining": click.style(
                          six.text_type(limits.remaining), fg="yellow"
                      ),
                      "limit": click.style(six.text_type(limits.limit), fg="yellow"),
                  },
                  click.style(six.text_type(limits.interval), fg="blue"),
                  click.style(six.text_type(limits.reset), fg="magenta"),
              ]
          )
  
      if resources_limits:
          click.echo()
          utils.pretty_print_table(headers, rows)
  
      click.echo()
  
      num_results = len(resources_limits)
      list_suffix = "resource%s" % ("s" if num_results != 1 else "")
      utils.pretty_print_list_info(num_results=num_results, suffix=list_suffix)