Source code for swarmauri.core.parsers.IParser

from abc import ABC, abstractmethod
from typing import List, Union, Any
from swarmauri.core.documents.IDocument import IDocument

[docs] class IParser(ABC): """ Abstract base class for parsers. It defines a public method to parse input data (str or Message) into documents, and relies on subclasses to implement the specific parsing logic through protected and private methods. """
[docs] @abstractmethod def parse(self, data: Union[str, Any]) -> List[IDocument]: """ Public method to parse input data (either a str or a Message) into a list of Document instances. This method leverages the abstract _parse_data method which must be implemented by subclasses to define specific parsing logic. """ pass