nodes: 0, module; 1, function_definition; 2, function_name:_get_content_hash; 3, parameters; 4, comment:# type: () -> str; 5, block; 6, identifier:self; 7, expression_statement; 8, expression_statement; 9, expression_statement; 10, for_statement; 11, expression_statement; 12, return_statement; 13, comment:"""
          Returns the sha256 hash of the sorted content of the pyproject file.
          """; 14, assignment; 15, assignment; 16, identifier:key; 17, attribute; 18, block; 19, assignment; 20, identifier:content_hash; 21, identifier:content; 22, attribute; 23, identifier:relevant_content; 24, dictionary; 25, identifier:self; 26, identifier:_relevant_keys; 27, expression_statement; 28, identifier:content_hash; 29, call; 30, identifier:self; 31, identifier:_local_config; 32, assignment; 33, attribute; 34, argument_list; 35, subscript; 36, call; 37, call; 38, identifier:hexdigest; 39, identifier:relevant_content; 40, identifier:key; 41, attribute; 42, argument_list; 43, identifier:sha256; 44, argument_list; 45, identifier:content; 46, identifier:get; 47, identifier:key; 48, call; 49, attribute; 50, argument_list; 51, call; 52, identifier:encode; 53, attribute; 54, argument_list; 55, identifier:json; 56, identifier:dumps; 57, identifier:relevant_content; 58, keyword_argument; 59, identifier:sort_keys; 60, True
code: def _get_content_hash(self):  # type: () -> str
          """
          Returns the sha256 hash of the sorted content of the pyproject file.
          """
          content = self._local_config
  
          relevant_content = {}
          for key in self._relevant_keys:
              relevant_content[key] = content.get(key)
  
          content_hash = sha256(
              json.dumps(relevant_content, sort_keys=True).encode()
          ).hexdigest()
  
          return content_hash