Metadata-Version: 2.1
Name: devtools
Version: 0.4
Summary: Dev tools for python
Home-page: https://github.com/samuelcolvin/python-devtools
Author: Samuel Colvin
Author-email: s@muelcolvin.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX :: Linux
Classifier: Environment :: MacOS X
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.5
Provides-Extra: pygments
Requires-Dist: Pygments (>=2.2.0) ; extra == 'pygments'

python devtools
===============

|BuildStatus| |Coverage| |pypi|

Dev tools for python.

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

For more information, see `documentation <https://python-devtools.helpmanual.io/>`_

Install
-------

Just::

    pip install devtools[pygments]

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

Usage
-----

.. code:: python

   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:

.. code:: python

   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:

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

Usage without Import
--------------------

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

.. code:: python

   # add devtools debug to builtins
   try:
       from devtools import debug
   except ImportError:
       pass
   else:
       __builtins__['debug'] = debug

.. |BuildStatus| image:: https://travis-ci.org/samuelcolvin/python-devtools.svg?branch=master
   :target: https://travis-ci.org/samuelcolvin/python-devtools
.. |Coverage| image:: https://codecov.io/gh/samuelcolvin/python-devtools/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/samuelcolvin/python-devtools
.. |pypi| image:: https://img.shields.io/pypi/v/devtools.svg
   :target: https://pypi.org/project/devtools


