class SplitInfo:
    name: str = dataclasses.field(default="", metadata={"include_in_asdict_even_if_is_default": True})
    num_bytes: int = dataclasses.field(default=0, metadata={"include_in_asdict_even_if_is_default": True})
    num_examples: int = dataclasses.field(default=0, metadata={"include_in_asdict_even_if_is_default": True})
    shard_lengths: Optional[List[int]] = None

    # Deprecated
    # For backward compatibility, this field needs to always be included in files like
    # dataset_infos.json and dataset_info.json files
    # To do so, we always include it in the output of datasets.utils.py_utils.asdict(split_info)
    dataset_name: Optional[str] = dataclasses.field(
        default=None, metadata={"include_in_asdict_even_if_is_default": True}
    )

    @property
    def file_instructions(self):
        """Returns the list of dict(filename, take, skip)."""
        # `self.dataset_name` is assigned in `SplitDict.add()`.
        instructions = make_file_instructions(
            name=self.dataset_name,
            split_infos=[self],
            instruction=str(self.name),
        )
        return instructions.file_instructions
/Users/nielsrogge/Documents/python_projecten/datasets/src/datasets/splits.py