Coder Social home page Coder Social logo

danielfrg / illusionist Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 2.0 11.33 MB

Interactive client-only reports based on Jupyter Notebooks and Jupyter widgets.

Home Page: https://illusionist.danielfrg.com

License: Apache License 2.0

Makefile 5.58% Python 70.37% JavaScript 22.48% Jinja 1.57%
jupyter-notebook jupyter-widgets dashboard reports client-side

illusionist's Introduction

illusionist

pypi build docs coverage license

Illusionist takes a Jupyter Notebook with a kernel and widgets and exports a static HTML report that maintains the interactivity of the widgets without a live Jupyter kernel.

It does this by pre-calculating and serializing all the possible outputs and it generates a self-contained asset that has no runtime requirements.

A good analogy is the static HTML export of a dynamic web server like Next.JS. A Jupyter Notebook connected to a live kernel is equivalent to a web server and an illusionist report would be the static HTML version of the content. An static site generator pre-renders the content and illusionist pre-calculates the outputs of the widgets.

The main idea of Jupyter Notebooks and Jupyter widgets is to make data closer to the code and data scientists while maintaining interactivity, they do a great job at that. Illusionist maintains the same development workflow Jupyter users are used to by using standard Jupyter tooling such as ipywidgets and nbconvert. No need to import anything in your notebook to generate an interactive report using illusionist, just run one nbconvert command.

The generated assets are easy to deploy, scale and have a big longevity by removing a lot of deployment requirements and dependencies. Like a regular static web page.

Learn more and see examples at illusionist.danielfrg.com.

illusionist's People

Contributors

danielfrg avatar dependabot[bot] avatar ocefpaf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

illusionist's Issues

Create npm release of illusionist

I am using the IllusionistWidgetManager in a couple of places (jupyter-flex and nbviewer.js) and I am just copy/pasting it. I should do a release on npm and reuse.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.