docs: def get_feature_names(host_name, client_name, client_pass):
      """
      Get the names of all features in a PServer client.
  
      Inputs: - host_name: A string containing the address of the machine where the PServer instance is hosted.
              - client_name: The PServer client name.
              - client_pass: The PServer client's password.
  
      Output: - feature_names: A python list of feature names.
      """
      # Construct request.
      request = construct_request(model_type="pers",
                                  client_name=client_name,
                                  client_pass=client_pass,
                                  command="getftrdef",
                                  values="ftr=*")
  
      # Send request.
      request_result = send_request(host_name,
                                    request)
  
      # Extract a python list from xml object.
      feature_names = list()
      append_feature_name = feature_names.append
  
      if request_result is not None:
          feature_names_xml = request_result.text
          tree = etree.parse(StringIO(feature_names_xml))
          root = tree.getroot()
  
          xml_rows = root.findall("row/ftr")
          for xml_row in xml_rows:
              append_feature_name(xml_row.text)
  
      return feature_names