IPython Notebook desktop interface
The IPython project is undergoing heavy development at the moment as it is split into the Jupyter environment for interactive computing with IPython as just one of many supported kernels. As such, developing a desktop wrapped around the project means tracking a rapidly moving target. Therefore, I've decided to wait until things settle down a bit - likely the split will be more or less stabilised for version 4.0 which is planned for release later this year, at which point development of IPython desktop can start up again.
This is a proof of concept desktop interface for the IPython Notebook.
The latest revision improves ipython configuration and process handling. It will now try to automatically figure out the location of your ipython install and the url where the server is available when launched.
It's well established that IPython is awesome.
Most IPython users end up using local installs of the IPython notebook in their browser. However this is somewhat clunky, mixing the browser interface and the notebook interface and generally requiring a trip to the command line to get the server running.
The IPython Notebook Desktop wraps the webapp in a more friendly interface, powered by node-webkit. You can configure a notebook to run to power the interface (optionally have it run on startup).
What this does NOT do is provide you with an IPython installation. This is deliberate, since people have different needs and tastes with regards to their Python installs. Some people want to use the Python bundled with their operating system, others use Python distributions like Canopy or Anaconda. With IPython Desktop the Python distribution and the interface are separate, but you must configure IPython desktop to use your IPython installation.
The IPython Notebook Desktop doesn't aim to make it easier to install a scientific python environment, but should be easy enough to get by itself. It could eventually be a candidate for bundling with existing packages or with IPython itself.
You also need to have IPython installed. My personal recommendation is the Anaconda python distribution if you are mainly doing science and engineering work.
Coming sometime - binary bundles for each platform. Contributions welcome
IPython desktop can either launch the IPython notebook server for you or connect to an existing URL.
To launch a server you must specify the location of your IPython executable, by default this is pre-filled (using the output of the command
which ipython). You can optionally specify a Profile to use (which will be used with --profile=...)
IMPORTANT - you must supply the full path to your IPython install otherwise it will fail to launch the ipython server
WARNING: ipython-desktop is by no means idiot proof at the moment. If you don't configure it correctly the page will simply fail to load without explanation. This should improve in future versions.
If you set the "remote" option in the config you can simply type in the URL of your IPython server including
http://at the front! handy if you just want a nicer interface for a remote system or just for testing.
In theory, the following steps should work (on Mac):
Requirements - Xcode developer tools installed -
npm, if you use Homebrew (and you should) just do
brew install node. -
npm install -g grunt grunt-clinormally you will have to use sudo)
Set up the project In the terminal,
cdinto the source folder. Run
grunt installto set up the dependencies for ipython desktop.
FINALLY you should be able to run
grunt runand see you shiny new ipython-desktop app, ready to configure.
IPython desktop is powered by Node Webkit and makes use of the angular-desktop-app template. Icon is IPython faenza
This software is currently under LGPL licence.