Skip to content

Fire can't find custom __str__ of ~datasets.Dataset from HuggingFace #595

Description

@nerdai

Hi,

I am using fire on a main function that returns a ~datasets.Dataset object. When running from cli, I get the help screen for ~datasets.Dataset rather than the __str__ implementation (likely inherited from a parent class -- haven't looked).

Reproducible example

from datasets import Dataset
import fire

def main():
    # Create a simple dataset
    dataset = Dataset.from_dict({"a": [1, 2, 3], "b": [4, 5, 6]})
    return dataset

if __name__ == "__main__":
    fire.Fire(main)
    
    # This works but I feel shouldn't be necessary:
    # def custom_serializer(obj: object) -> str:
    #     if hasattr(obj, "__str__"):
    #         return str(obj)
    #     else:
    #         return ""
    # fire.Fire(main, serialize=custom_serializer)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions