<commit_before>import click

def echo_pair(key, value=None, indent=0,
              value_style=None, key_style=None,
              sep=': '):
    """Pretty print a key value pair
    :param key: The key
    :param value: The value
    :param indent: Number of leading spaces
    :param value_style: click.style parameters of value as a dict, default is none
    :param key_style:  click.style parameters of value as a dict, default is bold text
    :param sep: separator between key and value
    """
    assert key
    key = ' ' * indent + key + sep
    if key_style is None:
        click.secho(key, bold=True, nl=False)
    else:
        click.secho(key, nl=False, **key_style)

    if value is None:
        click.echo('')
    else:

        if value_style is None:
            click.echo(value)
        else:
            click.secho(value, **value_style)


def pretty_print_stack(stack, detail=False):
    """Pretty print stack status"""
    echo_pair('Stack ID', stack.stack_id)

    if not detail:
        return

    echo_pair('Name', stack.stack_name)
    echo_pair('Description', stack.description)

    echo_pair('Status', stack.stack_status,
              value_style=STACK_STATUS_TO_COLOR[stack.stack_status])
    echo_pair('Created', stack.creation_time)
    if stack.last_updated_time:
        echo_pair('Last Updated', stack.last_updated_time)
    echo_pair('Capabilities', stack.capabilities)<commit_msg>Don't print pair key as bold.<commit_after>import click

def echo_pair(key, value=None, indent=0,
              value_style=None, key_style=None,
              sep=': '):
    """Pretty print a key value pair
    :param key: The key
    :param value: The value
    :param indent: Number of leading spaces
    :param value_style: click.style parameters of value as a dict, default is none
    :param key_style:  click.style parameters of value as a dict, default is bold text
    :param sep: separator between key and value
    """
    assert key
    key = ' ' * indent + key + sep
    if key_style is None:
        click.secho(key, bold=False, nl=False)
    else:
        click.secho(key, nl=False, **key_style)

    if value is None:
        click.echo('')
    else:

        if value_style is None:
            click.echo(value)
        else:
            click.secho(value, **value_style)


def pretty_print_stack(stack, detail=False):
    """Pretty print stack status"""
    echo_pair('Stack ID', stack.stack_id)

    if not detail:
        return

    echo_pair('Name', stack.stack_name)
    echo_pair('Description', stack.description)

    echo_pair('Status', stack.stack_status,
              value_style=STACK_STATUS_TO_COLOR[stack.stack_status])
    echo_pair('Created', stack.creation_time)
    if stack.last_updated_time:
        echo_pair('Last Updated', stack.last_updated_time)
    echo_pair('Capabilities', stack.capabilities)
{'fraction_non_alphanumeric': 0.10066410346032856, 'fraction_numerical': 0.0006990562740300594, 'mean_word_length': 2.851951547779273, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1528058', 'n_tokens_mistral': 872, 'n_tokens_neox': 853, 'n_words': 248}