def convert_to_valid_module_name(name):
    """Convert a module name to a PEP8 compliant module name.
    
    * lowercase
    * whitespace -> underscore 
    * dash -> underscore 
    * if leading numeric character, prepend '_'
      Names like this are discouraged by https://www.python.org/dev/peps/pep-0008/#package-and-module-names,
      but so are, names starting with a numeric character.
    """
    if name[0].isnumeric():
        name = '_' + name
    valid_module_name = name.lower().replace('-', '_').replace(' ', '_')
    return valid_module_name
