GithubHelp home page GithubHelp logo

helium's Introduction

Helium package for Sublime Text

Helium is a package for Sublime Text, 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, 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.

helium's People

Contributors

cgahr avatar deathaxe avatar dependabot[bot] avatar kenyc avatar ngr-t avatar pykong avatar randy3k avatar samipirbay avatar sschuhmann avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

helium's Issues

Configuration option to disable internal output

For those who prefer sending commands to an external qtconsole with settings "ConsoleWidget.include_other_output = True" it would be nice if one could configure Hermes not to display output inside sublime text. One way would be to not call self._init_receivers() in kernel.py:264 if this option is used.

How to edit the notebook?

Hi, first thanks for this package.
Is it possible to edit the code from the jupyter notebook on Sublime Text 3?
If that is the case what am i doing wrong?

I manage to connect ST3 to jupyter but I only get the output of Jupyter and a bunch of untitled tabs on ST3..

I a running Python 3.7.3 and the last version of ST3

Support https protocol of jupyterhub

Since jupyterhub 0.8, jupyterhub allows accessing the single Jupiter server api using token. I am able to connect to the Jupiter server spawned by jupyterhub using the token generated by

jupyterhub token {my_username}

and the url

http://localhost:8000/user/{my_username}/

However, it seems that Hermes doesn't connect to the url via https protocol if I turn on the ssl option of jupyterhub and using the url

https://localhost:8000/user/{my_username}/

I believe that it is an issue of Hermes because there are no problems to connect to the server via browser.

Creating a build system for executing code block

Great plugin. Really simplifies the workflow.

Is it possible to create a build-system with Execute Block? I.e. make it execute with Ctrl-B?
For some reason Ctrl-shift-P can take up to a few seconds for me to show, which slows down execution a bit.

Update docs with new images

Just released v0.5.0, but the image to be shown in README.md is that of older ver. It should be attractive to have a images for inline output and cell evaluations.
Also we should consider the usage introduction picture (demanded in #22 ).

Output view in separate window

If I move the output view to a new Sublime window and try to execute code, a new output view is created in the old window.

Is it possible to have code and output in two separate windows?

paramiko dependecy

Hi,

first of all, thanks for making this nice plugin :)

I use latest ST3 on Windows 10, and used git to install hermes instead package manager. However it fails for me at paramiko, which is only set as a dependency for Windows, and AFAIK it's used by pyzmq as optional package.
After removing paramiko line, everything seems to work as expected.

Cheers

Sending the cell markup to kernel

Hermes should send the cell markup like #%% #<code> to the jupter kernel.
On this way the rest of line is handled as comment and could contain a short description of the cell.

This means, cell markups have to start with #

Store connection setting when connected to a new server

We can connect to the server not in setting file by running Hermes: Set URL then choosing New, but the connection setting is not stored. Therefore we have to type it if we restart the editor without writing it on the setting file. Storing the URL (and tokens?) would be helpful.

How to execute code (ipython kernel)?

