Source code for darwin.exporter.formats.numpy_encoder

import json
from typing import Any

import numpy as np


[docs] class NumpyEncoder(json.JSONEncoder): """ Holds auxiliary functions to bridge numpy functionality with Python primitive types which are JSON friendly. """
[docs] def default(self, obj: Any) -> Any: """ Converts the given numpy object into a Python's primitive type. Parameters ---------- obj : Any The object to convert. Returns ------- Any The converted object. """ if isinstance(obj, np.integer): return int(obj) elif isinstance(obj, np.floating): return float(obj) elif isinstance(obj, np.ndarray): return obj.tolist() else: return super(NumpyEncoder, self).default(obj)