@ -0,0 +1,24 @@
import abc
from typing import Dict
from pydantic import BaseModel
class BaseData(BaseModel, abc.ABC):
filename: str
metadata: Dict = {}
@classmethod
def parse(cls, **kwargs):
return cls.parse_obj(kwargs)
def __hash__(self):
return hash(tuple(self.dict()))
class TextData(BaseData):
text: str
class FileData(BaseData):
pass