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-1.1.4.tar.gz (331.4 kB view details)

Uploaded Source

Built Distribution

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

creativepython-1.1.4-py3-none-any.whl (377.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for creativepython-1.1.4.tar.gz
Algorithm Hash digest
SHA256 37500bab8de812bbdfecad91ea89202a6b0e89b9cc9aef0ac7f7a55816a78a18
MD5 9e390da84aaeb2642ea3cc1a9251526a
BLAKE2b-256 476a8417aaccf7bb004f7ca4256775e8132a632fe5ee6ce40bb8f7a1204fd919

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for creativepython-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 88efa2555e793b4332825c0bea2933b4b783280d4b0a83797c736d1d26ad4ca8
MD5 1906532a4068ee531340ec21bd1bdcd8
BLAKE2b-256 bf4693b841d05d79d38efef4776d4d2bba39c07c119f429dce3dde20fe1e4a30

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