summaryrefslogtreecommitdiffstats
path: root/openbb_platform/core/openbb_core/provider/abstract/annotated_result.py
diff options
context:
space:
mode:
Diffstat (limited to 'openbb_platform/core/openbb_core/provider/abstract/annotated_result.py')
-rw-r--r--openbb_platform/core/openbb_core/provider/abstract/annotated_result.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/openbb_platform/core/openbb_core/provider/abstract/annotated_result.py b/openbb_platform/core/openbb_core/provider/abstract/annotated_result.py
new file mode 100644
index 00000000000..8d51086017b
--- /dev/null
+++ b/openbb_platform/core/openbb_core/provider/abstract/annotated_result.py
@@ -0,0 +1,20 @@
+"""Annotated result."""
+
+from typing import Generic, Optional, TypeVar
+
+from pydantic import BaseModel, Field
+
+T = TypeVar("T")
+
+
+class AnnotatedResult(BaseModel, Generic[T]):
+ """Annotated result allows fetchers to return metadata along with the data."""
+
+ result: Optional[T] = Field(
+ default=None,
+ description="Serializable results.",
+ )
+ metadata: Optional[dict] = Field(
+ default=None,
+ description="Metadata.",
+ )