import json import os from pathlib import Path import sys from genson import SchemaBuilder seed_schema = { 'type': 'array', 'items': { 'type': 'object', 'properties': { 'mapping': { 'type': 'object', 'patternProperties': { # UUID pattern - GenSON will fill in the actual schema r'^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$': None, # Also handle the client-created-root pattern r'^client-created-': None } } } } } builder = SchemaBuilder() builder.add_schema(seed_schema) root = Path("path/to/conversations.json") convs = json.load(fpath.open()) builder.add_object(convs)