@@ -770,6 +770,9 @@ def series_representer(dumper, data):
770
770
def float64_representer (dumper , data ):
771
771
return dumper .represent_float (float (data ))
772
772
773
+ def tuple_representer (dumper , data ):
774
+ return dumper .represent_sequence ("!tuple" , data )
775
+
773
776
yaml .add_representer (
774
777
np .float64 , float64_representer , Dumper = yaml .SafeDumper
775
778
)
@@ -782,6 +785,9 @@ def float64_representer(dumper, data):
782
785
yaml .add_representer (
783
786
pd .Series , series_representer , Dumper = yaml .SafeDumper
784
787
)
788
+ yaml .add_representer (
789
+ tuple , tuple_representer , Dumper = yaml .SafeDumper
790
+ )
785
791
786
792
with open (temp_dir / "session.yaml" , "w" ) as f :
787
793
yaml .safe_dump (self .model_dump (), f )
@@ -820,6 +826,7 @@ def ndarray_constructor(loader, node):
820
826
def series_constructor (loader , node ):
821
827
"""Custom YAML constructor for pandas Series."""
822
828
file_path = temp_dir / loader .construct_scalar (node )
829
+ print (file_path , type (file_path ))
823
830
df = pd .read_csv (
824
831
file_path ,
825
832
sep = "\t " ,
@@ -828,8 +835,12 @@ def series_constructor(loader, node):
828
835
float_precision = "round_trip" ,
829
836
)
830
837
assert df .shape [1 ] == 1
838
+ print (df .iloc [:, 0 ], type (df .iloc [:, 0 ]))
831
839
return df .iloc [:, 0 ]
832
840
841
+ def tuple_constructor (loader , node ):
842
+ return tuple (loader .construct_sequence (node ))
843
+
833
844
yaml .add_constructor (
834
845
"!pandas.DataFrame" ,
835
846
dataframe_constructor ,
@@ -841,6 +852,9 @@ def series_constructor(loader, node):
841
852
yaml .add_constructor (
842
853
"!pandas.Series" , series_constructor , Loader = yaml .SafeLoader
843
854
)
855
+ yaml .add_constructor (
856
+ "!tuple" , tuple_constructor , Loader = yaml .SafeLoader
857
+ )
844
858
845
859
with open (temp_dir / "session.yaml" ) as f :
846
860
data = yaml .safe_load (f )
0 commit comments