From e89ed3f303431d2e7e308dfe368f5cf03da01992 Mon Sep 17 00:00:00 2001 From: JATAYU000 Date: Mon, 29 Dec 2025 11:07:47 +0530 Subject: [PATCH] Added __repr__ --- openml/tasks/split.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/openml/tasks/split.py b/openml/tasks/split.py index 4e781df35..073a378c8 100644 --- a/openml/tasks/split.py +++ b/openml/tasks/split.py @@ -63,6 +63,29 @@ def __init__( self.folds = len(self.split[0]) self.samples = len(self.split[0][0]) + def __repr__(self) -> str: + header = "OpenML Split" + header = f"{header}\n{'=' * len(header)}\n" + + fields = { + "Name": self.name, + "Description": ( + self.description if len(self.description) <= 80 else self.description[:77] + "..." + ), + "Repeats": self.repeats, + "Folds": self.folds, + "Samples": self.samples, + } + + order = ["Name", "Description", "Repeats", "Folds", "Samples"] + + _fields = [(key, fields[key]) for key in order if key in fields] + + longest_field_name_length = max(len(name) for name, _ in _fields) + field_line_format = f"{{:.<{longest_field_name_length}}}: {{}}" + body = "\n".join(field_line_format.format(name, value) for name, value in _fields) + return header + body + def __eq__(self, other: Any) -> bool: if ( (not isinstance(self, type(other)))