Skip to content

complex objects in properties not possible? #272

@michaelaye

Description

@michaelaye

Using fire version 0.3.1, I have this simple code failing for me:

import numpy as np
import pandas as pd

class MyClass:
    @property
    def data(self):
        return pd.DataFrame(np.random.rand(10, 3))

if __name__ == "__main__":
    fire.Fire(MyClass)

Getting these errors, when calling without options to see the help text:

Traceback (most recent call last):
  File "pet_weights.py", line 69, in <module>
    fire.Fire(MyClass)
  File "/home/maye/miniconda3/envs/py37/lib/python3.7/site-packages/fire/core.py", line 164, in Fire
    _PrintResult(component_trace, verbose=component_trace.verbose)
  File "/home/maye/miniconda3/envs/py37/lib/python3.7/site-packages/fire/core.py", line 267, in _PrintResult
    result, trace=component_trace, verbose=verbose)
  File "/home/maye/miniconda3/envs/py37/lib/python3.7/site-packages/fire/helptext.py", line 63, in HelpText
    actions_grouped_by_kind = _GetActionsGroupedByKind(component, verbose=verbose)
  File "/home/maye/miniconda3/envs/py37/lib/python3.7/site-packages/fire/helptext.py", line 332, in _GetActionsGroupedByKind
    members = completion.VisibleMembers(component, verbose=verbose)
  File "/home/maye/miniconda3/envs/py37/lib/python3.7/site-packages/fire/completion.py", line 366, in VisibleMembers
    (member_name, member) for member_name, member in members
  File "/home/maye/miniconda3/envs/py37/lib/python3.7/site-packages/fire/completion.py", line 368, in <listcomp>
    verbose=verbose)
  File "/home/maye/miniconda3/envs/py37/lib/python3.7/site-packages/fire/completion.py", line 311, in MemberVisible
    if member in (absolute_import, division, print_function):
  File "/home/maye/miniconda3/envs/py37/lib/python3.7/site-packages/pandas/core/generic.py", line 1479, in __nonzero__
    f"The truth value of a {type(self).__name__} is ambiguous. "
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions