Skip to main content

Python game programming in Jupyter notebooks.

Project description

Jupylet

Jupylet is a Python library that lets you create 2D and 3D games, graphics, music and sound synthesizers, interactively in a Jupyter notebook. It is intended for three types of audiences:

  • Computer scientists, researchers, and students of deep reinforcement learning.
  • Musicians interested in sound synthesis and live music coding.
  • Kids and their parents interested in learning to program.

 

Jupylet for Kids

A Jupyter notebook is in essence a laboratory for programming. It is the ideal environment for playing around with code, experimenting, and exploring ideas. It is used by professional machine learning scientists who come every day to play at work, so why not by kids?

Jupylet is wonderfully easy to use for creating simple 2D and 3D games and music interactively and experimentally. Change a variable or a function and see how the game is affected immediately while running.

Jupylet for Deep Reinforcement Learning

Jupylet makes it is super easy to create and modify environments in which to experiment with deep reinforcement learning algorithms and it includes the API to programmatically control multiple simultaneous games and render thousands of frames per second.

Consider for example the pong game included in this code base. With a few lines of code you can modify the colors of the game to experiment with transfer learning, or turn the game into 4-way pong with agents on all four sides of the game court to experiment with cooperation between multiple agents. And since you can modify the game interactively in Jupyter this process is not only easy but also fun.

Check out the Programming Graphics and the Reinforcement Learning chapters in the Jupylet Programmer's Reference Guide.

Jupylet for Musicians

Jupylet imports ideas and methods from machine learning into the domain of sound synthesis to easily let you create sound synthesizers as wild as you can dream up - it includes impulse response reverb effects, colored noise generators, resonant filters with cutoff frequency sweeping, oscillators with LFO modulation, multi sampled instruments, and much more... And all of it in pure Python for you to modify and experiment with.

In addition Jupylet draws inspiration from the wonderful Sonic Pi and brings live loops and live music coding to Jupyter and Python. Hook up your MIDI keyboard and take off.

Check out the Programming Sound and Music and the Programming Synthesizers chapters in the Jupylet Programmer's Reference Guide.

Requirements

jupylet should run on Python 3.6+ on Windows, Mac, and Linux.

How to Install and Run Jupylet

If you are new to Python, I strongly recommend that you install and use the Miniconda Python distribution. Download and run the 64-bit installer and stick to the default install options.

⚠️ NOTE On Mac OS X follow carefully the Miniconda installation instructions.

Once Miniconda is installed start a Miniconda Prompt. To do this on Windows click the ⊞ Winkey then type Miniconda and press the Enter key. This should open a small dark window that programmers call console or shell in which you can enter commands and run programs.

To run jupylet first install it by typing the following command in the console:

pip install jupylet

To install it with MIDI support type the following command instead:

pip install jupylet[midi]

If you are using Python 3.8 on Windows you also need to run following command:

python -m jupylet postinstall

Next, if you want to run the example notebooks, download the jupylet code base. If you have Git installed type the following command:

git clone https://github.com/nir/jupylet.git

Alternatively, you can download and unzip the jupylet code base by copying-pasting the following commands into the console:

python -m wget https://github.com/nir/jupylet/archive/master.zip
python -m zipfile -e jupylet-master.zip .
move jupylet-master jupylet
⚠️ NOTE On Mac OS X or Linux type mv instead of move in the command above.

Next, enter the jupylet/examples/ directory with the change directory command:

cd jupylet/examples/

And start a jupyter notebook with:

jupyter notebook 11-spaceship.ipynb

Run the notebook by following the instructions in the notebook and a game canvas should appear with the spaceship example:

Alternatively, you can run the same game as a Python script from the console with:

python spaceship.py

Documentation

To get started with Jupylet head over to the Jupylet Programmer's Reference Guide which you can find at jupylet.readthedocs.io.

To complement the online guide check out the growing collection of example notebooks that you can download and run on your computer as explained above.

Contact

For questions and feedback send an email to Nir Aides.

Project details


Download files

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

Source Distribution

jupylet-0.8.2.tar.gz (341.4 kB view details)

Uploaded Source

File details

Details for the file jupylet-0.8.2.tar.gz.

File metadata

  • Download URL: jupylet-0.8.2.tar.gz
  • Upload date:
  • Size: 341.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for jupylet-0.8.2.tar.gz
Algorithm Hash digest
SHA256 65b29691461836ff56800596f74f4bf10620c7734982babe7e44c145bebef712
MD5 62b1e824d7631bf8ab3500fc86175da3
BLAKE2b-256 044373317ed5ac537cc113f15ba8961a82b0becf58dd38d208b8aa53f6c6cd71

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