atom-notebook icon indicating copy to clipboard operation
atom-notebook copied to clipboard

fail to install

Open vansnowpea opened this issue 9 years ago • 6 comments

hi , I tried both install in atom and install it through git , but failed.

and I am in China.

while I can install some other packages in atom

would you have a check ?

Thanks.

vansnowpea avatar Jan 16 '17 11:01 vansnowpea

This repo is not being actively maintained 🙁 In the meantime, I suggest that you look at hydrogen to run code inline in Atom's text editor, nteract (a new Jupyter notebook client built using Electron, React, Redux, RxJS), Jupyter Notebook, and JupyterLab.

Having said that, nteract is currently extracting its many components into separate packages which will allow them to be reused and assembled to create new apps. When I have the time, I would like to use them to completely refactor this project.

gnestor avatar Feb 25 '17 18:02 gnestor

@gnestor are you still thinking about doing the refactor based on nteract? What would a project like that take?

draperjames avatar May 10 '17 16:05 draperjames

Hey @draperjames! It would involve taking the current notebook implementation in nteract and modifying it to work within Atom. Specifically, https://github.com/nteract/nteract/blob/master/src/notebook/index.js (the root React component on nteract's notebok) would need to be modified to fit in https://github.com/jupyter/atom-notebook/blob/master/lib/main.js#L22-L38. What happens in https://github.com/jupyter/atom-notebook/blob/master/lib/main.js is:

  • Register an opener for ipynb files that returns a model of the notebook (in this case, a store object that nteract's notebook component and consume): https://github.com/jupyter/atom-notebook/blob/master/lib/main.js#L25
  • Register commands for run and any other required keyboard shortcuts (in this case, run would dispatch an executeCell action: https://github.com/jupyter/atom-notebook/blob/master/lib/main.js#L26
  • Add a view provider for ipynb files...there may be a better way to do this nowadays, but this is where the notebook model/store is passed to the notebook React component and the React component is rendered to DOM node and that DOM node is returned: https://github.com/jupyter/atom-notebook/blob/master/lib/main.js#L27-L37

In order to start/connect to a kernel, you may need some pieces from https://github.com/nteract/nteract/tree/master/src/main.

@rgbkrk Do you think it's currently feasible to use nteract's notebook from within an Atom extension?

gnestor avatar May 30 '17 07:05 gnestor

I think you'll be able to pull a lot of the pieces in, I'm not sure what the data / event model should be for use in Atom though.

rgbkrk avatar May 30 '17 16:05 rgbkrk

I just chatted with @rgbkrk and [nteract's ipc events (from Electron) such as menu commands, starting a kernel, and opening a notebook need to be wired to Atom's commands. Recap: copy over src/notebook from nteract into atom-notebook, edit the lib/main.js to register an opener for ipynb, a view provider (nteract's store as model and nteract's notebook React component as view), and replace usage of ipc with Atom commands. Best of luck!! 👍👍

gnestor avatar May 30 '17 22:05 gnestor

Ideally, I'd like to see more packages get extracted out of nteract desktop into lerna packages instead of copying it over, though I understand it being a bit easier to get going by grabbing and going.

rgbkrk avatar May 30 '17 23:05 rgbkrk