Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion src/obelisk/asynchronous/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
from obelisk.types.core import IngestMode


DataType = Literal["number", "number[]", "json", "bool", "string"]
DataType = Literal["number", "number[]", "json", "bool", "string", "integer", "integer[]"]
"""The possible types of data Obelisk can accept"""


Expand Down Expand Up @@ -113,6 +113,15 @@ def check_metric_type(self) -> Self:
):
raise ValueError("Type suffix mismatch, expected value of number[]")

if suffix == "integer" and not isinstance(self.value, int):
raise ValueError("Type suffix mismatch, expected value of type integer")

if suffix == "integer[]" and (
type(self.value) is not list
or any([not isinstance(x, int) for x in self.value])
):
raise ValueError("Type suffix mismatch, expected value of integer[]")

# Do not check json, most things should be serialisable

if suffix == "bool" and type(self.value) is not bool:
Expand Down