spyder-ide / spyder-notebook Goto Github PK
View Code? Open in Web Editor NEWJupyter notebook integration with Spyder
License: Other
Jupyter notebook integration with Spyder
License: Other
The idea is to pass the right arguments to subprocess.Popen
here
https://github.com/spyder-ide/spyder-notebook/blob/master/spyder_notebook/utils/nbopen.py#L57
to avoid showing cmd.exe windows when starting new servers.
@dalthviz, please take a look at sympy/sympy#12391 to see how to fix it.
This is a very simple change but it's meant to better follow what we have in Spyder's File menu.
Besides, now that we're going to have an Open action (thanks to PR #35), having two entries that start with Open is confusing.
Following the talk in this PR to rename the plugin from Jupyter Notebook
to just Notebook
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.
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.
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.
This requires enabling and disabling the extension for every server we start
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.
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.
I noticed this during my Scipy talk
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...
We need to do this at the Spyder kernel level.
From the review in PR #16: a message appears in the notebook pointing an error:
This happen to me in Windows 8.1 with Spyder 3.0.2 and Python 3.
Now that we are very close to release 0.1, I think it's time to update our Readme with a simple description and a couple of screenshots.
@dalthviz, please take care of this one. You can take as inspiration:
https://github.com/spyder-ide/spyder-terminal/blob/master/README.md
but please leave the warning about this not being ready until we release 0.1. I'll remove that warning when we actually do the release.
Since this is a starting project (and probably all other plugins are good examples), I advice we use yapf for autoformatting code. The code is in ciocheck already so it is just adding it.
Thoughts?
@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
A new trove classifier has been added for ipython related packages, I'm not sure but maybe It could be added to the classifiers of this package
Framework :: Jupyter
There are lots of actions in the toolbar that want to open an external browser. We need to disable them for 0.1.
This is an important issue I didn't realize before. Just like for the Editor, we need to ask users if they want to save untitled notebooks before closing them, unless (obviously) they are empty.
@dalthviz, please take care of this one.
How difficult would it be to have the selected notebook’s outline appear in the outline pane?
This would be like the table of contents, just the markdown headings within the notebook (which can be found by JS query, I suppose), which also have html tag-links.
There are versions of this functionality around (http://jupyter-contrib-nbextensions.readthedocs.io/en/latest/nbextensions/toc2/README.html ; calico-document-tools ) that might make this easier to do.
@stonebig commented on Sat Jul 29 2017
at first slow start, I get a syder-notebook time-out.
Then, even if i ask Display->Notebook, I get a grey window and don't know how to relaunch the spyder-notebook process . Is there a way ? if not, could there be ?
@ccordoba12 commented on Sat Jul 29 2017
@stonebig, please open issues about each plugin in its corresponding repo instead of here.
I still have to think if/how we could do this. The problem is Ctrl+P
is a global shortcut, not a plugin one.
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:
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.Ctrl+P
to detect the current plugin and change its behavior accordingly.There is a spelling error the the readme.md file.
I think it's line #2.
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 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
Hi, is there any doc/readme I can have a look at, to learn how to install and use this plugin? thanks!
This is for 0.2, so there's no rush.
This is meant to:
TEMPDIR
is defined in spyder/utils/programs.py
@dalthviz, we need this for 0.1, sorry I forgot about it.
@dalthviz, I'd like to see if we can have something like JupyterLab
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.
I think it would be more consistent to change the working directory upon opening, because that's what jupyter users expect: when opening a notebook, the kernel's cwd is always the notebook's directory.
The idea is that by doing a right-click on any notebook, users can get access to those actions instead of going to the Options plugin menu.
This requires:
api/sessions
.api/kernels
to shutdown the kernel.Cache miniconda and the package cache to reduce build time.
Use this repo as a POC
I called this notebook "Hola mundo como vas el dia de hoy.ipynb" and this is how it's shown right now
I propose
it should be shown as
Hola mundo como ...
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.
We should increase the max number of characters to show to 20 (instead of 15, the current limit).
This is the only way to connect a notebook to the Variable Explorer.
When we added creationflags
to the subprocess
call that creates servers in PR #63, we didn't notice that servers after that change are not closed when Spyder is closed.
We need to use psutil
to fix this, which I will do in a next PR.
The notebook package 4.3+ comes with a password by default (even in local installations). We need to add a workaround for that.
Notebook file titles can be really long. We have to prevent showing the full file name and shorten it somehow.
Hi,
I am also planning to make this plugin for a long time. It is nice if there are some persons with the same needs. I want to contribute to this repo, what should I do?
Thanks
I want these tests:
tests
.The idea is to add to NotebookClient
a hidden IPython ShellWidget
and connect that shell to the VariableExplorer.
For this we need to detect:
@goanpeca, we need your help for this one :-)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.