Skip to main content

Code Snippets Extension for JupyterLab

Project description

Jupyter Lab Menu Extensions


The idea of the Snippet Library is to create a tool for rapid prototyping with the aim of quickly and easily developing data analysis workflows. It adds a customizable menu to insert code snippets, code examples and boilerplate code on notebooks.

Snippets Showcase

This Jupyter Lab extension is based on the jupyterlab-snippets extension. How do I read a csv file? There´s a snippet for that. How do I visualize missing values in a pandas dataframe? There´s a snippet for that. How do I plot the correlation matrix of my pandas dataframe (and make it look good)?. There's a snippet for that. You get the idea.

The focus of the provided snippets is helping to get started (or to get more productive) on data science tasks. The menu provides several snippets ordered by typical task groups used for exploring and visualizing data.

The default menu provides the items:

  • Data which provides snippets to read, write and transform data.

  • Modelling which provides snippets to train ML models (mostly based on sklearn). You'll find examples for classification, regression and clustering.

  • Plotting which provides some regularly used snippets for matplotlib, bokeh and the pandas interface.

  • Utils which provides some snippets which do not fit into the former categories but are still helpful.

With the jupyter extension a set of base snippets are provided, for which we are mostly sure, that they do their job as described. Also, it's possible to add your own snippets, either by copy-pasting them or by uploading them from a python file.

Configuration

The following Prerequisites must be installed:

Anaconda

Jupyterlab 2.X

(Python 3.X)

Nodejs

jlpm

Installation

For the snippet library to work for Jupyter Lab, two packages must be installed which are the server extension and the labextension for the frontend.

Install the server extension of the snippet library from Pypi with the command

pip install snippetlib-jl

For the frontend it is recommended to install it from git as follows.

For Linux/macOS users

git clone https://github.com/fraunhofer-iais/IAIS-JupyterLab-Snippets-Extension.git

cd IAIS-JupyterLab-Snippets-Extension

git checkout master

make install_configure

For Windows users

git clone https://github.com/fraunhofer-iais/IAIS-JupyterLab-Snippets-Extension.git

cd IAIS-JupyterLab-Snippets-Extension

git checkout master

build_snippetlib_jl.bat

Or, you can run all installation commands manually as follows

pip install snippetlib-jl

jupyter serverextension enable --py snippetlib_jl

jlpm

jlpm build

jupyter labextension link .

jlpm build

jupyter lab build

Operating instructions

Start Jupyter Notebook

Windows: Open Anaconda prompt and type "jupyter lab".

Linux: Open terminal and type "jupyter lab“.

The Jupyter front-end should open in a browser window.

How to add your own snippets

To upload a new snippet on the jupyter notebook, paste the following in a new cell.

from snippetlib_jl import upload_snippet as us

upload_snippets = us.Upload_Snippet()

Refresh the page and on the Snippets menu you should see the newly added snippet.

To create new snippets,on the jupyter notebook,paste the following in a new cell.

from snippetlib_jl import paste_snippet as ps

paste_snippets = ps.Paste_Snippet()

Refresh the page and on the Snippets menu you should see the newly added snippet.

Add your own snippets

Credits and Acknolegements

The development of this Jupyter extension was supported by the Fraunhofer Lighhouse Project Machine Learning for Production (ML4P). The main development has been carried out by the Knowledge Discovery Department of the Fraunhofer IAIS. We would like to thank Daniel Paurat for the original idea of the project.

Contact information

If you're interested in supporting the further development of this extension or if you need support for the usage please contact snippets@iais.fraunhofer.de.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

snippetlib_jl-1.7.1-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file snippetlib_jl-1.7.1-py3-none-any.whl.

File metadata

  • Download URL: snippetlib_jl-1.7.1-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.6.10

File hashes

Hashes for snippetlib_jl-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5c1e30eb2c0047dda78468892fc33c5418e82fb373eb5c380eb372d204d0680d
MD5 a9a2befd80d329b44b6b622c6f5e85fe
BLAKE2b-256 c5ce6388dddbd69ef49695bc7cb4609b64849aa559a34b61fe8e02233a4ac857

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page