From fa13a24b1c3dd99e8925e294d6f6ad8dca596d30 Mon Sep 17 00:00:00 2001 From: Ilia Kats Date: Fri, 23 Jan 2026 17:11:34 +0100 Subject: [PATCH] pandas 3 compat Pandas 3 introduced a dedicated string dtype which needs to be accounted for when saving the model. See https://github.com/scverse/muon/issues/178 --- mofapy2/build_model/save_model.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mofapy2/build_model/save_model.py b/mofapy2/build_model/save_model.py index 311bca1..45b414b 100644 --- a/mofapy2/build_model/save_model.py +++ b/mofapy2/build_model/save_model.py @@ -186,7 +186,7 @@ def saveMetaData(self): ctype = self.samples_metadata[g][col].dtype - if ctype == "object": + if ctype in ("object", "str"): try: # Try to encode as ASCII strings group_meta.create_dataset( @@ -244,7 +244,7 @@ def saveMetaData(self): ].astype(orig_type) ctype = self.features_metadata[m][col].dtype - ctype = "|S" if ctype == "object" else ctype.type + ctype = "|S" if ctype in ("object", "str") else ctype.type view_meta.create_dataset( col, data=np.array(self.features_metadata[m][col], dtype=ctype) )