docs: def copy(self):
          """
          Create an inactive copy of the connection object, suitable for
          passing to a background thread.
  
          The returned copy is not connected; you must call reinit() before
          using.
          """
          c = copy.deepcopy(self)
          # Python 3 doesn't copy custom attributes of the threadlocal subclass
          c.host = copy.copy(self.host)
          c.port = copy.copy(self.port)
          c.timeout = copy.copy(self.timeout)
          c._sock = None
          return c