162 lines
8.4 KiB
JSON
162 lines
8.4 KiB
JSON
{
|
|
"module": "omniread.core.parser",
|
|
"content": {
|
|
"path": "omniread.core.parser",
|
|
"docstring": "# Summary\n\nAbstract parsing contracts for OmniRead.\n\nThis module defines the **format-agnostic parser interface** used to transform\nraw content into structured, typed representations.\n\nParsers are responsible for:\n\n- Interpreting a single `Content` instance\n- Validating compatibility with the content type\n- Producing a structured output suitable for downstream consumers\n\nParsers are not responsible for:\n\n- Fetching or acquiring content\n- Performing retries or error recovery\n- Managing multiple content sources",
|
|
"objects": {
|
|
"ABC": {
|
|
"name": "ABC",
|
|
"kind": "alias",
|
|
"path": "omniread.core.parser.ABC",
|
|
"signature": "<bound method Alias.signature of Alias('ABC', 'abc.ABC')>",
|
|
"docstring": null
|
|
},
|
|
"abstractmethod": {
|
|
"name": "abstractmethod",
|
|
"kind": "alias",
|
|
"path": "omniread.core.parser.abstractmethod",
|
|
"signature": "<bound method Alias.signature of Alias('abstractmethod', 'abc.abstractmethod')>",
|
|
"docstring": null
|
|
},
|
|
"Generic": {
|
|
"name": "Generic",
|
|
"kind": "alias",
|
|
"path": "omniread.core.parser.Generic",
|
|
"signature": "<bound method Alias.signature of Alias('Generic', 'typing.Generic')>",
|
|
"docstring": null
|
|
},
|
|
"TypeVar": {
|
|
"name": "TypeVar",
|
|
"kind": "alias",
|
|
"path": "omniread.core.parser.TypeVar",
|
|
"signature": "<bound method Alias.signature of Alias('TypeVar', 'typing.TypeVar')>",
|
|
"docstring": null
|
|
},
|
|
"Set": {
|
|
"name": "Set",
|
|
"kind": "alias",
|
|
"path": "omniread.core.parser.Set",
|
|
"signature": "<bound method Alias.signature of Alias('Set', 'typing.Set')>",
|
|
"docstring": null
|
|
},
|
|
"Content": {
|
|
"name": "Content",
|
|
"kind": "class",
|
|
"path": "omniread.core.parser.Content",
|
|
"signature": "<bound method Alias.signature of Alias('Content', 'omniread.core.content.Content')>",
|
|
"docstring": "Normalized representation of extracted content.\n\nNotes:\n **Responsibilities:**\n\n - A `Content` instance represents a raw content payload along with\n minimal contextual metadata describing its origin and type.\n - This class is the primary exchange format between scrapers,\n parsers, and downstream consumers.",
|
|
"members": {
|
|
"raw": {
|
|
"name": "raw",
|
|
"kind": "attribute",
|
|
"path": "omniread.core.parser.Content.raw",
|
|
"signature": "<bound method Alias.signature of Alias('raw', 'omniread.core.content.Content.raw')>",
|
|
"docstring": "Raw content bytes as retrieved from the source."
|
|
},
|
|
"source": {
|
|
"name": "source",
|
|
"kind": "attribute",
|
|
"path": "omniread.core.parser.Content.source",
|
|
"signature": "<bound method Alias.signature of Alias('source', 'omniread.core.content.Content.source')>",
|
|
"docstring": "Identifier of the content origin (URL, file path, or logical name)."
|
|
},
|
|
"content_type": {
|
|
"name": "content_type",
|
|
"kind": "attribute",
|
|
"path": "omniread.core.parser.Content.content_type",
|
|
"signature": "<bound method Alias.signature of Alias('content_type', 'omniread.core.content.Content.content_type')>",
|
|
"docstring": "Optional MIME type of the content, if known."
|
|
},
|
|
"metadata": {
|
|
"name": "metadata",
|
|
"kind": "attribute",
|
|
"path": "omniread.core.parser.Content.metadata",
|
|
"signature": "<bound method Alias.signature of Alias('metadata', 'omniread.core.content.Content.metadata')>",
|
|
"docstring": "Optional, implementation-defined metadata associated with the content (e.g., headers, encoding hints, extraction notes)."
|
|
}
|
|
}
|
|
},
|
|
"ContentType": {
|
|
"name": "ContentType",
|
|
"kind": "class",
|
|
"path": "omniread.core.parser.ContentType",
|
|
"signature": "<bound method Alias.signature of Alias('ContentType', 'omniread.core.content.ContentType')>",
|
|
"docstring": "Supported MIME types for extracted content.\n\nNotes:\n **Guarantees:**\n\n - This enum represents the declared or inferred media type of the\n content source.\n - It is primarily used for routing content to the appropriate\n parser or downstream consumer.",
|
|
"members": {
|
|
"HTML": {
|
|
"name": "HTML",
|
|
"kind": "attribute",
|
|
"path": "omniread.core.parser.ContentType.HTML",
|
|
"signature": "<bound method Alias.signature of Alias('HTML', 'omniread.core.content.ContentType.HTML')>",
|
|
"docstring": "HTML document content."
|
|
},
|
|
"PDF": {
|
|
"name": "PDF",
|
|
"kind": "attribute",
|
|
"path": "omniread.core.parser.ContentType.PDF",
|
|
"signature": "<bound method Alias.signature of Alias('PDF', 'omniread.core.content.ContentType.PDF')>",
|
|
"docstring": "PDF document content."
|
|
},
|
|
"JSON": {
|
|
"name": "JSON",
|
|
"kind": "attribute",
|
|
"path": "omniread.core.parser.ContentType.JSON",
|
|
"signature": "<bound method Alias.signature of Alias('JSON', 'omniread.core.content.ContentType.JSON')>",
|
|
"docstring": "JSON document content."
|
|
},
|
|
"XML": {
|
|
"name": "XML",
|
|
"kind": "attribute",
|
|
"path": "omniread.core.parser.ContentType.XML",
|
|
"signature": "<bound method Alias.signature of Alias('XML', 'omniread.core.content.ContentType.XML')>",
|
|
"docstring": "XML document content."
|
|
}
|
|
}
|
|
},
|
|
"T": {
|
|
"name": "T",
|
|
"kind": "attribute",
|
|
"path": "omniread.core.parser.T",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"BaseParser": {
|
|
"name": "BaseParser",
|
|
"kind": "class",
|
|
"path": "omniread.core.parser.BaseParser",
|
|
"signature": "<bound method Class.signature of Class('BaseParser', 30, 111)>",
|
|
"docstring": "Base interface for all parsers.\n\nNotes:\n **Guarantees:**\n\n - A parser is a self-contained object that owns the `Content` it is\n responsible for interpreting.\n - Consumers may rely on early validation of content compatibility\n and type-stable return values from `parse()`.\n\n **Responsibilities:**\n\n - Implementations must declare supported content types via `supported_types`.\n - Implementations must raise parsing-specific exceptions from `parse()`.\n - Implementations must remain deterministic for a given input.",
|
|
"members": {
|
|
"supported_types": {
|
|
"name": "supported_types",
|
|
"kind": "attribute",
|
|
"path": "omniread.core.parser.BaseParser.supported_types",
|
|
"signature": null,
|
|
"docstring": "Set of content types supported by this parser. An empty set indicates that the parser is content-type agnostic."
|
|
},
|
|
"content": {
|
|
"name": "content",
|
|
"kind": "attribute",
|
|
"path": "omniread.core.parser.BaseParser.content",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"parse": {
|
|
"name": "parse",
|
|
"kind": "function",
|
|
"path": "omniread.core.parser.BaseParser.parse",
|
|
"signature": "<bound method Function.signature of Function('parse', 75, 94)>",
|
|
"docstring": "Parse the owned content into structured output.\n\nReturns:\n T:\n Parsed, structured representation.\n\nRaises:\n Exception:\n Parsing-specific errors as defined by the implementation.\n\nNotes:\n **Responsibilities:**\n\n - Implementations must fully consume the provided content and\n return a deterministic, structured output."
|
|
},
|
|
"supports": {
|
|
"name": "supports",
|
|
"kind": "function",
|
|
"path": "omniread.core.parser.BaseParser.supports",
|
|
"signature": "<bound method Function.signature of Function('supports', 96, 111)>",
|
|
"docstring": "Check whether this parser supports the content's type.\n\nReturns:\n bool:\n True if the content type is supported; False otherwise."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |