def parse_humanip(humanip_str):
    """
    takes a humanip like string and return a dictionary containing wordparts
    example:
      humanip_str == "v1/en:muscle-abandon-abandon-access"
      will return
      {
        'version': 1, 
        'language': "en",
        'words': ["muscle", "abandon", "abandon", "access"]
      }
    """
    parsed = {'version': None, 'language': None, 'words': []}
    version_language, words = humanip_str.split(":")
    version, language = version_language.split("/")
    word_list = words.split("-")
    parsed['version'] = int(version.strip("v"))
    parsed['language'] = language
    parsed['words'] = word_list
    return parsed