Metadata-Version: 2.0
Name: ipdb
Version: 0.8.1
Summary: IPython-enabled pdb
Home-page: https://github.com/gotcha/ipdb
Author: Godefroid Chapelle
Author-email: gotcha@bubblenet.be
License: GPL
Keywords: pdb ipython
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Topic :: Software Development :: Debuggers
Requires-Dist: ipython (>=0.10)

IPython `pdb`
=============

.. image:: https://travis-ci.org/gotcha/ipdb.png?branch=master
  :target: https://travis-ci.org/gotcha/ipdb

Use
---

ipdb exports functions to access the IPython_ debugger, which features 
tab completion, syntax highlighting, better tracebacks, better introspection
with the same interface as the `pdb` module.

Example usage:
::

        import ipdb
        ipdb.set_trace()
        ipdb.pm()
        ipdb.run('x[0] = 3')
        result = ipdb.runcall(function, arg0, arg1, kwarg='foo')
        result = ipdb.runeval('f(1,2) - 3')

The post-mortem function, ``ipdb.pm()``, is equivalent to the magic function 
``%debug``.

.. _IPython: http://ipython.org

If you install ``ipdb`` with a tool which supports ``setuptools`` entry points,
an ``ipdb`` script is made for you. You can use it to debug your python 2 scripts like

::

        $ bin/ipdb mymodule.py

And for python 3

::

        $ bin/ipdb3 mymodule.py

Alternatively with Python 2.7 only, you can also use

::

        $ python -m ipdb mymodule.py

You can also enclose code with the ``with`` statement to launch ipdb if an exception is raised:

::

        from ipdb import launch_ipdb_on_exception

        with launch_ipdb_on_exception():
            [...]

.. warning::
   Context managers were introduced in Python 2.5.
   Adding a context manager implies dropping Python 2.4 support.
   Use ``ipdb==0.6`` with 2.4.

.. warning::
   Using ``from future import print_function`` for Python 3 compat implies dropping Python 2.5 support.
   Use ``ipdb<=0.8`` with 2.5.

Development
-----------

``ipdb`` source code and tracker are at https://github.com/gotcha/ipdb.

Pull requests should take care of updating the changelog ``HISTORY.txt``.

Third-party support
-------------------

Products.PDBDebugMode
+++++++++++++++++++++

Zope2 Products.PDBDebugMode_ uses ``ipdb``, if available, in place of ``pdb``. 

.. _Products.PDBDebugMode: http://pypi.python.org/pypi/Products.PDBDebugMode

iw.debug
++++++++

iw.debug_ allows you to trigger an ``ipdb`` debugger on any published object
of a Zope2 application.

.. _iw.debug: http://pypi.python.org/pypi/iw.debug

ipdbplugin
++++++++++

ipdbplugin_ is a nose_ test runner plugin that also uses the IPython debugger
instead of ``pdb``. (It does not depend on ``ipdb`` anymore).

.. _ipdbplugin: http://pypi.python.org/pypi/ipdbplugin
.. _nose: http://readthedocs.org/docs/nose


Changelog
=========

0.8.1 (2015-06-03)
------------------

- Make Nose support less invasive.
  Closes https://github.com/gotcha/ipdb/issues/52
  Closes https://github.com/gotcha/ipdb/issues/31
  [blink1073, gotcha]

- Fix for post_mortem in context manager.
  Closes https://github.com/gotcha/ipdb/issues/20
  [omergertel]


0.8 (2013-09-19)
----------------

- More Python 3 compatibility; implies dropping Python 2.5 support.
  Closes https://github.com/gotcha/ipdb/issues/37
  [gotcha]


0.7.1 (2013-09-19)
------------------

- IPython 1.0 compatibility.
  Closes https://github.com/gotcha/ipdb/issues/44
  [pgularski]

- Index into version_info in setup.py for Python 2.6 compatibility.
  [kynan]

- Add Travis CI configuration.
  [kynan]

0.7 (2012-07-06)
----------------

- Add ``launch_ipdb_on_exception`` context manager. Implies dropping Python 2.4 support.
  [Psycojoker]

- Wrap sys.excepthook only once.
  [marciomazza]

- Add GPL file and refer in headers.
  [stan3]

- Python 3 support.
  [Piet Delport]

- Basic tests.
  [msabramo]

- Added the functions ``runcall``, ``runeval`` and ``run``.
  [dimasad]


0.6.1 (2011-10-17)
------------------

- State dependency on IPython later or equal to 0.10.
  [gotcha]


0.6 (2011-09-01)
----------------

- Add setuptools ``console_scripts`` entry point.
  [akrito, gotcha] 

- Nose support.
  Closes https://github.com/gotcha/ipdb/issues/8
  [akaihola, gotcha]


0.5 (2011-08-05)
----------------

- IPython 0.11 support.
  [lebedov]


0.4 (2011-06-13)
----------------

- When used from IPython, use its colors.
  Closes https://github.com/gotcha/ipdb/issues/1
  [gotcha]

- Fixed errors when exiting with "q". 
  [gotcha]

- Allow use of ``python -m ipdb mymodule.py``.
  Python 2.7 only. 
  Closes https://github.com/gotcha/ipdb/issues/3 
  [gotcha]

- Fixed post_mortem when the traceback is None.
  [maurits]


0.3 (2011-01-16)
----------------

- Add ``post_mortem()`` for ``Products.PDBDebugMode`` support.
  [Jean Jordaan]

- Moved to github.com.


0.2 (2010-10-20)
----------------

- Added ``pm()``.
  [Paulo Benedict Ang]


0.1 (2010-04-26)
----------------

- First "non dev" release.


