better-exceptions-fork 0.2.1.post6
Pretty and helpful exceptions, automatically
Keywords: pretty,better,exceptions,exception,error,local,debug,debugging,locals

**Note:** *This a fork of the original* ``better_exceptions`` *library.
This fork is intended to fix some edge cases I reported (see*
`#47 <https://github.com/Qix-/better-exceptions/issues/47>`__), *but for
this it adds two dependencies to the project. The fixed errors are too
small to justify the addition of dependency to the main library, hence
this fork that I publish for personal use.*

better-exceptions |Travis|
==========================

Pretty and more helpful exceptions in Python, automatically.

.. image:: https://github.com/Delgan/better-exceptions/raw/master_fork/screenshot.png
    :alt: Example screenshot of exceptions

Usage
-----

Install ``better_exceptions`` via pip:

.. code:: console

    $ pip install better_exceptions

And set the ``BETTER_EXCEPTIONS`` environment variable to any value:

.. code:: bash

    export BETTER_EXCEPTIONS=1  # Linux / OSX
    setx BETTER_EXCEPTIONS 1    # Windows

That's it!

Python REPL (Interactive Shell)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In order to use ``better_exceptions`` in the Python REPL, first install the
package (as instructed above) and run:

.. code:: console

    $ python -m better_exceptions
    Type "help", "copyright", "credits" or "license" for more information.
    (BetterExceptionsConsole)
    >>>

in order to drop into a ``better_exceptions``-enabled Python interactive shell.

Advanced Usage
~~~~~~~~~~~~~~

If you want to allow the entirety of values to be outputted instead of
being truncated to a certain amount of characters:

.. code:: python

    import better_exceptions
    better_exceptions.MAX_LENGTH = None

While using ``better_exceptions`` in production, do not forget to unset
the ``BETTER_EXCEPTIONS`` variable to avoid leaking sensitive data in
your logs.

Troubleshooting
---------------

If you do not see beautiful exceptions, first make sure that the
environment variable does exist. You can try ``echo $BETTER_EXCEPTIONS``
(Linux / OSX) or ``echo %BETTER_EXCEPTIONS%`` (Windows). On Linux and
OSX, the ``export`` command does not add the variable permanently, you
will probably need to edit the ``~/.profile`` file to make it
persistent. On Windows, you need to open a new terminal after the
``setx`` command.

Check that there is no conflict with another library, and that the
``sys.excepthook`` function has been correctly replaced with the
``better_exceptions``'s one. Sometimes other components can set up their
own exception handlers, such as the ``python3-apport`` Ubuntu package
that you may need to uninstall.

Make sure that you have not inadvertently deleted the
``better_exceptions_hook.pth`` file that should be in the same place as
the ``better_exceptions`` folder where all of your Python packages are
installed. Otherwise, try re-installing ``better_exceptions``.

You can also try to manually activate the hook by adding
``import better_exceptions; better_exceptions.hook()`` at the beginning
of your script.

Finally, if you still can not get this module to work, `open a new
issue <https://github.com/Qix-/better-exceptions/issues/new>`__ by
describing your problem precisely and detailing your configuration
(Python and ``better_exceptions`` versions, OS, code snippet,
interpeter, etc.) so that we can reproduce the bug you are experiencing.

License
=======

Copyright © 2017, Josh Junon. Licensed under the `MIT
license <LICENSE.txt>`__.

.. |Travis| image:: https://img.shields.io/travis/Delgan/better-exceptions.svg?style=flat-square
   :target: https://travis-ci.org/Delgan/better-exceptions