DEV Community

Cover image for 5 Awesome ways developers are using Jupyter to improve their lifes

5 Awesome ways developers are using Jupyter to improve their lifes

courseprobe profile image Course Probe ・3 min read

Jupyter is much more than a data-analysis tool. Learn about some of the most creative ways you can use the Python-based software.

The Jupyter project offers interactive ways to write software with technology like JupyterLab and Jupyter Notebook. This software is commonly used for data analysis, but what you might not know (and the Jupyter community didn’t expect) is how many things you can do with it.

Here are my top five unexpected and creative ways to use Jupyter.

1. Manipulate images

There are great open source tools out there for image editing and manipulation — from those that rival Photoshop to the experimental work of Glimpse. Even with all those options, sometimes I just don’t want to leave the world of Python.

Luckily, Jupyter is a great option for doing light image manipulation. Taking advantage of the fact that Jupyter directly shows Pillow objects as images lets you experiment with pictures as much as you want. I even used it to make a coloring book page for my child.

2. Make an SSH jumpbox remote control

Since JupyterLab lets you upload and download files, edit files, and even run terminals, it has all the pieces necessary to make an SSH jumpbox environment.

With some SSH-forwarding magic, you can make Jupyter your remote console on the other side of a firewall.

3. Develop web applications

One of my favorite ways to use Jupyter is for an unexpected kind of software development. I gave a talk where I developed a web application in real time using a Jupyter notebook. The talk concluded with a simple form that is XSS- and CSS-safe and included some light server-side computation.

A day-to-day Jupyter user may not expect it to be a great web development environment, but it’s a remarkably powerful one.

4. Pull reports from your favorite services

Data analysis in JupyterLab is a common use, but what about self-improvement analysis?

You can use Jupyter to analyze your calendar. If your favorite services allow API export, or even let you export a CSV, you can correlate those against your calendar. If you find out that you were posting on social media when your calendar said you were supposed to be in a meeting with your manager, however, Jupyter can’t do much to help you!

5. Develop games

My favorite way to expand the expectations of what I can accomplish in a Jupyter Notebook is by building a Python video game

This iterative approach to game development is especially helpful when trying to figure out game mechanics. It’s a game-changer (sorry, I had to) to be able to change the rules mid-game.

You can even use IPywidgets to modify the numeric parameters, as this video shows.


Resources you might be interested in:

Get the book: Python Django web developer

Other Dev posts:

Discussion (0)

Editor guide