A Python library for programming 2D/3D games, graphics, and sound synthesizers interactively in Jupyter notebooks.
Jupylet is a Python library that allows developers to program 2D and 3D games, graphics, and sound synthesizers interactively within Jupyter notebooks. It solves the problem of creating engaging, experimental environments for education, deep reinforcement learning research, and live music coding by integrating game development and audio synthesis into a familiar notebook interface.
Computer scientists and students experimenting with deep reinforcement learning, musicians interested in sound synthesis and live coding, and educators or parents teaching programming to kids in an interactive way.
Developers choose Jupylet because it uniquely combines game development, sound synthesis, and interactive programming in Jupyter, enabling rapid prototyping, real-time feedback, and creative exploration without leaving the notebook environment.
Python game programming in Jupyter notebooks.
Enables real-time code changes and immediate visual feedback directly in notebooks, as demonstrated by the spaceship example where games update live—ideal for experimentation and education.
Includes built-in synthesizers with effects like reverb, filters, and LFO modulation, plus MIDI support for live music coding, drawing inspiration from Sonic Pi for creative audio work.
Offers API for programmatically managing multiple game instances and high-speed rendering, facilitating AI research as highlighted in the Reinforcement Learning chapter of the guide.
Designed to be easy for kids and beginners, with simple 2D/3D game creation and interactive programming in Jupyter, making it a playful tool for education.
Installation requires platform-specific steps, such as extra pip commands for macOS M1 processors and Miniconda setup, which can be cumbersome for new users compared to one-click installs.
Running in Jupyter introduces overhead; the library may not match the performance of dedicated game engines or audio DAWs for complex real-time graphics or low-latency sound processing.
Tight integration with Jupyter notebooks ties projects to notebook limitations, such as potential kernel instability during long sessions and challenges in state management for persistent applications.
Jupylet is an open-source alternative to the following products:
A Jupyter notebook extension for geospatial visualization and analysis
A simple Python data-structure visualization tool for lists of lists, lists, dictionaries; primarily for use in Jupyter notebooks / presentations
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.