From b02af02941d0f879d3a4bc69e852adecffd9cdec Mon Sep 17 00:00:00 2001
From: Christopher Rhodes <christopher.rhodes@embl.de>
Date: Wed, 27 Nov 2024 13:36:21 +0100
Subject: [PATCH] Created overridable method that makes accessor from
 np.ndarray

---
 model_server/base/pipelines/shared.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/model_server/base/pipelines/shared.py b/model_server/base/pipelines/shared.py
index fd578700..27929be8 100644
--- a/model_server/base/pipelines/shared.py
+++ b/model_server/base/pipelines/shared.py
@@ -156,13 +156,17 @@ class PipelineTrace(OrderedDict):
             if self.enforce_accessors:
                 raise NoAccessorsFoundError(f'Pipeline trace expects data accessor type')
             else:
-                acc = InMemoryDataAccessor(value)
+                acc = self.make_accessor(value)
         if not self.allow_overwrite and key in self.keys():
             raise KeyAlreadyExists(f'key {key} already exists in pipeline trace')
         self.timer.__setitem__(key, self.tfunc() - self.last_time)
         self.last_time = self.tfunc()
         return super().__setitem__(key, acc)
 
+    @staticmethod
+    def make_accessor(data):
+        return InMemoryDataAccessor(data)
+
     def append(self, tr, skip_first=True):
         new_tr = self.copy()
         for k, v in tr.items():
-- 
GitLab