Imported Mode Code Importing & Improvements to Py5Shape
Pre-release
Pre-release
hx2A
released this
24 Jul 02:28
·
15 commits
to main
since this release
...and bug fixes.
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.
Other Changes
- Using
g
to access the primary Py5Graphics object is now deprecated. Users will receive a warning message instructing them to useget_graphics()
intead. Allowing the single characterg
to be a reserved variable name is problematic for users coding in Imported Mode. Consider that theg
variable is often used in a rgb variable triplet. Theg
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 toPy5Graphics.color_mode()
andpy5.color_mode()
- New
Py5Shape
methodsvertices()
,bezier_vertices()
,quadratic_vertices()
, andcurve_vertices()
, analogous to the other methods of the same name.
Closed Issues
- Issue #301: Imported mode validation should not allow new function definitions for py5 reserved words
- Issue #302: Py5Shape class should have a Java Py5ShapeHelper class, analogous to Py5GraphicsHelper for Py5Graphics
- Issue #303: Py5Graphics.create_shape() method cannot create GROUP shapes
- Issue #304: Add color_mode() method to Py5Shape
- Issue #307: Py5Graphics methods points(), vertices(), etc have no type hints or docstrings
- Issue #295: py5_tools.register_processing_mode_key() should be optional for same-name keys in the namespace setup() and draw() are found
- Issue #314: Spaces in def setup() definition are tripping up the run_sketch utility
- Issue #317: Removing g from the list of py5 "reserved words" breaks things
- Issue #318: The %%py5draw magic is broken
- Issue #319: constrain() returns zero-dimensional array instead of float
- Issue #323: Improve NameError exception message when Imported mode users have a py5. somewhere in their code