code: def register(self, lookup: Lookup, encoder: Encoder, decoder: Decoder, label: str=None) -> None:
          
          self.register_encoder(lookup, encoder, label=label)
          self.register_decoder(lookup, decoder, label=label)
docs: Registers the given ``encoder`` and ``decoder`` under the given
          ``lookup``.  A unique string label may be optionally provided that can
          be used to refer to the registration by name.
  
          :param lookup: A type string or type string matcher function
              (predicate).  When the registry is queried with a type string
              ``query`` to determine which encoder or decoder to use, ``query``
              will be checked against every registration in the registry.  If a
              registration was created with a type string for ``lookup``, it will
              be considered a match if ``lookup == query``.  If a registration
              was created with a matcher function for ``lookup``, it will be
              considered a match if ``lookup(query) is True``.  If more than one
              registration is found to be a match, then an exception is raised.
  
          :param encoder: An encoder callable or class to use if ``lookup``
              matches a query.  If ``encoder`` is a callable, it must accept a
              python value and return a ``bytes`` value.  If ``encoder`` is a
              class, it must be a valid subclass of :any:`encoding.BaseEncoder`
              and must also implement the :any:`from_type_str` method on
              :any:`base.BaseCoder`.
  
          :param decoder: A decoder callable or class to use if ``lookup``
              matches a query.  If ``decoder`` is a callable, it must accept a
              stream-like object of bytes and return a python value.  If
              ``decoder`` is a class, it must be a valid subclass of
              :any:`decoding.BaseDecoder` and must also implement the
              :any:`from_type_str` method on :any:`base.BaseCoder`.
  
          :param label: An optional label that can be used to refer to this
              registration by name.  This label can be used to unregister an
              entry in the registry via the :any:`unregister` method and its
              variants.