New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to reduce the output to a minimum? #19
Comments
Hi, thanks for the feedback! I'm in the middle of implementing exactly this feature :) I happened to change signatures with some previous commits, so I'll have to increase major version to 2, so I want to accumulate all planned features at once in order to avoid another major version increase ;) I think I'll be done in a week. |
Thanks a lot for your effort and the new release. It looks very good!!! 👍 Is it maybe also possible to limit the output to these variables that were really involved in the exception? (so in my example above the variable For me it would be perfect, if the |
Yes, that's nice! I added it to the feature list. Thanks for the idea! |
Great package, thanks for releasing! I'm also dealing with numpy & pandas and want more control over the output. I suggest allowing the user to define a callback which will be called for every variable, to handle if & how to print it. This is only a partial solution but should be simple enough to implement and allows almost unlimited control. I imagine it's possible to pass a detailed dict as kwargs, maybe with the following keys: The user will be able to print whatever is needed and return a boolean value specifying if to print the default output for the variable. This will support multiple functionalities, e.g.: def callback(var_name, line_string, **kwargs):
if var_name not in line_string:
return False
return True def callback(var_name, var_value, **kwargs):
if isinstance(var_value, np.ndarray) or isinstance(var_value, pd.DataFrame):
print(var_name, 'shape:', shape)
if var_value.size>100:
return False
return True |
Hi, please take a look at https://github.com/andy-landy/traceback_with_variables/blob/master/examples/format_customized.py at custom_var_printers. Does it fit your use case? |
I would suggest adding more arguments to give even more control, e.g. But it's already good enough for me, thanks! |
Hi,
my use case for
traceback_with_variables
is mainly during development time. Therefore I just need a small overview what was wrong with the variables that actually caused the exception.My question is: how can I customize it that the extra output that
traceback_with_variables
generates only comprises the very variables that lead to the exception?Example:
Without using it, for this:
I get:
With using it, I get:
Would it be possible to configure it (at one place in my code) that I only get this output:
(so:
n = 0
lead to the exception, but
x = 15
was not part of the game.
As I have a lot of variables in my code, I get overwhelmed by the output and it takes me also time to find the value of the variable in the output that was causing the exception.
If I just could use a different import, that would be perfect for me :-) )
The text was updated successfully, but these errors were encountered: