code: def get_socket(addr, type=socket.SOCK_STREAM, proto=0):
      '''
      Return a socket object for the addr
      IP-version agnostic
      '''
  
      version = ipaddress.ip_address(addr).version
      if version == 4:
          family = socket.AF_INET
      elif version == 6:
          family = socket.AF_INET6
      return socket.socket(family, type, protof get_socket(addr, type=socket.SOCK_STREAM, proto=0):
      '''
      Return a socket object for the addr
      IP-version agnostic
      '''
  
      version = ipaddress.ip_address(addr).version
      if version == 4:
          family = socket.AF_INET
      elif version == 6:
          family = socket.AF_INET6
      return socket.socket(family, type, proto)
docs: Return a socket object for the addr
      IP-version agnostic