New py5 Release: 0.9.0a0
It has been over 5 months since the last py5 release, which is a long time compared to previous releases. The main reason for this is the time and effort that went into completing two new features that I am very excited about: Hybrid Programming and Processing Mode. More on that in a moment.
This is a major release with important new features and many bug fixes. Thanks as always to Alexandre Villares (@firstname.lastname@example.org) for finding many of the now fixed bugs and for helpful design discussions. Thanks to @AsadNizami for two pull requests, thanks to @dmorenog01 for a pull request, and thanks to @marziabil for inspiring the enhancement behind issue #247.
Hybrid Programming & Processing Mode
Hybrid Programming refers to the ability to add your own Java (Processing) code to py5. Think of it as a way to add custom Processing extensions to py5. Hybrid Programming is useful for boosting py5's performance and making Java libraries more accessible to py5.
Processing Mode is a completely new way to use py5. This feature is built for the Java Processing users. It allows py5 to function as a bridge, connecting the Java code users write for Processing sketches to the Python ecosystem. Processing Mode gives Processing users a new method
callPython(), which gives everyone an easy way to call Python code from Processing.
Both Hybrid Programming and Processing Mode are documented extensively on the py5 documentation website. There's also a GitHub repo with example code. As these are new features, the documentation and example code will grow as questions come up and issues are raised. Stay tuned!
I'm thrilled to finally be able to share these new features with the py5 community. I hope you find them useful and easy to use. I'm looking forward to seeing what people do with them.
On the subject of documentation, there is now a page explaining how py5 actually works. I've wanted to write this documentation for a long time. This information will be useful for advanced coders who want to better understand how py5 works and for developers who want to contribute to py5. More documentation does need to be written about py5's internals, but this is a good start. The documentation will evolve as readers ask questions and I make improvements to the text.