Adds a SchemaFactory to create schema classes from dicts, json files or json urls.
The declarative schema is meant to interface with the Schema repo (https://gitlab.memri.io/memri/schema), and to allow users to definite their own schemas in a similar manner.
Remaining issues:
- Auto-generate
from_json
method for each schema - move all simple schema classes from PyMemri to schema repo?
- edge constraints from schema json ("sequenced" and "singular")
- Method to automatically perform
PodClient.add_to_schema
- Needs simple interface for plugin devs
Remaining issues:
-
from pymemri.data.schema import *
will not import all schemas, since__all__
is autogenerated by nbdev. - check difference between pymemri schema and central schema