Skip to main content

A Python-based software environment for developing algorithmic art projects.

Project description

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.

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

creativepython-0.3.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

creativepython-0.3.1-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file creativepython-0.3.1.tar.gz.

File metadata

  • Download URL: creativepython-0.3.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for creativepython-0.3.1.tar.gz
Algorithm Hash digest
SHA256 6a8d4278d0b206ecae15cf634b96a4c443cd20258256078703a9a4d8d5a0cf29
MD5 979c926ab92cc5ff2eb10f1f852e799c
BLAKE2b-256 fb7e3db372a2dfc181ca67ce2362bc40df5c9561fcb5256ba769690dc88c70df

See more details on using hashes here.

File details

Details for the file creativepython-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: creativepython-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for creativepython-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3af89a401f7ee7e6f01160104d5c50b18efaa2d5ae8916ad876fa5a203de843f
MD5 24ea0d4a99b3e7460878f7e794b1818d
BLAKE2b-256 115a152913dd84f780f39a2226c50f7f9d10aa977a83e7c593b9c7581b54e6f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page