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.
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.
With some SSH-forwarding magic, you can make Jupyter your remote console on the other side of a firewall.
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.
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!
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: