Skip to main content

Generative art library

Project description

generativepy

Generative art and graphing library for creating images and animations.

Version 24.04 notes

3D drawing is likely to change in a future release. The rest of the library is reasonably stable.

  • Most shapes can now optionally accept FillParameters and StrokeParameters to control fill and stroke styles. This makes it easier to share styles amongst different objects.
  • Add scatter plots, including stalk and connected styles.
  • Add a basic Vector3 implementation to math module.
  • New Markers class to rationalise line markers (ticks, paraticks, parallel markers), adding new markers and allowing position to be controlled.
  • New overlay_nparrays function in nparray module allows two images to be overlaid, treating pure white as transparent.
  • Add 3D charts (z against xy) using povray. Also added complex module to genpygoodies to help with plotting complex graphs
  • Add povray module with capability of drawing 3D shapes using vapory module.
  • Plot now has a close parameter that creates a polygon area based on a section of the curve that can then be filled. This can be the area under the curve, or above the curve, or any area created be extending the curve with additional points.
  • Update docstrings of all modules to support autogenerated documentation on generativepy.com

Usage

generativepy is a library rather an application. It provides useful functions and example code that allow you to create images and videos by writing simple Python scripts.

The library requires:

  • pycairo.
  • NumPy.
  • Pillow.
  • easy_vector.
  • moderngl (only required for 3D imaging).
  • MoviePy
  • Command line application gifsicle (only needed for GIF creation).
  • Commandline applications latex and divpng

Main functionality:

  • A simple framework for creating images, image sequences, and gifs, using pycairo.
  • Support for bitmap processing using PIL and NumPy.
  • Colour module that supports RGB, HSL and CSS colours, transparency, lerping, colormaps.
  • A simple tweening module to help with animation.
  • Geometry module for drawing shapes.
  • A graphing library for plotting 2D functions.
  • MovieBuilder supports creating video files from separate scenes.
  • Latex formula rendering
  • 3D geometry module using moderngl.
  • Math modules for vectors, matrices and abstract shapes.

Website

Visit pythoninformer.com for details:

There are also some art examples in the Generative Art section of my blog.

For detailed information of pycairo see the Computer graphics in Python ebook.

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

generativepy-24.4.tar.gz (66.9 kB view details)

Uploaded Source

Built Distribution

generativepy-24.4-py3-none-any.whl (64.9 kB view details)

Uploaded Python 3

File details

Details for the file generativepy-24.4.tar.gz.

File metadata

  • Download URL: generativepy-24.4.tar.gz
  • Upload date:
  • Size: 66.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.4.2 requests/2.25.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.9

File hashes

Hashes for generativepy-24.4.tar.gz
Algorithm Hash digest
SHA256 60cc17ad5453d149dfb7acc70aa9586b0fc39ca124c709fa4fd3fc1773202db3
MD5 2a16d9f6e6f14e90d8a9c1534aac4b05
BLAKE2b-256 d8cb647dc1bfe04c098610da066103ad8a537e14c8875fc517ab7a379ded75f8

See more details on using hashes here.

File details

Details for the file generativepy-24.4-py3-none-any.whl.

File metadata

  • Download URL: generativepy-24.4-py3-none-any.whl
  • Upload date:
  • Size: 64.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.4.2 requests/2.25.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.9

File hashes

Hashes for generativepy-24.4-py3-none-any.whl
Algorithm Hash digest
SHA256 de2571ccd7ba9532552f8fdbaeac52853453ecaa1c52ff989ae4258bf85da4ec
MD5 617dffe45b907ca85c33522e255eec06
BLAKE2b-256 e713b696cbdeafdac8c67f0034cc12f9634f2ff2662edcfa6a2030096c0dbce8

See more details on using hashes here.

Supported by

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