• Stars
    star
    3,904
  • Rank 10,694 (Top 0.3 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created almost 9 years ago
  • Updated 5 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

:atom: Run code interactively, inspect data, and plot. All the power of Jupyter kernels, inside your favorite text editor.

Hydrogen hydrogen animated logo

CI

Hydrogen is an interactive coding environment that supports Python, R, JavaScript and other Jupyter kernels.

Checkout our Documentation and Medium blog post to see what you can do with Hydrogen.

hero

Atom Sunset Notice

Atom is sunsetted. It is not possible to publish new packages anymore. If you have Atom working offline locally, it should continue to work, but the servers are down.

You can export ipynb from Hydrogen using this method and migrate to the following alternatives:

Contents

  1. Background
  2. Features
  3. Plugins for Hydrogen
  4. Useful external packages
  5. How it works
  6. Why "Hydrogen"?
  7. Contributing
  8. Changelog
  9. License

Background

Hydrogen was inspired by Bret Victor's ideas about the power of instantaneous feedback and the design of Light Table. Running code inline and in real time is a more natural way to develop. By bringing the interactive style of Light Table to the rock-solid usability of Atom, Hydrogen makes it easy to write code the way you want to.

You also may be interested in our latest project – nteract – a desktop application that wraps up the best of the web based Jupyter notebook.

Features

  • execute a line, selection, or block at a time
  • rich media support for plots, images, and video
  • watch expressions let you keep track of variables and re-run snippets after every change
  • completions from the running kernel, just like autocomplete in the Chrome dev tools
  • code can be inspected to show useful information provided by the running kernel
  • one kernel per language (so you can run snippets from several files, all in the same namespace)
  • interrupt or restart the kernel if anything goes wrong
  • use a custom kernel connection (for example to run code inside Docker), read more in the "Custom kernel connection (inside Docker)" section

Plugins for Hydrogen

Hydrogen has support for plugins. Feel free to add your own to the list:

If you are interested in building a plugin take a look at our plugin API documentation.

Useful external packages

Here is a list of external packages that could be useful when using Hydrogen (without using Hydrogen plugin API, as such they're mostly only related to the UIs):

If you find/create a package that you think can be useful when used in combination with Hydrogen, feel free to make a PR and add it.

How it works

Hydrogen implements the messaging protocol for Jupyter. Jupyter (formerly IPython) uses ZeroMQ to connect a client (like Hydrogen) to a running kernel (like IJulia or iTorch). The client sends code to be executed to the kernel, which runs it and sends back results.

Why "Hydrogen"?

Hydrogen atoms make up 90% of Jupiter by volume.

Plus, it was easy to make a logo.

Contributing

Thanks for taking the time to contribute. Take a look at our Contributing Guide to get started.

Then, take a look at any issue labeled good first issue or help wanted that has not been claimed. These are great starting points.

Changelog

Every release is documented on the GitHub Releases page.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

⬆ back to top

More Repositories

1

nteract

📘 The interactive computing suite for you! ✨
TypeScript
6,156
star
2

papermill

📚 Parameterize, execute, and analyze notebooks
Python
5,632
star
3

semiotic

A data visualization framework combining React & D3
JavaScript
2,422
star
4

commuter

🚎 Notebook sharing hub
JavaScript
483
star
5

testbook

🧪 📗 Unit test your Jupyter Notebooks the right way
Python
405
star
6

scrapbook

A library for recording and reading data in notebooks.
Python
277
star
7

vdom

🎄 Virtual DOM for Python
Jupyter Notebook
221
star
8

bookstore

📚 Notebook storage and publishing workflows for the masses
Python
201
star
9

data-explorer

The Data Explorer is nteract's automatic visualization tool.
TypeScript
102
star
10

sidecar

🚤 Little side display of Jupyter kernel rich output
JavaScript
90
star
11

ansi-to-react

💂‍♂️ ANSI to React
TypeScript
87
star
12

nteract.io

📣 Our site! 📣
JavaScript
44
star
13

dx

Data Explorer for Python
Python
37
star
14

create-nteract-app

⚡ Create an nteractive application with zero configuration
JavaScript
34
star
15

pick

⛏ Customize your kernels on Launch!
Jupyter Notebook
32
star
16

semiotic-docs

Docs for using Semiotic
JavaScript
32
star
17

commutable

♻️ Operations for Immutable Notebook Documents
29
star
18

mathjax-electron

🔣:electron: A trimmed down version of the MathJax library for use with electron and modern browsers
JavaScript
28
star
19

examples

Example nteract notebooks with links to execution on mybinder.org
Jupyter Notebook
26
star
20

outputs

A collection of React components for displaying rich Jupyter display objects
TypeScript
25
star
21

coffee_boat

☕⛵WIP PySpark dependency management
Jupyter Notebook
22
star
22

docs

🏖 User written and user focused documentation for working with nteract! Join us!
HTML
19
star
23

initiatives

📑 Top level initiatives that our team is working on
17
star
24

nes

🎮 Notebook Enterprise Summit
17
star
25

nteract-next

Iterating on the next version of nteract
TypeScript
16
star
26

spawnteract

🚸 Spawn Jupyter Kernels
JavaScript
15
star
27

mathjax

React context wrapper around the MathJax API
TypeScript
15
star
28

play

The code base for the nteract Play app
JavaScript
14
star
29

papermillr

R bindings for papermill
R
14
star
30

notebook-preview

🎥 [DEPRECATED] Lightweight preview of a notebook, nteract style
JavaScript
14
star
31

global-sprint

🌐 Build. Share. Learn. 🗓 July 28 - August 3 2018
13
star
32

ick

🏮 Interactive Console Experiments
JavaScript
13
star
33

rx-jupyter

🎈 RxJS 5 bindings for the Jupyter Notebook API
13
star
34

transformime

🚚 Mimetype + data -> HTMLElement
13
star
35

ion

A React-backed UI Toolkit
JavaScript
12
star
36

snakestagram

🐍 📦 Snake in a box, conda environments to go
Shell
12
star
37

docs-old

📔 docs are awesome DEPRECATED - ARCHIVE ON 11-30-2018
12
star
38

kernel-relay

kernel-relay is a GraphQL service for interfacing with one or more Jupyter kernels
TypeScript
12
star
39

markdown

A package for rendering Markdown within Jupyter notebooks
TypeScript
10
star
40

term-launcher

💻 🚀 Launch terminals and jupyter consoles from node.
JavaScript
10
star
41

enchannel

💱 standardizing how a frontend communicates with a kernel
JavaScript
10
star
42

kernelspecs

📇 Find Jupyter kernelspecs on a system
JavaScript
9
star
43

meeting-minutes

📝 Minutes from nteract monthly contributor meeting; reports and metrics
9
star
44

cabinet

📕 Exploring a new notebook container format
9
star
45

oauth-server

🔏 Little OAuth Handler for Gist Publishing
JavaScript
8
star
46

jupyter-paths

🌇 Pure JavaScript implementation of jupyter --paths --json
JavaScript
8
star
47

react-jupyter-display-area

📊 Jupyter Display Area as a React Component
7
star
48

improved-spark-viz

🐼 WIP Improved visualizations in Spark
Python
7
star
49

jupyter-display-area

🚫 Prototype Web Component for Jupyter Display Areas
JavaScript
6
star
50

logos

✨ A place to collaborate on nteract logos ✨
TypeScript
6
star
51

transformime-react

🚫 Mimetype + data -> React Element
5
star
52

jupyer-go-api

Jupyter API server implemented in Go
Go
5
star
53

enchannel-zmq-backend

ZeroMQ backend implementation for enchannel
TypeScript
5
star
54

ipypandex

A package for automatically turning on Data Explorer in Pandas for an IPython Jupyter kernel.
Python
5
star
55

graphql-schema-exploration

Exploring a GraphQL schema for notebooks
TypeScript
5
star
56

education

Developing strategies, designs, and curriculum to reach more and teach more
4
star
57

nteract.github.io

:octocat: GitHub Pages for nteract *** DEPRECATED - See https://github.com/nteract/nteract.io ***
CSS
4
star
58

any-vega

Interface with any vega or vega-lite version
JavaScript
4
star
59

galleria

GitHub bot that uploads screenshots from PR builds
JavaScript
4
star
60

ui-refresh

TypeScript
4
star
61

nteract-monthly-newsletter

Plain-text versions of the nteract monthly newsletter
3
star
62

inodejs

Experimenting with jp-kernel
Jupyter Notebook
3
star
63

minimal-plotly

📊 A minimal version of the plotly library
JavaScript
3
star
64

notebook-render

TypeScript
3
star
65

commuter-on-glitch

Running commuter on glitch.me
3
star
66

jupyter-kernel-launcher

Launches Jupyter kernels from a Node environment
CoffeeScript
3
star
67

libzmq-win

📦 Windows binaries of the ØMQ library
3
star
68

directory-listing

A set of React components for creating directory list views in nteract-based applications
TypeScript
3
star
69

design

✏️ Mocking up nteract UI and UX
3
star
70

transformime-jupyter-transformers

🚫 Transformers for Jupyter-specific MIME types.
JavaScript
3
star
71

associator

👥 Associates file extensions to an application
JavaScript
2
star
72

jupyter-session

A tool for interacting with Jupyter kernels
CoffeeScript
2
star
73

models

Exploring the Python side of nteract's setIn based models
2
star
74

specs

📑 Specifications for APIs, processes, and protocols.
2
star
75

zmq-static

🚫 Statically linked bindings for node.js and io.js to ZeroMQ
JavaScript
2
star
76

content-providers

A collection of content providers for accessing notebooks in different storage locations
2
star
77

transformime-commonmark

🚫 Transformer using commonmark.js
JavaScript
2
star
78

notebook-test-data

📚 Jupyter notebook test data. Feel free to add more!
Jupyter Notebook
2
star
79

desktop-integration-tests

Testing nteract for desktop on the regular with a full test suite
Jupyter Notebook
2
star
80

vega-embed-v2

Bundled embedded Vega 2 and Vega-Lite 1
JavaScript
1
star
81

ipython-paths

🌆 Paths for IPython before Jupyter 4.0
JavaScript
1
star
82

assets

📦 static assets for nteract/nteract
CSS
1
star
83

enchannel-in-memory

💻 In memory enchannel backend
1
star
84

octicons

GitHub Octicons set packaged as React components.
TypeScript
1
star
85

commutable-perf

🐢 Addressing performance of the commutable library
Python
1
star
86

naming

📛 Shipping releases with style
1
star
87

ui-web

UI Repo for web and play components.
TypeScript
1
star
88

fs-observable

An Observable wrapper around Node's fs APIs
TypeScript
1
star
89

enchannel-socketio-backend

🔌 enchannel powered by socket.io, to be used with kernel-relay
JavaScript
1
star
90

styled-blueprintjsx

npm package that wraps Blueprint stylesheets as a styled-component global style to avoid needing a CSS loader
TypeScript
1
star
91

jupyter-transport-wrapper

A thin wrapper abstracting over ZMQ and (evenutally) websockets for Jupyter
JavaScript
1
star
92

design-docs

Design docs for the nteract ecosystem
1
star
93

commutable-models

♻️ 📘 Experimenting with commutable and flow-immutable-models
JavaScript
1
star