New py5 Release: 0.9.1a1

We are moving back to py5's previous release frequency of a release every 2-3 months. This is minor release with one important feature to support Thonny users, as well as a handful of bug fixes and other improvements.

Imported Mode Code Importing feature

Python projects with moderate to large amounts of code will be typically split into multiple files that will be imported from from one file to another. However, due to the way py5's Imported Mode works, this couldn't be done with py5 Imported Mode code. This new feature changes that, supporting the ability to import Imported Mode code from one file to another. How to do this is described in more detail in the documentation page Importing Imported Mode Code. In addition, the documentation also describes General py5 Importing Guidelines for writing importable py5 code in that supports all of py5's programming modes.

Other Changes

  • Using g to access the primary Py5Graphics object is now deprecated. Users will receive a warning message instructing them to use get_graphics() intead. Allowing the single character g to be a reserved variable name is problematic for users coding in Imported Mode. Consider that the g variable is often used in a rgb variable triplet. The g variable will be removed in the next release.

  • Update dependency versions for numpy from 1.23 to 1.24 and for pillow from 9.2 to 9.5

  • New Py5Shape.color_mode() method, similar to Py5Graphics.color_mode() and py5.color_mode()

  • New Py5Shape methods vertices(), bezier_vertices(), quadratic_vertices(), and curve_vertices(), analogous to the other methods of the same name.

Closed Issues

What's Ahead

  • New matplotlib related features

  • Some improvements to py5's OSX support