mani_skill.utils.io_utils#

Classes#

CustomJsonEncoder

Custom json encoder to support more types, like numpy and Path.

Functions#

dump_json(filename, obj[, encoder_cls])

load_json(filename)

write_txt(filename, content)

Module Contents#

class mani_skill.utils.io_utils.CustomJsonEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]#

Bases: json.JSONEncoder

Custom json encoder to support more types, like numpy and Path.

default(obj)[source]#

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 JSONEncoder.default(self, o)
mani_skill.utils.io_utils.dump_json(filename, obj, encoder_cls=CustomJsonEncoder, **kwargs)[source]#
Parameters:

filename (Union[str, pathlib.Path]) –

mani_skill.utils.io_utils.load_json(filename)[source]#
Parameters:

filename (Union[str, pathlib.Path]) –

mani_skill.utils.io_utils.write_txt(filename, content)[source]#
Parameters:
  • filename (Union[str, pathlib.Path]) –

  • content (Union[str, Sequence[str]]) –