code: def to_slug(value, incoming=None, errors="strict"):
      
      value = safe_decode(value, incoming, errors)
      # NOTE(aababilov): no need to use safe_(encode|decode) here:
      # encodings are always "ascii", error handling is always "ignore"
      # and types are always known (first: unicode; second: str)
      value = unicodedata.normalize("NFKD", value).encode(
          "ascii", "ignore").decode("ascii")
      value = SLUGIFY_STRIP_RE.sub("", value).strip().lower()
      return SLUGIFY_HYPHENATE_RE.sub("-", value)
docs: Normalize string.
  
      Convert to lowercase, remove non-word characters, and convert spaces
      to hyphens.
  
      This function was copied from novaclient.openstack.strutils
  
      Inspired by Django's `slugify` filter.
  
      :param value: Text to slugify
      :param incoming: Text's current encoding
      :param errors: Errors handling policy. See here for valid
          values http://docs.python.org/2/library/codecs.html
      :returns: slugified unicode representation of `value`
      :raises TypeError: If text is not an instance of str