New py5 Release: 0.10.2a0
I'm pleased to announce the release of py5 0.10.2a0 and py5jupyter 0.2.1a0. Both are small releases with a few bug fixes and enhancements.
PyCon 2024
But before talking about the release, I want to share the py5 recordings from PyCon 2024. I delivered a presentation titled Creative Coding with py5, the Python version of Processing. Alexandre Villares led py5 tutorial Learning Python while making drawings and animations. Both were well attended and a lot of fun for both of us to organize and deliver. I'm grateful for the opportunity to meet so many people from the py5 community and the Python community! I hope to see you all again soon.
Please watch the videos and give both of them a thumbs up!
New Contributors
For this release, py5jupyter had a first-time contributor. Many thanks to Ivan Lengyel for not only making a PR, but for doing much debugging and research to clarify the problem. The original py5 issue, #456, was traced to issue #1124 in the ipykernel library. A ipykernel PR resolved the problem, and py5jupyter now requires versions of ipykernel that include the fix. Ivan's py5jupyter PR updates py5jupyter's ipykernel version dependency.
Very grateful to Ivan Lengyel for the assistance in resolving this issue!
Cached Object Conversion
Enhancement #420 creates new convert_cached_image()
and convert_cached_shape()
methods. Thank you to Alexandre Villares for the thoughtful discussion that led to these two enhancements that can simplify code that would otherwise use the convert_image()
and convert_shape()
methods. Have a look at the Cached Conversion documentation to learn more.
Python 3.9
This release of py5 requires Python 3.9 or later. Python 3.8 is nearing its end-of-life and I want to make sure py5 users are using a supported version of Python. If you need to keep using Python 3.8, you can continue to use py5 0.10.1a1.
Library Dependencies
I updated py5 and py5jupyter's library dependencies. This includes allowing py5 to be installed alongside numpy 2.0. I have tested py5 with numpy 2.0 and it works well.
Removing NPM & JavaScript from py5jupyter
Previous versions of py5jupyter contained JavaScript code for the sketch portal widget. Unfortunately the sketch portal is broken and had to be temporarily removed from the library. My future goal is to re-implement it with anywidget, which eliminates the JavaScript packaging headaches and (I hope!) simplifies the implementation. As a first step, I removed all of JavaScript stuff to clear a path for the future implementation.
Closed Issues
Here are the closed issues for py5:
#420, new
convert_cached_image()
andconvert_cached_shape()
methods#441, improve error message when sketch file is executed without ever being saved
#443, repairing the
Py5Image.copy()
method#446, unpin numpy, allowing py5 to be installed alongside numpy 2.0
#447, repairing and enhancing
set_println_stream()
. This change was needed to support the future project py5ascii.
In addition, there was the one closed issue that resulted in a change to py5jupyter:
#456, limit ipykernel version dependency to avoid problems with Jupyter on MacOS.
Processing Library
Processing hasn't yet had a new release so py5 is still dependent on the same Processing fork I used for the previous few releases. I'd still like for my code changes to get merged but am not at all worried about it now.
Sponsor Py5coding on GitHub
Like py5? Want to help support its development? Consider sponsoring py5 on GitHub.
I started working on py5 over four years ago when the pandemic lockdown started as a way to manage my anxiety about the situation. Since then, py5 has grown into a full-featured tool for creative coding that is used all around the world. I'm grateful for the support of everyone I've met who helped py5 grow into the useful library that it is today. I love working on this, but it does take a lot of time and is very much like a part time job for me.
I'm not going to pressure anyone into becoming a sponsor and I do ask that if you are struggling financially for any reason that you don't sponsor py5. But if you are in a position to sponsor py5, please consider doing so. Your sponsorship will help me continue to work on py5 and make it a better tool for everyone to use!
What's Ahead
Good question. Lately I've been swamped with some personal issues and am not sure what I will have time for. What I work on over the next few months will likely be determined by what I have the mental bandwidth to focus on. One thing that is at the top of my mind is expanding py5's integrations with other Python libraries. I'd like to revisit getting PyInstaller to work with py5. I also have a half-working prototype of a live coding tool for py5...I know a lot of people who would get good use out of it. We'll see how that goes.
Comments