docs: def lookup_keys(self, name):
          ''' Lookup the keyword arguments needed for a given path name
  
          Parameters:
              name (str):
                  The name of the path
  
          Returns:
              A list of keywords needed for filepath generation
  
          '''
  
          assert name, 'Must specify a path name'
          assert name in self.templates.keys(), '{0} must be defined in the path templates'.format(name)
          # find all words inside brackets
          keys = list(set(re.findall(r'{(.*?)}', self.templates[name])))
          # lookup any keys referenced inside special functions
          skeys = self._check_special_kwargs(name)
          keys.extend(skeys)
          # remove any duplicates
          keys = list(set(keys))
          # remove the type : descriptor
          keys = [k.split(':')[0] for k in keys]
          return keys