colored-traceback


Namecolored-traceback JSON
Version 0.4.2 PyPI version JSON
download
home_pageNone
SummaryAutomatically color uncaught exception tracebacks
upload_time2024-07-13 19:49:37
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseISC
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Colored Traceback
=================

Automatically color Python's uncaught exception tracebacks.

This one's for anybody who's ever struggled to read python's stacktraces on the
terminal. Something about the two-lines-per-frame approach really just makes
them tough to scan visually.

Compare this:

::

    Traceback (most recent call last):
      File "./workflowy.py", line 525, in <module>
        main()
      File "./workflowy.py", line 37, in main
        projects = cli.load_json(args, input_is_pipe)
      File "./workflowy.py", line 153, in load_json
        return json.load(sys.stdin)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 290, in load
        **kw)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
        return _default_decoder.decode(s)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 365, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 383, in raw_decode
        raise ValueError("No JSON object could be decoded")
    ValueError: No JSON object could be decoded

To this:

.. code-block:: python

    Traceback (most recent call last):
      File "./workflowy.py", line 525, in <module>
        main()
      File "./workflowy.py", line 37, in main
        projects = cli.load_json(args, input_is_pipe)
      File "./workflowy.py", line 153, in load_json
        return json.load(sys.stdin)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 290, in load
        **kw)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
        return _default_decoder.decode(s)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 365, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 383, in raw_decode
        raise ValueError("No JSON object could be decoded")
    ValueError: No JSON object could be decoded

Installation
------------

Through pip:

.. code-block:: bash

    pip install colored-traceback

Or directly:

.. code-block:: bash

    git clone http://www.github.com/staticshock/colored-traceback.py
    cd colored-traceback.py
    pip install .

On Windows, which has no real support for ANSI escape sequences, this will
also install `colorama`.

Usage
-----

Colored Traceback can be executed as a module:

.. code-block:: bash

    python -m colored_traceback somefile.py

Colored Traceback also works well within a script or even directly in the
interpreter REPL. Standard usage will color the output, unless it's being
redirected to a pipe:

.. code-block:: python

    import colored_traceback
    colored_traceback.add_hook()

If want to retain color even when stderr is being piped, tack on an
`always=True` argument:

.. code-block:: python

    import colored_traceback
    colored_traceback.add_hook(always=True)

There are also a couple of convenience imports, which get the footprint down to
one line:

.. code-block:: python

    # Same as add_hook()
    import colored_traceback.auto

    # Same as add_hook(always=True)
    import colored_traceback.always

It goes without saying that you might want to catch `ImportError`, making the
presence of the package optional:

.. code-block:: python

    try:
        import colored_traceback.auto
    except ImportError:
        pass

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "colored-traceback",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Anton Backer <olegov@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/07/80/afcf567031ab8565f8f8d2bd14b007d313ea3258e50394e85b10a405099c/colored-traceback-0.4.2.tar.gz",
    "platform": null,
    "description": "Colored Traceback\n=================\n\nAutomatically color Python's uncaught exception tracebacks.\n\nThis one's for anybody who's ever struggled to read python's stacktraces on the\nterminal. Something about the two-lines-per-frame approach really just makes\nthem tough to scan visually.\n\nCompare this:\n\n::\n\n    Traceback (most recent call last):\n      File \"./workflowy.py\", line 525, in <module>\n        main()\n      File \"./workflowy.py\", line 37, in main\n        projects = cli.load_json(args, input_is_pipe)\n      File \"./workflowy.py\", line 153, in load_json\n        return json.load(sys.stdin)\n      File \"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py\", line 290, in load\n        **kw)\n      File \"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py\", line 338, in loads\n        return _default_decoder.decode(s)\n      File \"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py\", line 365, in decode\n        obj, end = self.raw_decode(s, idx=_w(s, 0).end())\n      File \"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py\", line 383, in raw_decode\n        raise ValueError(\"No JSON object could be decoded\")\n    ValueError: No JSON object could be decoded\n\nTo this:\n\n.. code-block:: python\n\n    Traceback (most recent call last):\n      File \"./workflowy.py\", line 525, in <module>\n        main()\n      File \"./workflowy.py\", line 37, in main\n        projects = cli.load_json(args, input_is_pipe)\n      File \"./workflowy.py\", line 153, in load_json\n        return json.load(sys.stdin)\n      File \"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py\", line 290, in load\n        **kw)\n      File \"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py\", line 338, in loads\n        return _default_decoder.decode(s)\n      File \"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py\", line 365, in decode\n        obj, end = self.raw_decode(s, idx=_w(s, 0).end())\n      File \"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py\", line 383, in raw_decode\n        raise ValueError(\"No JSON object could be decoded\")\n    ValueError: No JSON object could be decoded\n\nInstallation\n------------\n\nThrough pip:\n\n.. code-block:: bash\n\n    pip install colored-traceback\n\nOr directly:\n\n.. code-block:: bash\n\n    git clone http://www.github.com/staticshock/colored-traceback.py\n    cd colored-traceback.py\n    pip install .\n\nOn Windows, which has no real support for ANSI escape sequences, this will\nalso install `colorama`.\n\nUsage\n-----\n\nColored Traceback can be executed as a module:\n\n.. code-block:: bash\n\n    python -m colored_traceback somefile.py\n\nColored Traceback also works well within a script or even directly in the\ninterpreter REPL. Standard usage will color the output, unless it's being\nredirected to a pipe:\n\n.. code-block:: python\n\n    import colored_traceback\n    colored_traceback.add_hook()\n\nIf want to retain color even when stderr is being piped, tack on an\n`always=True` argument:\n\n.. code-block:: python\n\n    import colored_traceback\n    colored_traceback.add_hook(always=True)\n\nThere are also a couple of convenience imports, which get the footprint down to\none line:\n\n.. code-block:: python\n\n    # Same as add_hook()\n    import colored_traceback.auto\n\n    # Same as add_hook(always=True)\n    import colored_traceback.always\n\nIt goes without saying that you might want to catch `ImportError`, making the\npresence of the package optional:\n\n.. code-block:: python\n\n    try:\n        import colored_traceback.auto\n    except ImportError:\n        pass\n",
    "bugtrack_url": null,
    "license": "ISC",
    "summary": "Automatically color uncaught exception tracebacks",
    "version": "0.4.2",
    "project_urls": {
        "Source": "https://www.github.com/staticshock/colored-traceback.py"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "da2805e035e2d95dc469408bcb1edfbee5d4fcfe3b0a5fa3701c5f1f10c77c49",
                "md5": "54684c0b208f9b96640603d8bad01fed",
                "sha256": "8ad752a5b3c4e50bccd99d4a2d01e16d80926b519e07a85437ecbf8b4f8ce884"
            },
            "downloads": -1,
            "filename": "colored_traceback-0.4.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "54684c0b208f9b96640603d8bad01fed",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 5502,
            "upload_time": "2024-07-13T19:49:35",
            "upload_time_iso_8601": "2024-07-13T19:49:35.486712Z",
            "url": "https://files.pythonhosted.org/packages/da/28/05e035e2d95dc469408bcb1edfbee5d4fcfe3b0a5fa3701c5f1f10c77c49/colored_traceback-0.4.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0780afcf567031ab8565f8f8d2bd14b007d313ea3258e50394e85b10a405099c",
                "md5": "b3660a83cbf8b75f76435fdecb1449d0",
                "sha256": "ecbc8e41f0712ea81931d7cd436b8beb9f3eff1595d2498f183e0ef69b56fe84"
            },
            "downloads": -1,
            "filename": "colored-traceback-0.4.2.tar.gz",
            "has_sig": false,
            "md5_digest": "b3660a83cbf8b75f76435fdecb1449d0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 4707,
            "upload_time": "2024-07-13T19:49:37",
            "upload_time_iso_8601": "2024-07-13T19:49:37.027550Z",
            "url": "https://files.pythonhosted.org/packages/07/80/afcf567031ab8565f8f8d2bd14b007d313ea3258e50394e85b10a405099c/colored-traceback-0.4.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-13 19:49:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "staticshock",
    "github_project": "colored-traceback.py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "colored-traceback"
}
        
Elapsed time: 0.29015s