Skip to main content

generativepy

Generative art and graphing library for creating images and animations.

Version 50.00

  • Move to semantic versioning (Major.Minor) rather than date versioning (YY.MM) starting from 50.00
  • Make AxesAppearance fields consistent with Axis settings in graph module
  • Use of_points to define scatter charts in graph module
  • Remove deprecated market classes and geometry functions in geometry module
  • Case insensitive CSS names in color module
  • Move geometry related constants from drawing module to geometry module
  • Merge shape2d module into math module
  • Remove povray and moderngl modules (geometry3d and drawing 3d) to separate project, genpy3d
  • Fix minor bugs in formula rendering
  • Add matplotlib module, create matplotlib graphs from genertativepy
  • Add dot product to Vector class
  • Add BookColorScheme, suitable for print and web
  • Add axis positions (axes can be drawn on boundary or on axis)
  • Update for latest moviepy version

Version 24.11

  • Fix bug is extents for of_xy_function.
  • Axes.transform_from_graph can accept a point or a sequence of points.
  • Allow axes labels to be positioned around edges of graph if required.

Version 24.04

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
  • MoviePy
  • ImageIO
  • Command line application gifsicle (only needed for GIF creation)
  • Commandline applications latex and divpng (for formula formatting)

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
  • Math module for vectors, matrices and abstract shapes.

Website

Visit graphicmaths.com for details:

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

Metadata

Release files for generativepy 50.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for generativepy 50.0
File Size Uploaded
generativepy-50.0.tar.gz 64.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for generativepy 50.0
File Interpreter ABI Platform
generativepy-50.0-py3-none-any.whl Python 3 none any Details

Total release size: 124.2 kB

Release files / generativepy-50.0.tar.gz

Download URL generativepy-50.0.tar.gz
Size 64.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f68839207ffa5d55fd13e79bce167ae504cab60170e070b2055606d0b46d06ee
BLAKE2b-256 checksum
How to use checksums
fb588147cb58332db2a2c9dd662f06536b65debccb9ae2285162f7a58e7dc2d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / generativepy-50.0-py3-none-any.whl

Download URL generativepy-50.0-py3-none-any.whl
Size 60.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
173615c2b7c9727ba1a6463152ba610bd923ab49f693efb9e8b14ff337dd839d
BLAKE2b-256 checksum
How to use checksums
a1f0c6be0b9ad20331623a240a69ceec83a835d89ba13eb3e218be97a0b84005
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

50.0 This release

2 release files

24.11

2 release files

24.4

2 release files

23.11

2 release files

4.0

2 release files

3.2

2 release files

3.1

2 release files

3.0

2 release files

2.5

2 release files

2.4

1 release file

2.3

1 release file

2.2

1 release file

2.1

1 release file

2.0

1 release file

1.1

1 release file

1.0

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page