Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions openml/datasets/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -271,10 +271,8 @@ def find_invalid_characters(string: str, pattern: str) -> str:
def features(self) -> dict[int, OpenMLDataFeature]:
"""Get the features of this dataset."""
if self._features is None:
# TODO(eddiebergman): These should return a value so we can set it to be not None
self._load_features()
self._features = self._load_features()

assert self._features is not None
return self._features

@property
Expand Down Expand Up @@ -794,8 +792,8 @@ def get_data( # noqa: C901
assert isinstance(y, pd.Series)
return x, y, categorical_mask, attribute_names

def _load_features(self) -> None:
"""Load the features metadata from the server and store it in the dataset object."""
def _load_features(self) -> dict[int, OpenMLDataFeature]:
"""Load the features metadata from the server and return it."""
# Delayed Import to avoid circular imports or having to import all of dataset.functions to
# import OpenMLDataset.
from openml.datasets.functions import _get_dataset_features_file
Expand All @@ -807,7 +805,9 @@ def _load_features(self) -> None:
)

features_file = _get_dataset_features_file(None, self.dataset_id)
self._features = _read_features(features_file)
features = _read_features(features_file)
self._features = features
return features

def _load_qualities(self) -> None:
"""Load qualities information from the server and store it in the dataset object."""
Expand Down