From 2244d4baefa51680d69bead74ddda3ce5e03b500 Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Tue, 16 Jan 2024 01:07:36 +0100 Subject: [PATCH] Adjust CrateJsonEncoder to cast `Decimal` values to Python `float` types Beforehand, they have been marshalled to Python `str` type. --- src/crate/client/http.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/crate/client/http.py b/src/crate/client/http.py index a22a1ff0..7882bf50 100644 --- a/src/crate/client/http.py +++ b/src/crate/client/http.py @@ -92,7 +92,9 @@ class CrateJsonEncoder(json.JSONEncoder): epoch_naive = datetime(1970, 1, 1) def default(self, o): - if isinstance(o, (Decimal, UUID)): + if isinstance(o, (Decimal,)): + return float(o) + if isinstance(o, (UUID,)): return str(o) if isinstance(o, datetime): if o.tzinfo is not None: