Skip to content

kalekundert/python-devtools

 
 

Repository files navigation

python devtools

BuildStatus Coverage pypi

Dev tools for python.

The debug print command python never had (and other things).

For more information, see documentation

Install

Just:

pip install devtools[pygments]

(pygments is not required but if it's available output will be highlighted and easier to read.)

Usage

from devtools import debug

whatever = [1, 2, 3]
debug(whatever)

Outputs:

test.py:4 <module>:
  whatever: [1, 2, 3] (list)

That's only the tip of the iceberg, for example:

import numpy as np

data = {
    'foo': np.array(range(20)),
    'bar': {'apple', 'banana', 'carrot', 'grapefruit'},
    'spam': [{'a': i, 'b': (i for i in range(3))} for i in range(3)],
    'sentence': 'this is just a boring sentence.\n' * 4
}

debug(data)

outputs:

https://raw.githubusercontent.com/samuelcolvin/python-devtools/master/demo.py.png

Usage without Import

modify /usr/lib/python3.6/sitecustomize.py making debug available in any python 3.6 code

# add devtools debug to builtins
class lazy_debug:

    @property
    def __call__(self):
        from devtools import debug
        return debug

    def __getattr__(self, key):
        from devtools import debug
        return getattr(debug, key)

__builtins__['debug'] = lazy_debug()

About

Dev tools for python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.5%
  • Makefile 2.5%