Skip to content
Snippets Groups Projects

JSON Serializer for pystencils config

Merged Helen Schottenhamml requested to merge mr_json_serializer into master
1 unresolved thread
Files
2
@@ -9,7 +9,7 @@ from blitzdb.backends.file.backend import serializer_classes
from blitzdb.backends.file.utils import JsonEncoder
from pystencils.cpu.cpujit import get_compiler_config
from pystencils import CreateKernelConfig, Target, Backend
from pystencils import CreateKernelConfig, Target, Backend, Field
import json
import sympy as sp
@@ -30,6 +30,10 @@ class PystencilsJsonEncoder(JsonEncoder):
return str(obj)
if isinstance(obj, (Target, Backend, sp.Symbol)):
return obj.name
if isinstance(obj, Field):
return f"pystencils.Field(name = {obj.name}, field_type = {obj.field_type.name}, " \
f"dtype = {str(obj.dtype)}, layout = {obj.layout}, shape = {obj.shape}, " \
f"strides = {obj.strides})"
return JsonEncoder.default(self, obj)