code: def get_matching_versions(
      available_protobuf_vs: List[str],
      protobuf_reqs: List[Tuple[str, str]],
  ) -> List[str]:
      matching_vs = []
      for v in available_protobuf_vs:
          if all(
              eval(
                  f"parse_version({v!r}) {rq[0]} parse_version({rq[1]!r})"
              )
              for rq in protobuf_reqs
          ):
              matching_vs.append(v)
  
      return sorted(list(set(matching_vs)))
  
file_path: wandb/tools/check-protobuf-version-compatibility.py
imports: import pathlib
  import platform
  import re
  import subprocess
  import sys
  from typing import List, Tuple
  from pkg_resources import parse_version
label_desc: Use image node_id 3 for calling a global function with example usage: get_matching_versions(available_protobuf_vs, protobuf_reqs) and returns: sorted