import re
import keyword


def is_valid_identifier(string):
    """Check if the string is a valid project/package name.

    .. note::

        Valid characters for ``projectName`` are::

            * uppercase and lowercase letters A through Z
            * underscore '_'
            * the digits 0 through 9 except for the first character

    Args:
        string (str): project/package name

    Returns:
        bool: True if string is valid project/package name else False

    """


    if not re.match("[_A-Za-z][_a-zA-Z0-9]*$", string):
        return False
    if keyword.iskeyword(string):
        return False

    return True