Skip to main content

CreativePython

CreativePython is a Python-based software environment for learning and developing algorithmic art projects. It mirrors the JythonMusic API, and is powered by PySide6 and portaudio.

CreativePython is distributed under the MIT License.

This package is still under development.

Requirements

Before installing CreativePython, you will need:

  • Python3, version 3.9 or greater [Download]
  • A C++ compiler (see Troubleshooting below)

Installation

If you're familiar with Python development, we recommend installing CreativePython through the Command Prompt/Terminal.

Windows

Install CreativePython using pip:

python -m pip install CreativePython

MacOS

Use Homebrew to install the prerequisite portaudio library, then install CreativePython using pip:

brew install portaudio
pip install CreativePython

Linux

Use apt, or your preferred package manager, to install the prerequisite portaudio library, then install CreativePython using pip:

sudo apt-get portaudio
pip install CreativePython

Using CreativePython

Importing Libraries

CreativePython's core modules are the music, gui, image, timer, osc, and midi libraries. You can import these libraries into your python code using:

import music
from music import *
from music import Note, Play, C4, HN

Or a similar statement. CreativePython includes a number of useful constants, so we recommend using wildcard imports like from music import *.

NOTE: The first time you import music, CreativePython will download a high-quality soundfont (FluidR3 G2-2.sf2) for you. You should only have to do this once.

Running CreativePython programs

CreativePython is designed for use in Python's Interactive Mode. To use Interactive Mode, enter a command like:

python -i <filename>.py

Example

Download playNote.py:

# playNote.py
# Demonstrates how to play a single note.
 
from music import *        # import music library
 
note = Note(C4, HN)        # create a middle C half note
Play.midi(note)            # and play it!

In IDLE, you can open playNote.py, and select Run, then Run Module from the toolbar.

In a terminal, run playNote.py in interactive mode:

python -i playNote.py

After you do, you should hear a single C4 half-note.

Troubleshooting

CMake configuration failed

Some of CreativePython's libraries may need to compile C++ code during installation.

Restart your computer, then try installing CreativePython again.

PENCIL Editor

CreativePython will soon be available as PENCIL, a customized Python IDE based on IDLE (Python's Integrated Development and Learning Environment).

Attribution

PENCIL is derived from IDLE, which is part of Python and created by Guido van Rossum and the Python development team. IDLE is distributed under the Python Software Foundation License Version 2.

Original IDLE Credits:

  • Copyright © 2001-2023 Python Software Foundation. All Rights Reserved.
  • See resources/pencillib/CREDITS.txt for complete IDLE contributor list.

PENCIL Modifications:

  • Copyright © 2025 Dr. Bill Manaris
  • Modified for use with CreativePython
  • Includes custom "JEM" theme and keymap defaults
  • User configuration stored in ~/.pencilrc/

Licenses

  • CreativePython: MIT License (see LICENSE)
  • IDLE/PENCIL: Python Software Foundation License Version 2 (see LICENSE-PSF.txt)

For complete licensing information, see the LICENSE and LICENSE-PSF.txt files in this distribution.

Metadata

Release files for CreativePython 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for CreativePython 1.2
File Size Uploaded
creativepython-1.2.tar.gz 336.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for CreativePython 1.2
File Interpreter ABI Platform
creativepython-1.2-py3-none-any.whl Python 3 none any Details

Total release size: 716.0 kB

Release files / creativepython-1.2.tar.gz

Download URL creativepython-1.2.tar.gz
Size 336.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8f072d2c2886f68cd851e812829e2a36aee7e3f20d8e5992cc24d0aa177d1b2e
BLAKE2b-256 checksum
How to use checksums
c60b1353f2218cb5295d8130a8de87a5f616abadddda16df3b2d72831689c91f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Release files / creativepython-1.2-py3-none-any.whl

Download URL creativepython-1.2-py3-none-any.whl
Size 379.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
87726fda1ca85d62ef783c10e559dbf78ff76fab159164e1e5bfd3129bedc259
BLAKE2b-256 checksum
How to use checksums
09bb13e1b43c091b6f6449cba2aa7d2c56c2e7b129424d504addf8d9b37805e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Release history Release notifications | RSS feed

This release

1.2 This release

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page