mangecoeur / ipython-desktop

IPython Notebook desktop interface
125 stars 11 forks source link

PROJECT ON HOLD - Waiting for Jupyter ascending

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.

IPython Notebook Desktop

This is a proof of concept desktop interface for the IPython Notebook.

What's new

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.

Concept

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.

Pretty pictures

IPython embedded

Screenshot1

Start Screen:

Screenshot2

Config Screen:

Screenshot3

Get it!

App bundle for Mac

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

Configuration

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.

URL only

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.

Building ipython-desktop

In theory, the following steps should work (on Mac):

Requirements

Set up the project In the terminal, cd into the source folder. Run npm install, grunt nodewebkit, grunt install to set up the dependencies for ipython desktop.

FINALLY you should be able to run grunt run and see you shiny new ipython-desktop app, ready to configure.

Known Issues

TODO

Similar Work

Credits

IPython desktop is powered by Node Webkit and makes use of the angular-desktop-app template. Icon is IPython faenza

LICENCE

This software is currently under LGPL licence.