# Utils

## restless.utils

class restless.utils.MoreTypesJSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)

  A JSON encoder that allows for more common Python data types.

  In addition to the defaults handled by `json`, this also supports:

  > - `datetime.datetime`

  > - `datetime.date`

  > - `datetime.time`

  > - `decimal.Decimal`

  > - `uuid.UUID`

  default(data)

    Implement this method in a subclass such that it returns a serializable object for `o`, or calls the base implementation (to raise a `TypeError`).

    For example, to support arbitrary iterators, you could implement default like this:

        def default(self, o):
            try:
                iterable = iter(o)
            except TypeError:
                pass
            else:
                return list(iterable)
            # Let the base class default method raise the TypeError
            return super().default(o)

restless.utils.format_traceback(exc_info)