Skip to content

Commit 2f02f3e

Browse files
authored
Add support for integer type in CORE (#22)
Obelisk CORE version 2.3.0 added support for `integer` and `integer[]`, with `number` variants remaining as a float-or-integer supertype. Usage of these types affords more compact storage and faster querying
2 parents 90a5aa5 + b250813 commit 2f02f3e

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/obelisk/asynchronous/core.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
from obelisk.types.core import IngestMode
4343

4444

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

4848

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

116+
if suffix == "integer" and not isinstance(self.value, int):
117+
raise ValueError("Type suffix mismatch, expected value of type integer")
118+
119+
if suffix == "integer[]" and (
120+
type(self.value) is not list
121+
or any([not isinstance(x, int) for x in self.value])
122+
):
123+
raise ValueError("Type suffix mismatch, expected value of integer[]")
124+
116125
# Do not check json, most things should be serialisable
117126

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

0 commit comments

Comments
 (0)