I was able to connect to my Jupyter ipython kernel via ssh, but I can't run anything on it. On connect I'm getting a Hermes output tab and I can see kernel output (if I'll run anything on the same kernel through Jupyter notebook). But I can't find a way to run anything from SublimeText. I tried to open new tab and paste code there, but there is no command to execute block in the command pallete.
2019-02-22 15 29 13
2019-02-22 15 32 34

Usage abc

Thanks for this great plugin.

I am really new into jupyters and sublime framework, and i get confused in the 'usage' configuration part, so would you please explain me with screen captures the step by step( i'll apreciate it too much) to configure sublime text to run hermes. Thank you wizard.

Scale output images

If images exceed the borders of the output view they aren't scaled to fit the current size. If you are generating big images on a small screen, e.g. a laptop, this isn't optimal to get a good overview of the output.
It even isn't possible to rescale the images in the view.

If the images are embedded in the view using an html embedding (phantom) we may could scale the images to the current view size.

Unable to connect to server with token / password

I'm trying to use Hermes within ST3 build 3156 on Windows 10, with my Jupyter Notebook setup being 4.4.0 installed via Anaconda.

I've followed the instructions here to generate a certificate, key, and a hashed password that is stored in both the jupyter-notebook-config.py and jupyter-notebook-config.json files.

When I run jupyter notebook from Bash, I'm able to fire up a browser and work to my heart's content. (Password is entered on first run, not thereafter until I clear cookies.)

I'd like to use Hermes, but I can't get it to connect to Jupyter. For Hermes' "Enter URL" request, I've attempted https://localhost:8888, the same with the value of my c.NotebookApp.base_url key from the jupyter-notebook-config.py file appended, the same with the value of my c.NotebookApp.default_url key, and the same with both (default first, then base; base first, then default).

Each of those attempts combined with a blank token has failed - but the c.NotebookApp.token key has been "". I uncommented the token key so now it's '<generated>', but that doesn't seem to have made a difference.

Browsing elsewhere to troubleshoot, I've seen that I should be able to run jupyter notebook list and have the output provide the token. Unfortunately, that's not what I see. I get this instead:

$ jupyter notebook list
Currently running servers:
https://localhost:8888/BerkeleyMIDS/ :: C:\Dropbox\Berkeley MIDS

I'm not sure how to proceed in trying to get Hermes linked up. Any assistance or guidance would be very helpful.

How to switch to the object inspection window?

Hi,
I cannot find a good way to programmatically change the object inspection window size. I also do not know how to switch back/forward to it to read it without using the mouse.

Does a way exist?
Thanks

Can't spawn kernel on OS X (python3 missing?)

When trying to launch a new kernel using latest ST on OSX I get this error:

Traceback (most recent call last):
  File "/Users/ben/Library/Application Support/Sublime Text 3/Installed Packages/Hermes.sublime-package/utils.py", line 40, in cb
  File "/Users/ben/Library/Application Support/Sublime Text 3/Installed Packages/Hermes.sublime-package/hermes.py", line 300, in _start_kernel
  File "/Users/ben/Library/Application Support/Sublime Text 3/Installed Packages/Hermes.sublime-package/hermes.py", line 177, in start_kernel
  File "/Users/ben/Library/Application Support/Sublime Text 3/Installed Packages/Hermes.sublime-package/lib/jupyter_client/manager.py", line 258, in start_kernel
  File "/Users/ben/Library/Application Support/Sublime Text 3/Installed Packages/Hermes.sublime-package/lib/jupyter_client/manager.py", line 203, in _launch_kernel
  File "/Users/ben/Library/Application Support/Sublime Text 3/Installed Packages/Hermes.sublime-package/lib/jupyter_client/launcher.py", line 128, in launch_kernel
  File "./python3.3/subprocess.py", line 819, in __init__
  File "./python3.3/subprocess.py", line 1448, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: 'python3'

However in a shell:

> python3 --version
Python 3.7.3

> which python3 
/usr/local/bin/python3

Is there some setting to make sure homebrew python gets picked up by ST3?

Question: How to use with Virtual Environment?

@ngr-t Thanks for putting up this neat little package!

I do not understand how to use Hermes with a virtual environment.
Maybe the doc states it but it is not clear to me.
As virtual environment are such critical part of the python workflow, the documentation should explicitly how to achieve this (assuming this functionality is already present).

Within a folder also containing a .sublime-project file:

python3 -m venv .venv
source .venv/bin/activate
pip install ipykernel

Now in very simple steps how am I going from here to make Hermes talk to the kernel installed within that environment?

Somebody to take over this project?

As some people might have already noticed, the development and maintenance of this package is significantly slowing down.
At first, I am so sorry for the people having problem using this package for quite long time. Should be frustrating.
However, honestly speaking, my passion on this projects has significantly weaken.
The main reason is that I recently switched my working editor from ST3 to VSCode (ST3 has had IME problem left unsolved for long time, which was crucial for me who use Japanese in business). Also recently I have less time to commit personal projects.

So, are there any people who have passion and ability to take over this project?
It might be good for the maintenance of this to move into community driven. I don't have concrete plan on how to transit, though.

This project started to solve my personal problem in analytic work, but I'm so proud that many people used and praised my work. So sorry that I left this package.
I will resume to work on the current PR and issues, small bug fix, answering questions about usage, to the extent possible.

Thanks

Feature Req: Execute Code Before Cursor

Thanks for an amazing extension @ngr-t! I was hoping to find something like Hydrogen for ST, and your work saves the day.

I have couple of suggestions for future feature requests:

  1. Please provide "Execute Cell" or "Execute All Code Before Cursor" methods: it will make it easier to execute longer programs

  2. Show buffered results as they arrive: For example, a long python FOR loop wrapped in tqdm package prints progress bar in Hydrogen while code is executing. In Hermes progress bar doesn't show up till final results are ready.

Thanks!

Fixing connection issue

As reported in several issues (such as #28, #25), now Hermes has a non-negligible performance problem. I know this is so frustrating and seriously think this should be fixed.

I'm quite sure this happens when the plugin connect to Jupyter kernel via WebSocket, but have not yet found the way to solve this due to my limitation of time and knowledge about Jupyter / WebSocket protocol.

So I'd appreciate any help to solve this problem. Of course PR is highly welcome, but just a clue is still appreciated so much.

Re-running cell does not clear output

Rerunning a cell results in output piling up. See screenshot.
I believe old output should be clear before new one gets displayed.
This is also the way the web version of Jupyter goes about it:

Screenshot

image

Better kernel handling

The current handling of a kernel takes too many steps, which could be reduced. The procedure is

  1. Start a kernel (local/remote)
  2. Name kernel
  3. Connect View
  4. Execute command

If I start the process with executing a cell or a line the procedure could be reduced with the following

  1. Automatically start kernel (local)
  2. Name the connection with the view file path
  3. Automatically connect to the view
  4. Execute command

So on this way the process could be automized by executing a cell.

Moving to use jupyter_client?

The jupyter team provides jupyter_client package, which is the reference implementation of the Jupyter protocol.
I'm considering to use this in Hermes.
jupyter_client requires many dependencies, so I think its better to run a server on other interpreter than Sublime's internal python.

It will require large change about connecting to server / kernels, but I think the code should be much cleaner, easier to maintain, reduce problems Hermes has now.
I'd appreciate your opinions, thanks.

Wrong kernel directory on windows

The working directory of the kernel should be set according to the project/file directory.

The current version sets the sublime root path on windows.

Renaming and refactoring commands

The commands provided are somewhat confusing. The inference should be refactored to make it more use friendly. Here is what I propose

  1. Hermes: Connect Server (to replace Set URL)

    1. New Server
    2. Server 1
    3. Server 2
  2. Hermes: List Kernels (disabled if no server is connected)

    1. New Kernel -> With the ability to name a kernel, not just using the kernel id.
    2. Kernel 1
    3. Kernel 2 -> When invoking, show options to connect, rename, shut down and Interrupt.
  3. Hermes: Connect Kernel (disabled if no server is connected)

    1. New Kernel
    2. Kernel 1
    3. Kernel 2
  4. Hermes: Interrupt Current Kernel (disabled if current view is not attached with any kernel)

  5. Hermes: Shutdown Current Kernel (disabled if current view is not attached with any kernel)

Note: the commands could be disabled using the is_enabled method of TextCommand.

There are may be better ways of refactoring.

Detect and disconnect if kernel is dead.

Currently we can run "Hermes: Execute Block" even if the kernel connected to the active view is dead, but without any reply or error message.
This is unhelpful and need to fix.

Duplicate clear button

Executing a cell results (inline) will render two clear buttons ("x") of which only the lower one is functional.
See screenshot:

image

Question: How does Hermes handle unclosed cells?

If the lower delimiter is missing or its spelling is incorrect the cell won't be closed.
(Hell, that common mistake curses HTML!)

How does Hermes fare with that situation? Should it raise an error.

Output in build panel

Firstly, thanks for making a great Sublime package =)

Would you be interested in a pull request adding support for printing the output in Sublime's output panel?

See the bottom left corner in this screenshot:

screenshot from 2018-11-20 11-02-17

That way, the user doesn't have to deal with an entire separate tab if they don't want to. The output can be quickly inspected and hidden by pressing esc. It also retains its contents, and be brought back up again if needed. I've added this feature in my fork, along with support for executing block/cell using the Sublime build system, and have been using it the last few weeks. I would be happy to submit a pull request - if you are interested.

inline_output does not work with R kernel

Great job of migrating to the jupyter client.

When the option inline_output is set true, there is no inline output when the R code is run. I can see that from the console the code was executed correctly by the kernel but Hermes doesn't pick up the result and show it. Nevertheless, plots are shown correctly inline and everything works if inline_output is false.

Code sample:

a = 1
a

plot(1:100)

screen shot 2018-07-12 at 1 10 37 pm

Console log:

{'buffers': [], 'msg_id': '69e13612-7c50-4751-b292-bf35271b3657', 'parent_header': {'msg_id': 'e0b75075-5e7d188c43005a4a0c462f30', 'date': datetime.datetime(2018, 7, 12, 17, 6, 23, 661297, tzinfo=tzutc()), 'username': 'Randy', 'msg_type': 'execute_request', 'version': '5.3', 'session': '7e86bc5f-c7f908b6bdabb89525f3583b'}, 'msg_type': 'execute_input', 'content': {'execution_count': 10, 'code': 'a'}, 'header': {'msg_id': '69e13612-7c50-4751-b292-bf35271b3657', 'date': datetime.datetime(2018, 7, 12, 17, 6, 23, 664965, tzinfo=datetime.timezone.utc), 'username': 'Randy', 'msg_type': 'execute_input', 'version': '5.0', 'session': '7e86bc5f-c7f908b6bdabb89525f3583b'}, 'metadata': {}}
{'buffers': [], 'msg_id': 'ebd8ffe3-9cf1-4c99-b49c-9fe73fe94300', 'parent_header': {'msg_id': 'e0b75075-5e7d188c43005a4a0c462f30', 'date': datetime.datetime(2018, 7, 12, 17, 6, 23, 661297, tzinfo=tzutc()), 'username': 'Randy', 'msg_type': 'execute_request', 'version': '5.3', 'session': '7e86bc5f-c7f908b6bdabb89525f3583b'}, 'msg_type': 'display_data', 'content': {'data': {'text/plain': '[1] 1', 'text/markdown': '1', 'text/latex': '1', 'text/html': '1'}, 'metadata': {}}, 'header': {'msg_id': 'ebd8ffe3-9cf1-4c99-b49c-9fe73fe94300', 'date': datetime.datetime(2018, 7, 12, 17, 6, 23, 678995, tzinfo=datetime.timezone.utc), 'username': 'Randy', 'msg_type': 'display_data', 'version': '5.0', 'session': '7e86bc5f-c7f908b6bdabb89525f3583b'}, 'metadata': {}}

Feature request: Run all cells

I believe a command to run all cells in their order of occurrence paralleling that of the Jupyter Notebook is vital. I believe I speak for all users of this neat little package if I claim that manually selecting and individually triggering the run of each cell is cumbersome.

Most Jupyter notebooks I am working on feature at least a dozen of cells.

Replacing stale connection: ....

Quite frequently, when I execute a block, I get the above error message in my jupyter notebook and it takes a few seconds until I get a result in sublime.

It is quite annoying, because other times the code is executed instantly.

I'm happy to provide more information if you have any questions.

Here is an exempt of my jupyter log:

[I 09:25:24.222 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[I 09:25:24.233 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[I 09:25:26.024 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[I 09:25:26.035 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[W 09:25:26.959 NotebookApp] Replacing stale connection: bca632cf-1fab-413a-98b3-9897e963815e:423585cf8f6a418ea024e95799345d3d
[I 09:25:31.963 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[I 09:25:31.979 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[W 09:27:01.985 NotebookApp] WebSocket ping timeout after 90005 ms.
[I 09:30:00.640 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[I 09:30:00.655 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[W 09:30:43.169 NotebookApp] Replacing stale connection: bca632cf-1fab-413a-98b3-9897e963815e:423585cf8f6a418ea024e95799345d3d
[I 09:30:48.177 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[I 09:30:48.195 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[W 09:31:01.418 NotebookApp] Replacing stale connection: bca632cf-1fab-413a-98b3-9897e963815e:423585cf8f6a418ea024e95799345d3d
[I 09:31:06.426 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[I 09:31:06.441 NotebookApp] Adapting to protocol v5.1 for kernel bca632cf-1fab-413a-98b3-9897e963815e
[W 09:31:20.283 NotebookApp] Replacing stale connection: bca632cf-1fab-413a-98b3-9897e963815e:423585cf8f6a418ea024e95799345d3d

Minimal support of `text/html`

In IJulia kernel, images are displayed using text/html.

For example

using Plots
pyplot()
s = randn(100)
histogram(s, nbins=20)

yields the execute_result of

data': {'text/html': '<img src="data:image/png;base64,<IMAGE DATA>" />'}

I understand that Sublime text doesn't fully support html, but I guess we should as least try displaying them using Phantom.

Can't Figure Out Using Hermes with Julia Kernel

I have installed Hermes and started a julia kernel, and gotten the Hermes Output window to appear, but I don't understand how to execute code. In the command palette, there doesn't seem to be a 'execute' command that is recognized.

Is there any reason Hermes isn't compatible with julia kernels? If it is, perhaps I just need a few more detailed instructions on where/how to actually execute the code. (E.g. do I run the execute command from the script? that's what made the most sense to me, but the execute command doesn't come up.)

The script I'm trying to run is:
hermes2

And the command palette options are:

hermes

execution is not see

Hi
After installing the package, the connection or other commands are seen but the execution is not seen in hermes by click ctrl+shift+p

Add CONTRIBUTORS.md

To honor @ngr-t great work, as well as that of other contributors, I consider it prudent to mention their contributions in a dedicated CONTRIBUTORS.md file.

This could also be a CREDITS.md or AUTHORS.md.
There is no common format for such file but many of the bigger projects on GitHub feature such file and could serve as a suitable examples.

In case of @ngr-t a short section on the history of this project with mentioning him as the original author would also be a good idea.

Failed to start kernel

OS: MacOS 10.12.6
ST version: ST3 build 3126
Jupyter: 5.1.0

Maybe I am doing something incorrectly.
I started the Jupyter notebook, and from the terminal I copied url in the line The Jupyter Notebook is running at: http://localhost:8888/?token=[the token] to "URL" input widget, and [the token] to "toekn" widget, then nothing happened.

I check the console of ST3 and found the following error:

Traceback (most recent call last):
File "./python3.3/json/decoder.py", line 367, in raw_decode
StopIteration
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "utils in /Users/JoshuaLian/Library/Application Support/Sublime Text 3/Installed Packages/Hermes.sublime-package", line 26, in cb
File "hermes in /Users/JoshuaLian/Library/Application Support/Sublime Text 3/Installed Packages/Hermes.sublime-package", line 288, in _set_url
File "hermes in /Users/JoshuaLian/Library/Application Support/Sublime Text 3/Installed Packages/Hermes.sublime-package", line 118, in set_url
File "hermes in /Users/JoshuaLian/Library/Application Support/Sublime Text 3/Installed Packages/Hermes.sublime-package", line 141, in list_kernelspecs
File "hermes in /Users/JoshuaLian/Library/Application Support/Sublime Text 3/Installed Packages/Hermes.sublime-package", line 236, in get_request
File "/Users/JoshuaLian/Library/Application Support/Sublime Text 3/Packages/requests/all/requests/models.py", line 826, in json
return complexjson.loads(self.text, **kwargs)
File "./python3.3/json/init.py", line 316, in loads
File "./python3.3/json/decoder.py", line 351, in decode
File "./python3.3/json/decoder.py", line 369, in raw_decode
ValueError: No JSON object could be decoded

Phantom of lower delimiter causes error

Currently, the lower cell delimiter will also be endowed with a phantom.
Clicking on it will not result in a successful execution of the cell but in a SyntaxError instead.
See screenshot:

image

Sublime hangs when connected to kernel

When a view is connected to a kernel, it immediately starts "hanging." That is to say, when I connect a view to a kernel and then type "hello" in that view, the "h" will appear, followed by a noticeable lag ranging from 1 to a few seconds, followed by the remainder of the word. The effect periodically recurs, hanging on the order of once every few seconds.

Other views are unaffected. Connecting to a server does not cause hanging.


What can I provide to help diagnose the issue? Alternatively do you know where in the code this might be coming from? I'd be happy to poke around.

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.