google / google/python-fire

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

Open
#595 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
28.2k
Forks
1.5k
PR merge metrics
No merged PRs in 30d

Description

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

```python
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)
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.