GithubHelp home page GithubHelp logo

micahstubbs / h2o-flow Goto Github PK

View Code? Open in Web Editor NEW

This project forked from h2oai/h2o-flow

0.0 1.0 0.0 58.62 MB

Web based interactive computing environment for H2O

License: MIT License

Makefile 0.02% CSS 5.97% HTML 5.53% JavaScript 80.11% CoffeeScript 8.36% Shell 0.01%

h2o-flow's Introduction

Join the chat at https://gitter.im/h2oai/h2o-flow

H2O Flow

H2O Flow is a web-based interactive computational environment where you can combine code execution, text, mathematics, plots and rich media to build machine learning workflows.

Think of Flow as a hybrid GUI + REPL + storytelling environment for exploratory data analysis and machine learning, with async, re-scriptable record/replay capabilities. Flow sandboxes and evals user-Javascript in the browser via static analysis and tree-rewriting. Flow is written in non-standard Javascript (with compile-time unqualified imports), with a veritable heap of little embedded DSLs for reactive dataflow programming, markup generation, lazy evaluation and multicast signals/slots.

Docs

there is a nice user guide for H2O Flow housed over in the h2o-3 repo

Development Instructions

It is recommended that you clone h2o-3 and h2o-flow in the same parent directory.

If you develop for Flow from a Java IDE like IntelliJ IDEA or Eclipse, you can see your changes to Flow in the browser immediately after you run the make command, without waiting to build a new H2O binary and restart H2O.

If you have not already, follow these instructions to set up your preferred IDE environment for h2o-3 development.

Within IDEA/Eclipse

  1. First, clean up all built files: cd h2o-3 && ./gradlew clean
  2. Open up h2o-3 in IDEA, build and launch H2OApp.
  3. Run cd h2o-flow && make install. You can now access and debug Flow at http://localhost:54321/
  4. After each change to h2o-flow sources, run the command cd h2o-flow && make to push your changes to the running instance of h2o-3.

Phantom JS installation notes

The task npm run headless requires installing Phantom JS.

Note: Phantom JS refuses to run on OSX Yosemite, and requires this fix:

brew install upx
upx -d bin/phantomjs

Testing a new Flow Feature with Sparkling Water

Flow can also be used with Sparkling Water
Follow this guide develop and test new Sparkling Water features in Flow.
adapted from the comments on this PR h2oai#13

copy built js files from one place to another

in the h2o-3 directory run:
cp h2o-web/src/main/resources/www/flow/js/* h2o-web/lib/h2o-flow/build/js/

build h2o-3

in the h2o-3 directory run:
./gradlew publishToMavenLocal -x test

build sparkling water

in sparkling-water directory run:
./gradlew clean build -x test -x integTest

open the Sparkling Water Shell

in sparkling-water directory run:
bin/sparkling-shell

in the sparkling water shell
at the scala> prompt run:
import org.apache.spark.h2o._
H2OContext.getOrCreate(sc)

now open Flow at the IP address specified
in the sparkling water shell

now test your changes in Flow

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.