Skip to main content

Makc Traceback easier to see for xonsh.

Project description

# 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.

<img src='https://github.com/vaaaaanquish/xontrib-readable-traceback/blob/master/sample_img/division.png?raw=true'>

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

<img src='https://github.com/vaaaaanquish/xontrib-readable-traceback/blob/master/sample_img/pandas.png?raw=true' width='450px'>

# Install
Install using pip

```
pip install xontrib-readable-traceback
```

Write .xonshrc
```
xontrib load readable-traceback
```

# Usage

This xontrib use [backtrace package](https://github.com/nir0s/backtrace).

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](https://github.com/nir0s/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](https://github.com/nir0s/backtrace#styles) and [colorama](https://github.com/tartley/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.<br>
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

I appreciate all Python's assets and xonsh.<br>
If there is something problem, up to github issue.<br>
[@vaaaaanquish](https://twitter.com/vaaaaanquish)



Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

File details

Details for the file xontrib_readable_traceback-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for xontrib_readable_traceback-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 33fecdcc195bc65d83e831c03ff8fe81689ca319483c03ecc6a258a78e697cc5
MD5 44d216026421b27a23a507a6574ad4e9
BLAKE2b-256 b86c75a8da5a3e0cffb3adf4676b56e83982ec4885496eb790a974d8c9f0e5b2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page