Giter Site home page Giter Site logo

spyder-ide / spyder-notebook Goto Github PK

View Code? Open in Web Editor NEW
510.0 33.0 125.0 11.8 MB

Jupyter notebook integration with Spyder

License: Other

Python 71.04% Jupyter Notebook 0.34% HTML 18.11% TypeScript 2.47% JavaScript 8.03%
spyder jupyter-notebook python jupyter

spyder-notebook's People

Contributors

ccordoba12 avatar chrlackner avatar dalthviz avatar evgraph avatar goanpeca avatar jitseniesen avatar rlaverde avatar spyder-bot 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spyder-notebook's Issues

Check compatibility for PyQt4 and WebEngine

This plugin doesn't work when Spyder is using PyQt4, so we need to disable it in that case.

That's because the websockets implementation of QtWebKit in Qt4 is too old to run the notebook.

Add a menu entry to open an IPython console

We should add a menu entry to our Options menu, and also a button to the notebook tabbar, to open an IPython console in Spyder connected to the kernel of the current notebook.

Hide header

We don't need to display the header in our notebooks. This can be done once we have the extension to use our own fonts.

Feature request: Open notebooks from a server

I just watched the spyder talk at SciPy and really liked this plugin. I think my students would prefer this over the JupyterHub interface and it would be nice if a user could open Spyder locally and then open notebooks from a server (like jupyterhub). This would allow me to manage the software installed on the server, accept their assigments, etc, and then they can use spyder.

Create an Options menu with a way to move notebooks

So people could use an untitled notebook to do some exploratory work and then they'd like to rename and move that notebook to another place.

We need to add an option in the Options menu of the notebook to do exactly that :-)

@dalthviz, please work on this one too.

Add an "Open recent" menu

This menu should go below Open and contain the last 20 notebooks opened by the user.

So the structure of this plugin's menu should be

New notebook
Open
Open recent > (submenu with the list of notebooks)
--------
Save as...

Add an "Open..." action

@dalthviz, this is very similar to the Save as action you already implemented :-)

With this the user will be able to select an ipynb file from the operating system and that file will be opened in the Notebook plugin

Add a file switcher instance to this plugin

It'd be really nice to have it to switch among notebooks.

@goanpeca, question: Ctrl+P (the shortcut to call the switcher) is a global one right now, but I think we should use the same one here. So what do you think we should do to make that work?

Possibilities:

  1. Make Ctrl+P a plugin shortcut. Cons: Not nice because you'd have to give focus to the Editor or the notebook to make it work.
  2. Make Ctrl+P to detect the current plugin and change its behavior accordingly.
  3. Add an API for the file switcher so external plugins can register with it.

Installation is failing if jupyter notebook isn't already installed

I experimented this error when runing pip install .

This is caused because __init__ file is executed when importing __version__ in setup.py

Processing /home/rlaverde/code/spyder-notebook
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-_jv2fvz2-build/setup.py", line 17, in <module>
        from spyder_notebook import __version__
      File "/tmp/pip-_jv2fvz2-build/spyder_notebook/__init__.py", line 11, in <module>
        from spyder_notebook.notebookplugin import NotebookPlugin as PLUGIN_CLASS
      File "/tmp/pip-_jv2fvz2-build/spyder_notebook/notebookplugin.py", line 31, in <module>
        from .utils.nbopen import nbopen, NBServerError
      File "/tmp/pip-_jv2fvz2-build/spyder_notebook/utils/nbopen.py", line 16, in <module>
        from notebook import notebookapp
    ImportError: No module named 'notebook'

Conda nor pip has spyder-notebook in their directory

$ conda install spyder-notebook -c spyder-ide
Fetching package metadata ...........

PackageNotFoundError: Package missing in current osx-64 channels:
  - spyder-notebook

Close matches found; did you mean one of these?

    spyder-notebook: ipython-notebook
$ pip install spyder-notebook
Collecting spyder-notebook
  Could not find a version that satisfies the requirement spyder-notebook (from versions: )

When I search the pip directory using spyder as the search term spyder-notebook does not appear.

https://pypi.python.org/pypi?%3Aaction=search&term=spyder&submit=search

Show icons of Options menu actions above tabs

@dalthviz, I'd like to see if we can have something like JupyterLab

seleccion_001

At least our actions New, Open, Save as, and Open console should be above every tab.

I think it would be more intuitive for our users to see those actions easily accessible to not try to use the main ones. Also, I don't think people would be inclined to look for them in our Options menu.

Shutdown kernel when closing a notebook

This requires:

  1. Sending a request to the server to get api/sessions.
  2. Identify the kernel associated with a given notebook.
  3. Send a request to api/kernels to shutdown the kernel.

Add ellipsis to shortened notebook names

I called this notebook "Hola mundo como vas el dia de hoy.ipynb" and this is how it's shown right now

seleccion_003

I propose

  1. it should be shown as

     Hola mundo como ...
    
  2. We should remove .ipynb from the notebook name. So instead of foo.ipynb we should show only foo. All notebooks have the ipynb extension, so there's no need to show it.

  3. We should increase the max number of characters to show to 20 (instead of 15, the current limit).

Add more tests

I want these tests:

  1. Open a notebook:
    • Add a notebook with some content to tests.
    • Move it to a non-ascii directory.
    • Open it
    • Verify that it was open correctly.
  2. Save as
    • Add some content to an untitled notebook programatically.
    • Save the notebook with a new name
    • Verify that the content was not lost in the process
  3. Kill kernel
    • Create an empty notebook
    • Get its kernel id
    • Close that notebook
    • Request the server its list of kernels.
    • Verify that the kernel was killed by the server.

Connect the Notebook to the Variable Explorer

The idea is to add to NotebookClient a hidden IPython ShellWidget and connect that shell to the VariableExplorer.

For this we need to detect:

  1. When a kernel is ready to receive commands.
  2. When a cell has finished execution.

@goanpeca, we need your help for this one :-)

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.