Metadata-Version: 2.1
Name: reverse_tb
Version: 0.0.3
Summary: reverse_tb is a jupyter notebook magic that reverses the order of the traceback, making it easier to see the most relevant information at the top of the cell output.
Home-page: https://github.com/ababino/reverse_tb
Author: Andres Babino
Author-email: ababino@gmail.com
License: Apache Software License 2.0
Keywords: nbdev jupyter notebook python
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Provides-Extra: dev
License-File: LICENSE

reverse_tb
================

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

## Install

``` sh
pip install reverse_tb
```

## How to use

``` python
from reverse_tb.core import reverse_tb
```

``` python
def foo():
    return bar()

def bar():
    return baz()

def baz():
    try:
        qux()
    except KeyError as e:
        raise Exception
    return qux()

def qux():
    d = {}
    return d['key']
```

``` python
foo()
```

``` python
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[2], line 9, in baz()
      8 try:
----> 9     qux()
     10 except KeyError as e:

Cell In[2], line 16, in qux()
     15 d = {}
---> 16 return d['key']

KeyError: 'key'

During handling of the above exception, another exception occurred:

Exception                                 Traceback (most recent call last)
Cell In[3], line 1
----> 1 foo()

Cell In[2], line 2, in foo()
      1 def foo():
----> 2     return bar()

Cell In[2], line 5, in bar()
      4 def bar():
----> 5     return baz()

Cell In[2], line 11, in baz()
      9     qux()
     10 except KeyError as e:
---> 11     raise Exception
     12 return qux()

Exception: 
```

``` python
%%reverse_tb
foo()
```

``` python
---------------------------------------------------------------------------
KeyError                                  Traceback (last call first)
KeyError: 'key'
Cell In[2], line 16, in qux()
     15 d = {}
---> 16 return d['key']
        d = {}

Cell In[2], line 9, in baz()
      8 try:
----> 9     qux()
     10 except KeyError as e:


During handling of the above exception, another exception occurred:

Exception                                 Traceback (last call first)
Exception: 
Cell In[2], line 11, in baz()
      9     qux()
     10 except KeyError as e:
---> 11     raise Exception
     12 return qux()

Cell In[2], line 5, in bar()
      4 def bar():
----> 5     return baz()

Cell In[2], line 2, in foo()
      1 def foo():
----> 2     return bar()

Cell In[4], line 1
----> 1 foo()
```

``` python
from reverse_tb.on import *
foo()
```

``` python
---------------------------------------------------------------------------
KeyError                                  Traceback (last call first)
KeyError: 'key'
Cell In[2], line 16, in qux()
     15 d = {}
---> 16 return d['key']
        d = {}

Cell In[2], line 9, in baz()
      8 try:
----> 9     qux()
     10 except KeyError as e:


During handling of the above exception, another exception occurred:

Exception                                 Traceback (last call first)
Exception: 
Cell In[2], line 11, in baz()
      9     qux()
     10 except KeyError as e:
---> 11     raise Exception
     12 return qux()

Cell In[2], line 5, in bar()
      4 def bar():
----> 5     return baz()

Cell In[2], line 2, in foo()
      1 def foo():
----> 2     return bar()

Cell In[4], line 1
----> 1 foo()
```

``` python
reverse_tb_off()
foo()
```

``` python
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[2], line 9, in baz()
      8 try:
----> 9     qux()
     10 except KeyError as e:

Cell In[2], line 16, in qux()
     15 d = {}
---> 16 return d['key']

KeyError: 'key'

During handling of the above exception, another exception occurred:

Exception                                 Traceback (most recent call last)
Cell In[3], line 1
----> 1 foo()

Cell In[2], line 2, in foo()
      1 def foo():
----> 2     return bar()

Cell In[2], line 5, in bar()
      4 def bar():
----> 5     return baz()

Cell In[2], line 11, in baz()
      9     qux()
     10 except KeyError as e:
---> 11     raise Exception
     12 return qux()

Exception: 
```
