code: def create_from_user_input(raw_properties, jamfile_module, location):
      
      assert is_iterable_typed(raw_properties, basestring)
      assert isinstance(jamfile_module, basestring)
      assert isinstance(location, basestring)
      properties = property.create_from_strings(raw_properties, True)
      properties = property.translate_paths(properties, location)
      properties = property.translate_indirect(properties, jamfile_module)
  
      project_id = get_manager().projects().attributeDefault(jamfile_module, 'id', None)
      if not project_id:
          project_id = os.path.abspath(location)
      properties = property.translate_dependencies(properties, project_id, location)
      properties = property.expand_subfeatures_in_conditions(properties)
      return create(properties)
docs: Creates a property-set from the input given by the user, in the
      context of 'jamfile-module' at 'location