Metadata-Version: 1.2
Name: peepshow
Version: 0.1.0
Summary: Data Explorer
Home-page: https://github.com/gergelyk/peepshow
Author: Grzegorz Krason
Author-email: grzegorz@krason.me
License: UNKNOWN
Description: PeepShow
        ========
        
        Provides following utilities for debugging Python applications:
        
        * show - lightweight function that prints name and value of your variable(s) to the console.
        * peep - featured, interactive interface for data inspection.
        
        
        Installation
        ------------
        
        Install ``peepshow`` package:
        
        .. code-block:: bash
        
            pip install peepshow
        
        
        Built-Ins
        ^^^^^^^^^
        
        If you expect to use peepshow often, consider adding ``peep`` and ``show`` commands to Python's built-ins. Edit either ``{site-packages}/sitecustomize.py`` or ``{user-site-packages}/usercustomize.py`` and append the following:
        
        .. code-block:: python
        
            import peepshow
            import builtins
            builtins.peep = peepshow.peep
            builtins.show = peepshow.show
            builtins.peep_ = peepshow.peep_
            builtins.show_ = peepshow.show_
        
        Alternatively let the installer do it for you by installing package like this:
        
        .. code-block:: bash
        
        	pip install peepshow --install-option="--add-builtins"
        
        Note that ``pip uninstall peepshow`` command will not undo this change. You need to do it manually.
        
        Breakpoint
        ^^^^^^^^^^
        
        It is also possible to invoke ``peep()`` as a result of calling built-in function ``breakpoint()``. To enable such behaviour use ``PYTHONBREAKPOINT`` system variable:
        
        .. code-block:: bash
        
            export PYTHONBREAKPOINT=peepshow.peep
        
        Usage
        -----
        
        show
        ^^^^
        
        Running this script:
        
        .. code-block:: python
        
            x = 123
            y = {'name': 'John', 'age': 123}
            z = "Hello World!"
        
            # show all the variables in the scope
            show()
        
            # or only variables of your choice
            show(x, y)
        
            # you can also rename them
            show(my_var=x)
        
            # use 'show_' to specify variable names as a string
            show_('x')
        
            # expressions and renaming are also allowed
            show_('x + 321', zet='z')
        
        
        will result in following output:
        
        .. code-block::
        
            x = 123
            y = {'age': 123, 'name': 'John'}
            z = 'Hello World!'
            x = 123
            y = {'age': 123, 'name': 'John'}
            my_var = 123
            x = 123
            x + 321 = 444
            zet = 'Hello World!'
        
        
        peep
        ^^^^
        
        Try to run the following script:
        
        .. code-block:: python
        
            x = 123
            y = {'name': 'John', 'age': 123}
            z = "Hello World!"
        
            # inspect dictionary that consists of all the variables in the scope
            peep()
        
            # or inspect variable of your choice directly
            peep(x)
        
            # use 'peep_' to specify variable name as a string
            peep_('x')
        
        
        When interactive interface pops up:
        
        * hit ENTER to see list of available variables
        * type ``10`` and hit ENTER to select ``y``
        * hit ENTER again to see items of your dictionary
        * type ``dir`` and hit ENTER to list attributes of ``y`` (excluding built-ins)
        * type ``continue`` and hit ENTER to proceed or type ``quit`` and hit ENTER to terminate your script
        
        Note that all the commands have their short aliases. E.g. ``quit`` and ``q`` is the same.
        
        For more help:
        
        * type ``help`` and hit ENTER to see list of available commands
        * type ``man`` and hit ENTER to read the manual, hit ``q`` when you are done
        
        
        Development
        -----------
        
        Preparing Environment
        ^^^^^^^^^^^^^^^^^^^^^
        
        .. code-block:: bash
        
            ./setup.sh
            source venv/bin/activate
        
        
        Modifying Dependencies
        ^^^^^^^^^^^^^^^^^^^^^^
        
        .. code-block:: bash
        
            # edit setup.py
            # edit requirements*.in
            pip-compile
            pip-sync
            # git add... commit... push...
        
        Testing
        ^^^^^^^
        
        .. code-block:: bash
        
            pytest
        
        Releasing
        ^^^^^^^^^
        
        .. code-block:: bash
        
            # update version in setup.py
            python setup.py sdist
            twine upload dist/peepshow-$VERSION.tar.gz
            git tag $VERSION
            git push --tags
        
        
        
        
Keywords: debug,data,explore,programming
Platform: UNKNOWN
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: Utilities
Requires-Python: ~=3.6, ~=3.7
