Releases: py5coding/py5generator
Releases · py5coding/py5generator
py5 events and improved sketch portal
New Features:
- Py5KeyboardEvent and Py5MouseEvent classes
- User-defined event functions such as
mouse_moved()
andkey_pressed()
can take an parameter, and an instance of Py5KeyboardEvent and Py5MouseEvent will be passed when it is called - New py5jupyter library to contain all of py5's Jupyter functionality
- The Sketch Portal is now interactive
Use of py5 + Jupyter without py5jupyter installed is now deprecated. See the blog post for more information about this release.
Bug Fixes:
py5 with generic python interpreter
py5 => Java 17
New Features:
- py5 now requires Java 17 to be installed on your computer. If
JAVA_HOME
is set, it must point to your Java 17 installation. - Update Processing jars to version 4.0b6. This means py5 now supports the new features in that release, including the new commands for controlling the Sketch window such as
window_move()
andwindow_title()
. - Improvements to py5 to enable packaging with pyinstaller. In the near future I will add documentation to the py5 website explaining how to do this. If you can't wait that long, have a look at this gist for a working example. That example has room for improvement, and will be improved before the documentation is finalized.
- The typehints have been updated to conform to PEP 585. Also, the numpy typing package
nptyping
has been removed in favor of using the numpy typehint features introduced in versions 1.20 and 1.21. This version of py5 now requiresnumpy>=1.21
, but that shouldn't be a problem for anyone because that version has been out for almost a year now and most likely you have version 1.22 installed already. - The
run_sketch
command line tool now accepts command line arguments that will get passed to Processing. Among other things, this will allow the Thonny plugin to set the window position. (see #60)
Bug fixes:
Reworked noise functionality and new Py5Vector class
New Features:
- Reworked noise functionality. The Python noise library is no longer used to generate noise; the library has been removed as dependency. Instead, py5 uses the OpenSimplex noise algorithm and Processing's noise algorithm. The OpenSimplex algorithm is provided by KdotJPG's OpenSimplex2S implementation.
- New Py5Vector class
Fixes:
New Context Manager feature + Important Bug Fixes
New Features:
- Context Managers: methods like
begin_shape()
orpush_matrix()
can be used as context managers - py5bot now supports the SVG and PDF renderers
- Update to the latest Processing 4.0 beta 2 jars
- The
save()
andsave_frame()
methods can now save to aio.BytesIO
object - Version number conforms to proper semantic versioning standards
Fixes:
Fixed run_sketch on OSX and Windows and additional support for hexadecimal and web color notations
Fixed run_sketch on OSX and Windows and additional support for hexadecimal and web color notations
Pre-release
Pre-release
Fixes:
- Fix
run_sketch
on Windows and OSX. Previously the utility did not work on either platform.
New features:
- Support hexadecimal and web color notation assignments to the pixels array (
pixels = "#882222"
) - Support 3 character web color notation (
"#882222"
)
Repaired py5bot and support for hexadecimal and web color notations
The 0.5a0 release was a bad release. I botched the py5bot kernel code in a poorly executed merge, and then didn't do sufficient testing to detect the problem. This release fixes those problems.
I have updated my release process to make sure this doesn't happen again. Also, I will prioritize developing a unit test framework for py5.
There are two other changes in this release:
- Proper support for specifying colors using hexadecimal notation and web color notion. See #26.
- The
sketch_portal()
method will by default throttle the frame rate to 30 frames per second. Previously the default was for no throttling. This change will improve the experience of users who use this for the first time on mybinder, where a Sketch running at the default Sketch speed of 60 frames per second will look jumpy in the Sketch portal when no throttling is used.
py5bot, combined settings and setup functions, and more!
Release Highlights:
- A second Jupyter Notebook Kernel: py5bot. There's also a new IPython magic called %%py5bot that is available within the py5 kernel.
- The size() method can be called from the
setup()
function intead ofsettings()
. Before Sketch execution, py5 will identify code insetup()
that belongs insettings()
and will segment the code appropriately. - Improved error reporting for IPython magics, py5bot, and all static mode sketches
- Sketch windows now appear in the taskbar or Dock with the py5 logo
Breaking changes:
args
has been renamed to pargs to avoid a name conflict with the conventional use of the variableargs
- the
use_thread
default parameter in save() and save_frame() has been changed fromFalse
toTrue
Also:
- Massive improvements for OSX Users. The OSX Sketch exiting issues have been solved. The other OSX issues are better articulated in the Special Notes for Mac Users
- Lots of little bug fixes
py5 on mybinder, better OSX support, bug fixes
Release Highlights
- Fixed problems related to printing from Jupyter notebooks
- py5 now works well on mybinder
- Py5SketchPortal Widget, necessary for viewing animations on mybinder
- The IPython line magics such as
%screenshot
and%animatedgif
are no longer magics and have been converted to regular functions in py5_tools - Improve OSX support
- Lots of little bug fixes
Complete Docstrings + Bug fixes
Release Highlights:
- Complete, accurate, and truthful docstrings for every field and method in every py5 class
- Correctly support
print
statements in Sketch methods when using Jupyter lab - Improve OSX support
- Lots of little bug fixes