Metadata-Version: 2.1
Name: ipdbugger
Version: 2.4.1
Summary: ipdb-based debugger
Home-page: https://github.com/gregoil/ipdbugger
Author: gregoil
Author-email: gregoil@walla.co.il
License: MIT
Description: ipdbugger
        ---------
        .. image:: https://img.shields.io/pypi/v/ipdbugger.svg
            :alt: PyPI
            :target: https://pypi.python.org/pypi/ipdbugger/
        
        .. image:: https://img.shields.io/pypi/pyversions/ipdbugger.svg
            :alt: Python versions
            :target: https://pypi.python.org/pypi/ipdbugger/
        
        .. image:: https://travis-ci.org/gregoil/ipdbugger.svg?branch=master
            :target: https://travis-ci.org/gregoil/ipdbugger
        
        .. image:: https://coveralls.io/repos/github/gregoil/ipdbugger/badge.svg?branch=master
            :target: https://coveralls.io/github/gregoil/ipdbugger
        
        ``ipdbugger`` is a code debugging tool based on ``ipdb``.
        
        Use the ``debug`` decorator on functions or classes to debug them.
        What actually happens: it surrounds each statement of the functions with a
        try-except, and starts an ipdb session in the exception handling section.
        
        Installing
        ==========
        
        .. code-block:: console
        
            $ pip install ipdbugger
        
        Using
        =====
        
        .. code-block:: python
        
            from ipdbugger import debug
        
            @debug
            def f():
                foo = 1 + 1
                bar = 1 / 0
                baz = 2 + 2
        
        Now when you run ``f()``, you'll get into an ipdb shell right after the
        error (the division by zero):
        
        .. code-block:: pycon
        
            >>> from ipdbugger import debug
            >>> @debug
                def f():
                    foo = 1 + 1
                    bar = 1 / 0
                    baz = 2 + 2
        
            >>> f()
            Traceback (most recent call last):
               File "<ipython-input-2-5720bb02ab1d>", line 4, in f
                bar = 1 / 0
             ZeroDivisionError: integer division or modulo by zero
            > <ipython-input-2-5720bb02ab1d>(5)f()
                  2 def f():
                  3     foo = 1 + 1
                  4     bar = 1 / 0
            ----> 5     baz = 2 + 2
                  6
        
            ipdb> foo
            2
            ipdb>
        
        From there, you have a couple of choices:
        
        * ``retry`` the action
        * ``continue`` with the rest of the flow (and ignore the error)
        * ``raise`` the exception, as if you didn't catch it at all
        * Use any other of the available ``ipdb`` commands, like ``jump``
        
Keywords: ipdb debug debugger exception
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*
Provides-Extra: dev
