Giter VIP home page Giter VIP logo

xontrib-readable-traceback's Introduction

xontrib-readable-traceback

Make traceback easier to see for xonsh.

Python work very often with large libraries like pandas, or matplotlib. This means that exceptions often produce long stack traces. Since we don't need to see the library detail in the vast majority of cases. Especially with a shell like xonsh.

This xontrib making readable and short traceback.

example: Simple division by zero error.

example: This simple pandas error produces a stacktrace containing 28 lines. But xontrib load...

Install

Install using pip

pip install xontrib-readable-traceback

Write .xonshrc

xontrib load readable-traceback

Usage

This xontrib use backtrace package.

For the main usage, please refer to the following.

https://github.com/nir0s/backtrace#usage

Example xonshrc

xonshrc sample.

~~~
xontrib load readable-traceback
$READABLE_TRACE_STRIP_PATH_ENV=True
$READABLE_TRACE_REVERSE=True
~~~

Setting backtrace

The correspondence with the variable of backtrace is as follows.

backtrace xontrib-readable-traceback Type
reverse $READABLE_TRACE_REVERSE bool
align $READABLE_TRACE_ALIGN bool
strip_path $READABLE_TRACE_STRIP_PATH_ENV bool
enable_on_envvar_only $READABLE_TRACE_ENVVAR_ONLY bool
on_tty $READABLE_TRACE_ON_TTY bool
conservative $READABLE_TRACE_CONSERVATIVE bool
style $READABLE_TRACE_STYLES dict

For details of style please refer to backtrace#style and colorama.

Switching readable-traceback

If we want to turn trace off, we can use:

$XONSH_READABLE_TRACEBACK=False

If so, the notation of traceback follows xonsh_env($XONSH_SHOW_TRACEBACK).

Xonsh traceback log

Xonsh can keep a log of traceback.
To keep the log, write "ABSOLUTE PATH TO TRACEBACK LOG" below.

$XONSH_TRACEBACK_LOGFILE="PATH"

If it is None, no log is kept. Default is None.

Thanks

Thanks

I appreciate all Python's assets and xonsh.
If there is something problem, up to github issue.
@vaaaaanquish

xontrib-readable-traceback's People

Contributors

t184256 avatar vaaaaanquish avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

xontrib-readable-traceback's Issues

Add social preview image

Hi! Thank you for the xontrib!

If you open xontrib topic on Github and scroll down you'll see the cute preview images for some xontribs. This is "Social preview" image that could be uploaded in the Settings of the repo.

Please take a common screenshot and put it to the preview image.

Thanks!

Installation fails due to conflicting colorama version

Hi, users are unable to run Xontrib-readable-traceback due to dependency conflict with colorama package. As shown in the following full dependency graph of Xontrib-readable-traceback, Xontrib-readable-traceback requires colorama>=0.3.7,while backtrace>=1.0.2 requires colorama==0.3.7.

According to pip’s “first found wins” installation strategy, colorama 0.4.3 is the actually installed version. However, colorama 0.4.3 does not satisfy colorama==0.3.7.

Dependency tree-----------

xontrib-readable-traceback - 0.3.2
| +- backtrace(install version:0.2.1 version range:*)
| | +- colorama(install version:0.3.7 version range:==0.3.7)
| +- colorama(install version:0.4.3 version range:>=0.3.7)

Thanks for your help.
Best,
Neolith

Crashes out of xonsh if exc_info is passed

In xonsh.tools the signature of print_exception has been changed, adding a exc_info keyword.

Some error routes will use this extra parameter and this kills xonsh.

I can't reproduce with xonsh --no-rc but with my set up just type an unknown environment variable
e.g. example with python 3.11 but 3.9 and 3.10 do the same.

§ $AAAAAAA
Traceback (most recent call last):
  File "/Users/mark/Library/Python/3.11/lib/python/site-packages/xonsh/base_shell.py", line 391, in default
    raise exc_info[1]
  File "/Users/mark/Library/Python/3.11/lib/python/site-packages/xonsh/codecache.py", line 63, in run_compiled_code
    func(code, glb, loc)
  File "<stdin>", line 1, in <module>
  File "/Users/mark/Library/Python/3.11/lib/python/site-packages/xonsh/environ.py", line 2103, in __getitem__
    raise KeyError(e.format(key))
KeyError: 'Unknown environment variable: $AAAAAAA'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/mark/Library/Python/3.11/lib/python/site-packages/xonsh/main.py", line 468, in main
    sys.exit(main_xonsh(args))
             ^^^^^^^^^^^^^^^^
  File "/Users/mark/Library/Python/3.11/lib/python/site-packages/xonsh/main.py", line 512, in main_xonsh
    shell.shell.cmdloop()
  File "/Users/mark/Library/Python/3.11/lib/python/site-packages/xonsh/ptk_shell/shell.py", line 407, in cmdloop
    self.default(line, raw_line)
  File "/Users/mark/Library/Python/3.11/lib/python/site-packages/xonsh/base_shell.py", line 402, in default
    print_exception(exc_info=exc_info)
TypeError: _print_exception() got an unexpected keyword argument 'exc_info'
Xonsh encountered an issue during launch
Failback to /bin/zsh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.