Metadata-Version: 2.0
Name: local-visualizer
Version: 0.1.1
Summary: Simple python api to visualize the plots in a script.
Home-page: https://github.com/psvishnu91/local_visualizer
Author: Vishnu P Sreenivasan
Author-email: psvishnu.91@gmail.com
License: MIT license
Keywords: local_visualizer
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2.7
Requires-Dist: matplotlib

LocalVisualizer |Build Status|
------------------------------

Simple python api to visualize the plots in a script.

-  Free software: MIT license
-  Documentation: https://local-visualizer.readthedocs.io.
-  PyPI: https://pypi.python.org/pypi/local-visualizer/

Motivation
~~~~~~~~~~

-  When moving from an IPython notebook to a script, we lose the
   diagnostics of visualizing pandas as tables and matplotlib plots.
-  :class:``LocalViz`` starts a local http server and creates a html
   file to which pandas tables and matplotlib plots can be sent over.
-  The html file is dynamically updated for long running scripts.

Usage
~~~~~

.. code:: python


        import logging, sys, numpy as np, pandas as pd, matplotlib.pyplot as plt
        import local_visualizer

        plt.style.use('fivethirtyeight')
        logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)

        # Create the local visualizer instance
        lviz = local_visualizer.LocalViz(html_file='lviz_test.html', port=9112)
        # INFO:root:Starting background server at: http://localhost:9112/.
        # INFO:local_visualizer:Click: http://carpediem:9112/lviz_test.html or http://localhost:9112/lviz_test.html

        # Create plots which will be streamed to the html file.
        lviz.h3('Matplotlib :o')
        lviz.p(
            'Wrap your plots in the figure context manager which takes '
            'in the kwargs of plt.figure and returns a plt.figure object.',
        )

        with lviz.figure(figsize=(10, 8)) as fig:
            x = np.linspace(-10, 10, 1000)
            plt.plot(x, np.sin(x))
            plt.title('Sine test')

        lviz.hr()

        # Visualize pandas dataframes as tables.
        lviz.h3('Pandas dataframes')

        df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
        df = pd.concat(
            [df, pd.DataFrame(np.random.randn(10, 4), columns=list('BCDE'))],
            axis=1,
        )
        lviz.write(df)

Output
~~~~~~

This starts a HTTPServer and creates a html file which is dynamically
updated each time ``lviz`` is called.

.. figure:: https://i.imgur.com/jjwvAX2.png
   :alt: The output of the above commands

   Output image

Support and Requirements
~~~~~~~~~~~~~~~~~~~~~~~~

Python 2.7 (requires only std libraries).

API methods
~~~~~~~~~~~

1. ``p``: paragraph
2. ``br``: line break
3. ``hr``: Horizontal rule with line breaks
4. ``h1``, ``h2``, ..., ``h6``: Headers
5. ``write``: Directly write text to the html document (or pass in a
   ``pandas.DataFrame``)
6. ``figure``: Context manager which accepts the kwargs of
   ``plt.figure`` and returns a ``plt.figure`` object
7. ``start``: Applicable if ``LocalViz`` was initialized with
   ``lazy=True``. Starts the server and creates the html file
8. ``close``: Deletes the html file

Credits
~~~~~~~

This package was created with Cookiecutter\_ and the
``audreyr/cookiecutter-pypackage``\ \_ project template.

.. *Cookiecutter: https://github.com/audreyr/cookiecutter ..
*\ ``audreyr/cookiecutter-pypackage``:
https://github.com/audreyr/cookiecutter-pypackage

.. |Build Status| image:: https://travis-ci.org/psvishnu91/local_visualizer.svg?branch=master
   :target: https://travis-ci.org/psvishnu91/local_visualizer


=======
History
=======

0.1.0 (2017-11-05)
------------------

* First release on PyPI.


