Skip to content

Releases: py5coding/py5generator

py5 => Java 17

24 Mar 15:21
Compare
Choose a tag to compare
py5 => Java 17 Pre-release
Pre-release

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() and window_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 requires numpy>=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

21 Jan 19:17
Compare
Choose a tag to compare

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

30 Oct 10:15
Compare
Choose a tag to compare

New Features:

  • Context Managers: methods like begin_shape() or push_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() and save_frame() methods can now save to a io.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

20 Aug 16:47
Compare
Choose a tag to compare

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

05 Aug 19:37
Compare
Choose a tag to compare

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!

19 Jul 02:12
Compare
Choose a tag to compare

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 of settings(). Before Sketch execution, py5 will identify code in setup() that belongs in settings() 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 variable args
  • the use_thread default parameter in save() and save_frame() has been changed from False to True

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

14 Jun 01:01
Compare
Choose a tag to compare

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

23 May 15:52
Compare
Choose a tag to compare
Pre-release

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

Jupyter Notebook Kernel, Better OSX Support

23 Mar 18:09
Compare
Choose a tag to compare

Release Highlights:

  • New Jupyter Notebook Kernel devoted to py5
  • Better OSX support
  • Many repairs to exiting docstrings, new docstrings for undocumented methods
  • Many bug fixes, repairs to math functions