This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!
Project Description

*Inspired by `IPython <http://ipython.org/>`__, built with love*

IPython-Dashboard

A stand alone, light-weight web server for building, sharing graphs created in IPython. Build for data science, data analysis guys. Aiming at building an interactive visualization, collaborated dashboard, and real-time streaming graph.

Usage

  • Install prerequisite

    • install the latest stable IPython-Dashboard: pip install ipython-dashboard --upgrade
    • install redis 2.6+ : install guide
    • [option, if you need run sql]install mysql : brew install mysql or apt-get install mysql
    • install IPython-Dashboard requirements [unneeded sometimes]:
      • cd ~/your python package path/IPython-Dashboard
      • pip install -r requirements.txt
  • [“option“, if you need run sql]Config mysql

    • start mysql server : mysql.server start

    • login in mysql using root : mysql -u root

    • create a user and grant privileges;

      • take a look at current database user

        mysql> SELECT User,Host FROM mysql.user;
        +------+-----------+
        | User | Host      |
        +------+-----------+
        | root | 127.0.0.1 |
        | root | ::1       |
        |      | localhost |
        | root | localhost |
        |      | mac007    |
        | root | mac007    |
        +------+-----------+
        6 rows in set (0.00 sec)
        
      • create a user for IPython-Dashboard

      mysql> create user 'ipd'@'localhost' identified by 'thanks';
      Query OK, 0 rows affected (0.00 sec)
      
      mysql> grant all privileges on *.* to ipd@localhost;
      Query OK, 0 rows affected (0.00 sec)
      
      mysql> SELECT User,Host FROM mysql.user;
      +------+-----------+
      | User | Host      |
      +------+-----------+
      | root | 127.0.0.1 |
      | root | ::1       |
      |      | localhost |
      | ipd  | localhost |
      | root | localhost |
      |      | mac007    |
      | root | mac007    |
      +------+-----------+
      7 rows in set (0.00 sec)
      
      mysql> flush privileges;
      Query OK, 0 rows affected (0.00 sec)
      
    • create tables;

      nosetests -s dashboard.tests.testCreateData:test_create_mysql_data
      
  • Create logging path

    • create a folder to store log files. I put it under mnt currently: /mnt/ipython-dashboard/logs

    • make sure the log folder is write-able, using chmod and ls -l to confirm.

      chenshan@mac007:/mnt/ipython-dashboard$ls -l
      total 0
      drwxrwxrwx  9 root  wheel  306 Dec 15 22:09 logs
      
  • Config IPython-Dashboard server : “IPython-Dashboard/dashboard/config.py“

    • app_host='ip_address:port'
  • Start redis and IPython-Dashboard server

    chenshan@mac007:~/Desktop/github/IPython-Dashboard$redis-server &
    
    chenshan@mac007:~/Desktop/github/IPython-Dashboard$dash-server --help
    usage: dash-server [-h] [-H HOST] [-p PORT] [-d DEBUG]
    
    Start your IPython-Dashboard server ...
    
    optional arguments:
      -h, --help            show this help message and exit
      -H HOST, --host HOST  server host, default localhost
      -p PORT, --port PORT  server port, default 9090
      -d DEBUG, --debug DEBUG
                            server port, default true
    
    chenshan@mac007:~/Desktop/github/IPython-Dashboard$dash-server
    Namespace(debug=True, host='0.0.0.0', port=9090)
     * Running on http://0.0.0.0:9090/
     * Restarting with reloader
    Namespace(debug=True, host='0.0.0.0', port=9090)
    
  • Do your exploring

Goal

  • support raw html visualization
  • support python object visualization
  • Editable
  • Real-time fresh when rendering a variable python object
  • Can be shared, both public and private [ need password ]
  • In the notebook, can share an object to a dashboard [ that’s visualize that object in that dashboard ]

Use Case

  • exploring in notebook, share/send the result/summary to people, without the details.
  • share some data in a private notebook.
  • disappointed with the complicated code when drawing a graceful/staic graph using matplotlib/seaborn/mpld3 etc.
  • want an interactive graph, allow people to zoom in/out, resize, get hover tips, change graph type easily.
  • want a real-time graph.
  • want an collaborated graph/dashboard.

wise-choice

Screenshot and Demo

screenshot

screenshot

screenshot

screenshot

Run tests

just run sudo nosetests --with-coverage --cover-package=dashboard under this repo

taotao@mac007:~/Desktop/github/IPython-Dashboard$sudo nosetests --with-coverage --cover-package=dashboard
Password:
../Users/chenshan/Desktop/github/IPython-Dashboard/dashboard/tests/testCreateData.py:69: Warning: Can't create database 'IPD_data'; database exists
  conn.cursor().execute('CREATE DATABASE IF NOT EXISTS {};'.format(config.sql_db))
/Users/chenshan/Desktop/github/IPython-Dashboard/dashboard/server/utils.py:135: Warning: Unknown table 'ipd_data.businesses'
  cursor.execute(sql)
/Library/Python/2.7/site-packages/pandas/io/sql.py:599: FutureWarning: The 'mysql' flavor with DBAPI connection is deprecated and will be removed in future versions. MySQL will be further supported with SQLAlchemy engines.
  warnings.warn(_MYSQL_WARNING, FutureWarning)
...
Name                                    Stmts   Miss  Cover   Missing
---------------------------------------------------------------------
dashboard.py                               13      0   100%
dashboard/client.py                         1      0   100%
dashboard/client/sender.py                 11      3    73%   26-27, 33
dashboard/conf.py                           0      0   100%
dashboard/conf/config.py                   29      0   100%
dashboard/server.py                         0      0   100%
dashboard/server/resources.py               0      0   100%
dashboard/server/resources/dash.py         35     10    71%   36, 55-56, 67-69, 86-89
dashboard/server/resources/home.py         40     12    70%   25, 28-30, 83-91
dashboard/server/resources/sql.py          27     11    59%   30, 52-75
dashboard/server/resources/status.py        8      1    88%   19
dashboard/server/resources/storage.py      13      5    62%   26-28, 43-47
dashboard/server/utils.py                  79     18    77%   20-24, 78-80, 82-83, 86, 96, 99-100, 126-127, 140-142
dashboard/server/views.py                  21      1    95%   16
---------------------------------------------------------------------
TOTAL                                     277     61    78%
----------------------------------------------------------------------
Ran 5 tests in 9.885s

OK
taotao@mac007:~/Desktop/github/IPython-Dashboard$

Change Log

  • future
    • front side, databricks style
    • pep 8, code clean up & restructure
    • hover tips
    • edit modal can be resized
    • Share one graph
    • Share one dashboard
    • Presentation mode
    • footer
    • unified message display center
    • SQL Editor
    • login management
    • unified logger and exception report
    • server side log
    • client side log
    • support python3
    • create examples
    • render sql in dashboard
    • chart optimize
  • *V 0.1.6 : optimize-chart [ current develop version ]*
    • Dashboard
      • re-structure code, follow pep8 style
      • create 1 example
      • optimize chart
    • SQL Editor
      • optimize page
      • render sql result as graph
  • *V 0.1.5 : sql-server-log [ current stable version ]*
    • Dashboard
      • create 1 example
      • server side log
      • support x-axis as date format
      • research on real-time updated dataframe
    • SQL Editor
      • sql server develop : render sql result as table view
Release History

Release History

0.1.5

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
IPython-Dashboard-0.1.5.tar.gz (1.3 MB) Copy SHA256 Checksum SHA256 Source Jan 1, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting