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

Uploaded Python 3

File details

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

File metadata

  • Download URL: creativepython-0.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 a8e2e6b2f48d77cc2fd9d8ed31237ab85b30ad8c29f645ee8a3d09d0a4611665
MD5 d44a95853e24c86960987bae79b589a0
BLAKE2b-256 bf9178b77eb44f36f3de24c85d5a6614e9d8769ef34f0cd58e94600c2a369cce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: creativepython-0.3.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ef4ab49d5c76ceee2f741f30295fa3711a68cb6872904d2fd07b2f24a0d9c8b7
MD5 c09e4d82c02e30a67abc92fac9cee9f5
BLAKE2b-256 ad46c46924eb2f0cab4409e806f9933b46bc032d40636547fb9a00792791c872

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