All Projects → sschuhmann → Helium

sschuhmann / Helium

Licence: other
Let Sublime Text 3 talk with Jupyter.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Helium

Css3
The most complete CSS support for Sublime Text
Stars: ✭ 178 (-7.29%)
Mutual labels:  sublime-text, sublime-text-3
Carbonsublime
🚀 A Sublime Text 3 Plugin for Carbon. (https://carbon.now.sh)
Stars: ✭ 104 (-45.83%)
Mutual labels:  sublime-text, sublime-text-3
Sublime Text Plugins For Frontend Web Development
📝 Collection of plugins for Frontend Web Development
Stars: ✭ 1,127 (+486.98%)
Mutual labels:  sublime-text, sublime-text-3
Zeal
Zeal for Sublime Text 2/3
Stars: ✭ 184 (-4.17%)
Mutual labels:  sublime-text, sublime-text-3
Githubinator
Sublime Text plugin that shows selected text on remote GitHub or Bitbucket repo
Stars: ✭ 135 (-29.69%)
Mutual labels:  sublime-text, sublime-text-3
Javascriptenhancements
JavaScript Enhancements is a plugin for Sublime Text 3. It offers not only a smart javascript autocomplete but also a lot of features about creating, developing and managing javascript projects (real-time errors, code refactoring, etc.).
Stars: ✭ 592 (+208.33%)
Mutual labels:  sublime-text, sublime-text-3
Pythonimproved
The best Python language definition for Sublime Text - ever. Includes full support for Unicode, as well as both Python 2 and Python 3 syntax. Check out the Neon Color Scheme for highlighting.
Stars: ✭ 95 (-50.52%)
Mutual labels:  sublime-text, sublime-text-3
Javascript Completions
JavaScript Completions for sublime text. It helps you to write your scripts more quickly with hints and completions.
Stars: ✭ 341 (+77.6%)
Mutual labels:  sublime-text, sublime-text-3
Wsl Proxy
WSL proxy files for editor/linux interop
Stars: ✭ 134 (-30.21%)
Mutual labels:  sublime-text, sublime-text-3
Nord Sublime Text
An arctic, north-bluish clean and elegant Sublime Text theme.
Stars: ✭ 109 (-43.23%)
Mutual labels:  sublime-text, sublime-text-3
Sublime zk
A SublimeText3 package featuring ID based wiki style links, and #tags, intended for zettelkasten method users. Loaded with tons of features like inline image display, sophisticated tag search, note transclusion features, support for note templates, bibliography support, support for multiple panes, etc. to make working in your Zettelkasten a joy 😄.
Stars: ✭ 408 (+112.5%)
Mutual labels:  sublime-text, sublime-text-3
Sublime Jekyll
A Sublime Text package for Jekyll static sites.
Stars: ✭ 160 (-16.67%)
Mutual labels:  sublime-text, sublime-text-3
Ayu
🎨🖌 Modern Sublime Text theme
Stars: ✭ 3,933 (+1948.44%)
Mutual labels:  sublime-text, sublime-text-3
Sublimeallautocomplete
Extend Sublime autocompletion to find matches in all open files of the current window
Stars: ✭ 906 (+371.88%)
Mutual labels:  sublime-text, sublime-text-3
Chromerepl
A Sublime Text plugin to execute JavaScript in Google Chrome
Stars: ✭ 347 (+80.73%)
Mutual labels:  sublime-text, sublime-text-3
Consolewrap
This plugin helps you to work easily with log statements
Stars: ✭ 75 (-60.94%)
Mutual labels:  sublime-text, sublime-text-3
eRCaGuy dotfiles
.bashrc file, terminal prompt that shows current git branch, Arduino setup, Eclipse setup, git diff with line numbers, helpful scripts, improved Linux productivity, etc.
Stars: ✭ 84 (-56.25%)
Mutual labels:  sublime-text, sublime-text-3
Coffeescript Sublime Plugin
Syntax highlighting and checking, commands, shortcuts, snippets, compilation and more.
Stars: ✭ 296 (+54.17%)
Mutual labels:  sublime-text, sublime-text-3
Productive Sublime Snippets Ruby
Ruby Snippets for Sublime Text
Stars: ✭ 109 (-43.23%)
Mutual labels:  sublime-text, sublime-text-3
Neon Color Scheme
A colorful bright-on-black color scheme for Sublime Text and TextMate. Its aim is to make as many languages as possible look as good as possible. Includes extended support for Python, Ruby, Clojure, JavaScript/JSON, C/C++, diff, HTML/XML, Markdown, PHP, CSS/SCSS/SASS, GitGutter, Find In Files, PackageDev, Regex, SublimeLinter, and much more.
Stars: ✭ 159 (-17.19%)
Mutual labels:  sublime-text, sublime-text-3

Helium package for Sublime Text 3

Helium is a package for Sublime Text 3, which provides in-editor code execution and autocomplete in interaction with Jupyter kernels. The concept of an editor extension communicating Jupyter kernels is inspired by @nteract's splendid Atom package Hydrogen. I want something like it in Sublime Text 3, too.

Any feedback is highly welcome. I hope this package will help your life with ST3!

Introduction image

Installation

Now this package is under the package control channel!

You can install it with Package Control plugin, run Package Control: Install Package, then choose Helium from the package list.

Usage

Connecting to Jupyter kernels

1. The most basic way, start a kernelspec installed locally, as a subprocess of ST3 (the process stops when Sublime stops)

  1. Run Helium: connect kernel command.
  2. Choose New kernel.
  3. Choose the kernelspec you want to run.

2. Connect to the kernel already runnning and connected to Helium

  1. Run Helium: connect kernel command.
  2. Choose the kernel you want to connect.

3. Connect to a kernel already running under some other Jupyter app (such as Notebook)

  1. Get connection info of the kernel. The way to get connection info differ among kernels, see the doc of each kernel (in ipython kernel, you can get it by %connect_info magic.)
  2. Run Helium: connect kernel command.
  3. Choose New kernel.
  4. Choose (Enter connection info).
  5. Enter the connection info (Helium accepts a path or connection info itself).

Using Python kernel installed via Conda

Python kernel installed via Conda is not found by Jupyter by default. You should add the path to kernel into the jupyter_path entry of the config file.

Execution

Execute code by Helium: Execute Block (whose command name is helium_execute_block).

Code cell

Regions surrounded by # %% or # <codecell> (you can configure it in cell_delimiter_pattern option item) are considered as "code cells".

You can execute a region by Helium: Execute cell (helium_execute_cell) or Helium: Execute Cell and Move command. Each cell has a clickable "Run Cell" phantom that appears next to the cell markers to run the cell.

Object inspection

Get Object Inspection by Helium: Get Object Inspection (whose command name is helium_get_object_inspection).

Autocomplete

You should be able to get autocomplete from the kernel from the time you connected. If you don't want autocomplete, set "complete" as false in setting file.

Other kernel manipulations

You can restart, shutdown, and interrupt process via Helium: Restart Kernel, Helium: Shutdown Kernel, Helium: Interrupt Kernel commands.

You can also run these command as a submenu of Helium: List Kernels command.

Motivation of development

Why using Jupyter?

We can execute code, retrieve results including images, get completions and object inspections by the Jupyter protocol regardless of the interpreter implementation of languages if it has Jupyter kernel. If we try to do that by directly running interpreters there should be several interpreter-specific problems, but we can entrust the kernel maintainers on language-specific problems by using Jupyter.

Why not using Jupyter Notebook?

I admit Jupyter Notebook is a powerful tool for instantly sharing small analysis work, exploring data or APIs, or making executable tutorials. Yes, I often use it, too. However, in my opinion, it is not suited for projects with large code bases. I want to jumpt across files instantly, make modules organized (not saved as .ipynbs), kick scripts with various parameters, and make project code more reusable and reproducible... but still I want to edit them with interactive feedback.

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].