{"id":16849825,"url":"https://github.com/micahstubbs/torrent","last_synced_at":"2025-04-05T10:42:41.857Z","repository":{"id":58233213,"uuid":"85874880","full_name":"micahstubbs/torrent","owner":"micahstubbs","description":"a code notebook for the machine learning platform h2o-3","archived":false,"fork":false,"pushed_at":"2017-04-09T05:55:48.000Z","size":27045,"stargazers_count":1,"open_issues_count":10,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-10T22:27:06.728Z","etag":null,"topics":["algorithms","data-science","machine-learning","notebook"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/micahstubbs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-22T20:51:29.000Z","updated_at":"2017-04-06T07:01:25.000Z","dependencies_parsed_at":"2022-08-30T22:31:27.677Z","dependency_job_id":null,"html_url":"https://github.com/micahstubbs/torrent","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micahstubbs%2Ftorrent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micahstubbs%2Ftorrent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micahstubbs%2Ftorrent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micahstubbs%2Ftorrent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/micahstubbs","download_url":"https://codeload.github.com/micahstubbs/torrent/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247325645,"owners_count":20920713,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","data-science","machine-learning","notebook"],"created_at":"2024-10-13T13:17:36.145Z","updated_at":"2025-04-05T10:42:41.841Z","avatar_url":"https://github.com/micahstubbs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# torrent 🌊\n\n**torrent** is a code notebook for the machine learning platform [h2o-3](https://github.com/h2oai/h2o-3). **torrent** combines code execution, text, mathematics, plots and rich media to build machine learning workflows.  \n\n**torrent** is written in [es2015](https://babeljs.io/learn-es2015/) [Javascript](https://en.wikipedia.org/wiki/JavaScript). **torrent** uses the [Pug](https://github.com/pugjs/pug) templating engine _(formerly known as [Jade](https://github.com/pugjs/pug#rename-from-jade))_ to define HTML views and lay out pages.  **torrent** uses the [KnockoutJS](https://github.com/knockout/knockout) Model-View-View-Model library for declarative data binding.  \n\n**torrent** contains a veritable heap of little embedded [DSL](https://en.wikipedia.org/wiki/Domain-specific_language)s for reactive [dataflow programming](https://en.wikipedia.org/wiki/Dataflow_programming), markup generation, lazy evaluation and multicast signals/slots. **torrent** sandboxes and evaluates user-Javascript in the browser via static analysis and tree-rewriting. **torrent**'s storytelling environment for exploratory data analysis \u0026 machine learning, features async, re-scriptable record/replay capabilities.\n\n**torrent** is a fork of the [h2o-flow](https://github.com/h2oai/h2o-flow) project\n\n## install\n\n- [ ] `git clone git@github.com:micahstubbs/torrent.git`\n- [ ] `cd torrent`\n- [ ] `npm run clone-h2o`\n- [ ] `npm run build-h2o`\n- [ ] `npm run start-h2o`\n- [ ] visit [http://localhost:54321](http://localhost:54321) in [Chrome](https://www.google.com/chrome/)\n\n## user guide\n\nthere is a nice [user guide](https://github.com/h2oai/h2o-3/blob/8858aac90dce771f9025b16948b675f92b542715/h2o-docs/src/product/flow/README.md) for **h2o-flow** housed over in the [h2o-3](https://github.com/h2oai/h2o-3) repo that describes many features also found in **torrent**\n\n## dev setup\n\nclone [h2o-3](https://github.com/h2oai/h2o-3) and **torrent** in the same parent directory. \n\nit is best to run [h2o-3](https://github.com/h2oai/h2o-3) in the Java [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) [IntelliJ IDEA](https://www.jetbrains.com/idea/).  This enables you the developer to see your changes to *torrent*  in the browser immediately after you run the `npm run build` command, without waiting the 90+ secods to build a new `h2o.jar` binary and run `java -jar h2o.jar` to restart [h2o-3](https://github.com/h2oai/h2o-3).  \n\ninside of [IntelliJ IDEA](https://www.jetbrains.com/idea/):\n\n1. clean up all previous built files:  `cd h2o-3 \u0026\u0026 ./gradlew clean`\n2. open the [h2o-3](https://github.com/h2oai/h2o-3) directory in IDEA, then build and launch `H2OApp.java`\n3. Run \n\n```\ncd torrent\nnpm install\nnpm run build\n```\n\nto install **torrent**'s dependencies and create the **torrent** bundle. you can now access and debug **torrent** at [http://localhost:54321/](http://localhost:54321/)\n\n4. after each change you make to the **torrent** source code, run the command \n\n`npm run build`\n\nto copy your changes to the instance of [h2o-3](https://github.com/h2oai/h2o-3) running locally inside of IDEA\n\nfurther [instructions](https://github.com/h2oai/h2o-3#47-setting-up-your-preferred-ide-environment) for setting up the [h2o-3](https://github.com/h2oai/h2o-3) project in [IntelliJ IDEA]() are [here](https://github.com/h2oai/h2o-3#47-setting-up-your-preferred-ide-environment)\n\n\n## testing a new **torrent** feature with Sparkling Water  \n\n**torrent** can also be used with [Sparkling Water](https://github.com/h2oai/sparkling-water)  \nfollow this guide develop and test new Sparkling Water features in **torrent**.  \nadapted from the comments on this PR https://github.com/h2oai/h2o-flow/pull/13  \n\n##### copy built js files from one place to another  \nin the `h2o-3` directory run:  \n`cp h2o-web/src/main/resources/www/flow/js/* h2o-web/lib/h2o-flow/build/js/`  \n\n##### build h2o-3  \nin the `h2o-3` directory run:  \n`./gradlew publishToMavenLocal -x test`  \n\n##### build sparkling water  \nin `sparkling-water` directory run:  \n`./gradlew clean build -x test -x integTest`  \n\n##### open the Sparkling Water Shell  \nin `sparkling-water` directory run:  \n`bin/sparkling-shell`  \n\nin the sparkling water shell  \nat the `scala\u003e` prompt run:  \n`import org.apache.spark.h2o._`  \n`H2OContext.getOrCreate(sc)`  \n\nnow open **torrent** at the IP address specified  \nin the sparkling water shell  \n\nnow test your changes in **torrent**  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicahstubbs%2Ftorrent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicahstubbs%2Ftorrent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicahstubbs%2Ftorrent/lists"}