code: def _check_port(host, port, socket_type):
          
          if socket_type == "UDP":
              socket_type = socket.SOCK_DGRAM
          else:
              socket_type = socket.SOCK_STREAM
  
          for res in socket.getaddrinfo(host, port, socket.AF_UNSPEC, socket_type, 0, socket.AI_PASSIVE):
              af, socktype, proto, _, sa = res
              with socket.socket(af, socktype, proto) as s:
                  s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
                  s.bind(sa)  # the port is available if bind is a success
              return True
docs: Check if an a port is available and raise an OSError if port is not available
  
          :returns: boolean