generativepy versions
Martin McBride, 2021-11-05
Tags version
Categories generativepy generative art

The latest released version on generative can be found on the Python Package Index (PyPI).
The version available on github will often have extra features that aren't yet in the release.
The documentation on this site will usually match the code on github. This means it should basically match what is on PyPI, but it might cover new features that haven't been released yet.
Version history
Latest on github
v3.1 - 27 Apr 2022 - current PyPI version
- New
formulas
module converts latex formulas to bitmap that can be used with theImage
class. - New
MovieBuilder
class allows movies to be created from multiple scenes, with option to add audio files. - MINOR BREAKING CHANGE -
Plot
no longer automatically clips to axes, requires explicit axes.clip(). - Make right angle marker slightly bigger to match normal angle markers.
- Change angle, tick and parallel markers to be implemented as Shapes.
- Add text style (size and font) to
Axes
in the graph module. - Started updating/extending tutorials on github to match the generativepy tutorial. The current examples folder will be deprecated.
- Clarify that default fill rule for
Shape
objects isWINDING
(documentation change). - Add Transform class for transforming user space.
v3.0 - 6 Nov 2021
Text
object has newget_size
andget_metrics
methods.- MINOR BREAKING CHANGE -
color
parameter renamed topattern
in geometry elements. Existing functionality still works, but parameter name has changed. - New
Pattern
andLinearGradient
classes to support gradients (and later, image fills etc). - New
FillParameters
,StrokeParameters
, andFontParameters
classes to unify handling of appearance across library. - Support bold and italic text styles.
- BREAKING CHANGE -
Axes
class rewritten. Rationalised support for scaling. - BREAKING CHANGE - Graph plots now handled by a
Plot
object that is implemented as aShape
. - Axes now support subdivisions and allow control of stroke, fill, text parameters of all graph elements.
v2.5 - 5 Jun 2021
- New analytics module to display histogram and stats for frames.
- Extra nparray functions for creating data arrays.
- Add a simple turtle implementation to geometry module.
- Add simple shader and shapes to geometry3d module.
- Add
out
parameter tonparray.make_nparray_frame
function. - Support for segments, rays and full lines in
Line
objects. - Fix bug with greyscale nparray images.
- Make background colour transparent by default for RGBA bitmaps.
- Improve appearance of axes in graphing module.
- Improve coverage of unit tests and image tests.
v2.4 - 7 Mar 2021
- 3D drawing module using moderngl.
- Additional graph styling methods.
- Add text offset method.
- Add
Image
class to render images indrawing
module. - Add easing support to
tween
module. - Add
pad
functionTween
class. - Colormap improvements
- New
nparray
module allows bitmap images to be created using numpy arrays. - Added frame creation functions to
drawing
andbitmap
modules. - New
utils
module.
v2.3 - 17 Nov 2020n
- Add bitmap module.
- Add gif module.
- Add pixel scaling parameter for graph plots.
- Add line and fill styles to Shape objects.
- Implement subpath and extend for creating complex paths.
- Add bezier curves.
- Add path method to store a path for later use, and Path object to redraw a path.
- Add clipping support.
- Add Color nethods to convert colours to byte arrays.
- Add colormap support.
v2.2 - 27 Aug 2020
- Add line, polygon, circle, square, triangle, ellipse objects.
- Add angle marker, tick, paratick, arrowhead decorators.
- More code examples.
- Additional documentation on this site.
- Add offset method to Text class
- Minor breaking change - rectangles now use a single tuple parameter (x, y) to set the corner position, rather than separate x, y parameters. This is for consistency with other drawing objects.
v2.1 - 1 Aug 2020
- Fix a few naming inconsistencies, for example using camelCase rather than snake_case. These have been tidied up to improve things moving forward.
- Add Geometry module for drawing shapes.
- These break v2.0 code slightly.
v2.0 - 26 July 2020
- Use native Pycairo calls to draw, which adds a lot of new capabilities compared to V1.x. This is a major change that will require changes to any code based on v1.x.
- Color module also has new features for modifying colours.
V1.x
Older versions used a different drawing model, wrapping the underlying Pycairo calls to emulate Processing.
This seemed like a good idea at the time, but created a lot of extra work for relatively little benefit, and ultimately made the drawing model less capable that it could be. Use a later version if you can.