Jupyter4Science / jupyterlab-ide

JupyterLab + tab completion + debugger + linter = Fully-fleged IDE
MIT License
3 stars 0 forks source link
binder integrated-development-environment jupyter jupyter-notebook python

jupyterlab-ide

A list of JupyterLab extensions that give it the same functionalities as a traditional IDE

Binder

Motivation

Iterative Programming takes place when you can explore your code and play with your objects and functions without needing to save, recompile, or leave your development environment. This has traditionally been achieved with a REPL or an interactive shell. The magic of Jupyter Notebooks is that the interactive shell is saved as a persistant document, so you don't have to flip back and forth between your code files and the shell in order to program iteratively.

There are several editors and IDE's that are intended for notebook development, but JupyterLab is a natural choice because it is free and open source and most closely related to the Jupyter Notebooks/iPython projects. The chief motivation of this repository is to enable an IDE-like development environment through the use of extensions. There are also expositional notebooks to show off the usefulness of these features.

IDE Features

For a full walkthrough of IDE features open introduction.ipynb in JupyterLab (locally or with Binder)

Native Features

Extensions in this repo

Other extensions

Usage

You can use this repository in one of two ways.

  1. Launch the repo with Binder to learn about JupyterLab extensions you may want to use in your own projects in the future.
  2. You can use binder/environment.yml as a starting point for your next development environment you create with conda. Please note that you will need to run the binder/postBuild script after you launch JupyterLab in order for the JupyterLab extensions to be enabled.