code: def parse_requirements_list(requirements_list):
      
      req_list = []
  
      for requirement in requirements_list:
          requirement_no_comments = requirement.split('#')[0].strip()
  
          # if matching requirement line (Thing==1.2.3), update dict, continue
          req_match = re.match(
              r'\s*(?P<package>[^\s\[\]]+)(?P<extras>\[\S+\])?==(?P<version>\S+)',
              requirement_no_comments
          )
          if req_match:
              req_list.append({
                  'package': req_match.group('package'),
                  'version': req_match.group('version'),
              })
  
      return req_list
docs: Take a list and return a list of dicts with {package, versions) based on the requirements specs
  
      :param requirements_list: string
      :return: string