Replies: 2 comments
-
Hello, @berinhard ! I am so happy to hear that py5 is enabling to you to reconnect with creative coding and Python. :) I have looked at your project pyp5js and have been doing what I can to learn more about pyodide and pyscript.
There is the idea to do that. Others have asked about this and clearly it is a screaming opportunity. I don't have a specific roadmap for building it, but I have been doing exploratory work to investigate the technical design issues. To understand the code behind py5 and a potential p5.js backed version of py5, first I need to talk about py5generator. The python library py5 is in the other https://github.com/py5coding/py5 repo. The py5generator code is basically a custom template engine that constructs the code for py5. It uses data and analysis of the Processing jars to properly construct the code. Included are tools for managing idiosyncrasies and edge cases which would inevitably come up when building something like this. There was some up-front work required to first build py5generator and py5, and that work was done during the pandemic lockdown when I had a lot of extra time. Now much of the maintenance of py5 is automated, making this project easy for one person to maintain. While doing this I have learned a lot about making Python libraries that build on top of libraries written in other languages. It's a niche skillset for sure. I'd like to apply what I've learned to do something similar with p5.js. I've done some preliminary investigation to learn more about pyscript and pyodide. From what I've seen so far, the technical challenges are smaller. Also, p5.js has characteristics that will make it easier to work with than the Processing jars.
Can you elaborate on this? What problem does this solve, and how does it improve things?
The main reason why I don't have a specific roadmap for this is because I am currently grappling with parental health problems and that is taking up a lot of my time. With the time left over, I need to work on more immediate concerns. I am doing what I can to get things under control here but things move quickly and frustrate my attempts to adapt. Working on py5 + p5.js does interest me a lot and it is going to happen eventually. I just can't speak to when I'll be able to start putting real time behind it. |
Beta Was this translation helpful? Give feedback.
-
I'm so happy to see this conversation and potential collaboration growing! Let me chime in...
Trying to second-guess Bernardo (which I shouldn't be doing) I believe he wants to move from pyodide to PyScript because it abstracts away some of the complexities of dealing with pyodide, and makes it easier in the future to include other libraries the user might want to import. From the things I heard at PyCon US from the PyScript people, it might be possible to start a PyScript app with a lighter micropython-based interpreter (that loads quickly) and then afterwards switch to a pyodide-based interpreter. Another reason to switch to PyScript would be to be able to collaborate with a larger community, in the wake of the Anaconda Inc. PR machine (don't get me wrong, it might sound snarky, but I think it is a good thing).
But I'm sure somehow we should be able to collaborate as a single team! |
Beta Was this translation helpful? Give feedback.
-
First of all, I wanna say thank you for implementing and maintaining this project. I've been an old user from Processing's Python Mode and it's just delicious to be able to play around with creating coding once again with Python.
Right after the announce that Python mode would be no longer maintained, I've started my own project called pyp5js in order to be able to keep on using Python to do creative coding. The idea is the same as
py5
but it usesp5.js
as the backend instead of processing. @villares was a huge supporter and mentor behind the project's decisions and features planning. There is one major and important improvement in the project which is to change the backend which "compiles" the Python code from Pyodide to PyScript.But, after I've experimented more with
py5
, the idea of maintaining my project alongsidepy5
seemed somehow effortless. So, before digging into that, I decided to open a discussion here to check if there's a roadmap or idea to usepy5
to generatep5.js
compatible HTML code as well or if it's outside the scope of the project.If it's interesting for the project, I'd love to come closer and try to help with the experience I got while doing so before.
Beta Was this translation helpful? Give feedback.
All reactions