-
Notifications
You must be signed in to change notification settings - Fork 18
Backend module raises RecursionError when no implemention is found #384
Description
Your bug may already be reported!
Please search on the issue tracker before creating one.
Description
If a backend method (e.g. viz_all_distribution) is not implemented anywhere, a RecursionError is raised.
Possible Solution
Backend should raise a different error than ModuleNotFoundError or handle the exception differently.
Traceback
``` RecursionError Traceback (most recent call last) ~\.conda\envs\test-env\lib\site-packages\IPython\core\formatters.py in __call__(self, obj) 343 method = get_real_method(obj, self.print_method) 344 if method is not None: --> 345 return method() 346 return None 347 else:c:\workspace\data-describe\data_describe_widget.py in repr_html(self)
41 from IPython.display import display
42
---> 43 return display(self.show())
44 except ImportError:
45 return self.show()
c:\workspace\data-describe\data_describe\core\distributions.py in show(self, viz_backend, **kwargs)
67 viz_backend = viz_backend or self.viz_backend
68
---> 69 return self.plot_all(viz_backend=viz_backend, **kwargs)
70
71 def plot_all(
c:\workspace\data-describe\data_describe\core\distributions.py in plot_all(self, contrast, viz_backend, **kwargs)
91 backend = viz_backend or self.viz_backend
92
---> 93 return _get_viz_backend(backend).viz_all_distribution(
94 data=self.input_data, contrast=contrast, **kwargs
95 )
c:\workspace\data-describe\data_describe\backends_backends.py in getattr(self, f)
33 pass
34 raise ModuleNotFoundError(
---> 35 f"Could not find implementation for {f} with available backends: {self.b}"
36 )
37
... last 1 frames repeated, from the frame below ...
c:\workspace\data-describe\data_describe\backends_backends.py in getattr(self, f)
33 pass
34 raise ModuleNotFoundError(
---> 35 f"Could not find implementation for {f} with available backends: {self.b}"
36 )
37
RecursionError: maximum recursion depth exceeded
</details>