All Projects → litaotao → Ipython Dashboard

litaotao / Ipython Dashboard

Licence: gpl-2.0
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.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ipython Dashboard

Nteract
📘 The interactive computing suite for you! ✨
Stars: ✭ 5,713 (+760.39%)
Mutual labels:  ipython, data-science, notebook
Spark Py Notebooks
Apache Spark & Python (pySpark) tutorials for Big Data Analysis and Machine Learning as IPython / Jupyter notebooks
Stars: ✭ 1,338 (+101.51%)
Mutual labels:  ipython, data-science, notebook
Ipython
Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.
Stars: ✭ 15,107 (+2175.15%)
Mutual labels:  ipython, data-science, notebook
yuuno
Yuuno = VapourSynth + Jupyter
Stars: ✭ 39 (-94.13%)
Mutual labels:  notebook, ipython
Dtale
Visualizer for pandas data structures
Stars: ✭ 2,864 (+331.33%)
Mutual labels:  ipython, data-science
spark-notebook-examples
Some notebook examples related to Apache Spark, IPython / Jupyter, Zeppelin
Stars: ✭ 49 (-92.62%)
Mutual labels:  notebook, ipython
Polyaxon
Machine Learning Platform for Kubernetes (MLOps tools for experimentation and automation)
Stars: ✭ 2,966 (+346.69%)
Mutual labels:  data-science, notebook
importnb
notebook files as source
Stars: ✭ 47 (-92.92%)
Mutual labels:  notebook, ipython
Sci Pype
A Machine Learning API with native redis caching and export + import using S3. Analyze entire datasets using an API for building, training, testing, analyzing, extracting, importing, and archiving. This repository can run from a docker container or from the repository.
Stars: ✭ 90 (-86.45%)
Mutual labels:  ipython, data-science
Hydrogen
Run code interactively, inspect data, and plot. All the power of Jupyter kernels, inside your favorite text editor.
Stars: ✭ 3,763 (+466.72%)
Mutual labels:  ipython, data-science
Quantitative Notebooks
Educational notebooks on quantitative finance, algorithmic trading, financial modelling and investment strategy
Stars: ✭ 356 (-46.39%)
Mutual labels:  data-science, notebook
D2l Vn
Một cuốn sách tương tác về học sâu có mã nguồn, toán và thảo luận. Đề cập đến nhiều framework phổ biến (TensorFlow, Pytorch & MXNet) và được sử dụng tại 175 trường Đại học.
Stars: ✭ 402 (-39.46%)
Mutual labels:  data-science, notebook
Signals And Systems Lecture
Continuous- and Discrete-Time Signals and Systems - Theory and Computational Examples
Stars: ✭ 166 (-75%)
Mutual labels:  ipython, notebook
Ipyexperiments
jupyter/ipython experiment containers for GPU and general RAM re-use
Stars: ✭ 128 (-80.72%)
Mutual labels:  ipython, notebook
Digital Signal Processing Lecture
Digital Signal Processing - Theory and Computational Examples
Stars: ✭ 532 (-19.88%)
Mutual labels:  ipython, notebook
dmind
jupyter notebook 的思维导图插件
Stars: ✭ 21 (-96.84%)
Mutual labels:  notebook, ipython
Cookbook 2nd
IPython Cookbook, Second Edition, by Cyrille Rossant, Packt Publishing 2018
Stars: ✭ 704 (+6.02%)
Mutual labels:  ipython, data-science
Jupyterlab Lsp
Coding assistance for JupyterLab (code navigation + hover suggestions + linters + autocompletion + rename) using Language Server Protocol
Stars: ✭ 796 (+19.88%)
Mutual labels:  ipython, notebook
Spark Notebook
Interactive and Reactive Data Science using Scala and Spark.
Stars: ✭ 3,081 (+364.01%)
Mutual labels:  data-science, notebook
Data Science Your Way
Ways of doing Data Science Engineering and Machine Learning in R and Python
Stars: ✭ 530 (-20.18%)
Mutual labels:  data-science, notebook

Feel free to give a star to my new repo, great thanks Awesome-FinTech


Hi, there

I'm so glad that this repo still draws you guys' attention until today. but actually I won't spend any time on it and I've got a much better way to draw dynamic plots in ipython notebook, and I've just post a blog about how to make it in notebooks (including source code and demo notebook).

which looks like bellow:

Please check it here: http://litaotao.github.io/dynamic-charts-matplotlib-alternative-ipython-notebook-python-drawing-js

Thank you guys again, and if possible, please don't cancel your stars, ha~ha, any problems and questions when using the new method will get answered as long as you put it under that post.

thanks again, taotao~


build status Documentation Status coverage PyPI Version Downloads

Inspired by IPython, 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.

Screenshot and Demo

Demo on Youtube
Demo on Youku

screenshot

screenshot

screenshot

screenshot

screenshot

screenshot

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 [email protected];
      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.
    [email protected]:/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

    [email protected]:~/Desktop/github/IPython-Dashboard$redis-server &
    
    [email protected]:~/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
    
    [email protected]:~/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

Run tests

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

[email protected]:~/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
[email protected]:~/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

Related Projects & Products

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].