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.5.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.5-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: creativepython-0.3.5.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.5.tar.gz
Algorithm Hash digest
SHA256 c4ecba564dd154a624175b07aa84546db3b17b655e882c18ba4eb07caf99d687
MD5 959b9463f874cadfcbdece81fc3f1781
BLAKE2b-256 0cdbb63ef0c5d1a6a101c952e4d64f397d29036e2e0e2ebe17d862e318165a69

See more details on using hashes here.

File details

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

File metadata

  • Download URL: creativepython-0.3.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9efec4cc2511f43a7fe99e6691dfe6431736d6e944b597aba968990ec5d760d1
MD5 28381dfd975bba24114cc9a0f171f79e
BLAKE2b-256 0dd74947905faaa436bbdf40b44ab68464bf6cbebdce58e3497999505b84c48e

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