Socket
Socket
Sign inDemoInstall

better-exceptions-fork

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    better-exceptions-fork

Pretty and helpful exceptions, automatically


Maintainers
1

Readme

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

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc