berinhard / pyp5js

Python to P5.js Transcriptor
https://berinhard.github.io/pyp5js/
GNU Lesser General Public License v3.0
200 stars 37 forks source link

Encapsulate pyp5js as Processing Mode or perhaps as a Mu mode #41

Open villares opened 5 years ago

villares commented 5 years ago

Pyp5js Enhancement Proposal

Rationale: Working inside a code editor, and with no need of the command line interface, makes the tool much more accessible to beginners.

Maybe working out how to create a new Processing IDE mode is too much trouble (Java, Eclipse...). If we should try this we might look at the P5js Mode for inspiration https://github.com/fathominfo/processing-p5js-mode (and the old Javascript Mode based on ProcessingJS https://github.com/fjenett/javascript-mode-processing).

Then we could look at Mu, a simple [yet wonderful] Python editor for beginner programmers (https://codewith.mu/) and it has "modes" too: https://mu.readthedocs.io/en/latest/modes.html and here are the docs for developers willing to create a Mu mode: https://mu.readthedocs.io/en/latest/modes.html#create-a-new-mode

berinhard commented 5 years ago

I'm a HUGE +1 1 for this functionality because I really think and agree with you that this will enable pyp5js to be widely used by people.

villares commented 5 years ago

There is yet another way... make it work as a web editor like Prof. Esperaça's Brython IDE...

berinhard commented 5 years ago

@villares strategically speaking, I think that the web editor is the ideal solution. We could host it somewhere and this would drastically reduce the barrier of usage because we won't require any installation process to experiment with pyp5js.

berinhard commented 5 years ago

Reference: https://blog.jupyter.org/and-voil%C3%A0-f6a2c08a4a93

jeremydouglass commented 5 years ago

Both are good ideas. I actually like the mode approach through Contributions Manager -- although for teaching and play, sending people to a website like the p5.js web editor is wonderfully convenient.

Mode developer documentation is sorely lacking, unfortunately. I have just start added up some basic mode development documentation here:

https://github.com/processing/processing/wiki/Mode-Overview

berinhard commented 5 years ago

Thanks for the reference @jeremydouglass :+1:

Wildernesss commented 3 years ago

Hi everyone.

I don't know if this thread is still active and if it's the relevant area to ask this question: could pyp5js be integrated into p5js online editor (editor.p5js.org). User would have the choice to write online code of a sketch in JS or Python. This polymorphism would be great. This would be a good mean to stop those sterile disputes between CS teacher concerning the choice of the BEST language to teach programming, and more especially the quarrel between JS and Python, which are certainly the two main languages used for teaching prog. And it would have the advantage to show our students that programming language is only... programming language, that means a mean to write programs, not a religion to fight for. We can already do this with the destkop IDE of Processing of course. But for teaching, the online editor is fare more easier to use with students and beginners.

Thanks a lot for all your work making bridges between those languages!

Laurent

tabreturn commented 3 years ago

@Wildernesss -- something like this? https://editor.computiful.org/

Wildernesss commented 3 years ago

@tabreturn Woaaww!!! Fabulous. Who has made all this work, that's amazing... Yes, it's exactly that. What would be great would be to integrate this to https://editor.p5js.org/. This later adds the advantage of files storage and adding files to sketches, as well as the possibility to add HTML interface to sketches. Into the p5js oneline editor paradise there would a drop down list to choose between Python and Javascript when creating a new sketch! When I see https://editor.computiful.org/ I begin to believe this paradise could be not just simple dream...

tabreturn commented 3 years ago

https://github.com/nickmcintyre

GoToLoop commented 3 years ago

What would be great would be to integrate this to https://editor.p5js.org/.

I'd much rather prefer PyP5Js to become the 4th engine mode for https://OpenProcessing.org/sketch/create. ^_^

villares commented 3 years ago

I'd much rather prefer PyP5Js to become the 4th engine mode for https://OpenProcessing.org/sketch/create. ^_^

Our friend Carlos/Vamoss has put Sinan from OpenProcessing in contact with Bernardo from pyp5j, and it is a real possibility. But things are moving slowly, we could very much use your wisdom @GoToLoop to make this go forward. I think I might open a discussion and tag you there... cheers!

Wildernesss commented 3 years ago

What would be great would be to integrate this to https://editor.p5js.org/.

I'd much rather prefer PyP5Js to become the 4th engine mode for https://OpenProcessing.org/sketch/create. ^_^

@GoToLoop It's another online editor that seems to be nice too. I don't know it enough to talk about it. But at first glance I just worry that in public schools like the one I teach CS couldn't afford it financially with small budget... For storage of assets, editor.p5js.org offers 250 MB free storage per account, what is rather comfortable for beginners making small multimedia sketches. OpenProcessing offers 25 MB, not a lot if you join a little bit of sounds or video to sketches. Of course OpenProcessing also offers managing options of their students for teachers, what is nice. But it's not free. Don't see this comment as a critic against OpenProcessing. This is certainly a great tool, as well as this of p5js.org. Just that this later is apparently developped and supported by the Processing Fundation and community that work on it and is fully free. And it's a very good tool (using it for more than 2 years with my students) for low budget school :o) I don't know the 'history' reason why there is two different editors for p5js (couldn't their community join their skills to work on a unique and common tool? It makes me think of the annoying splitting between LibreOffice and OpenOffice supporters).

Anyway, folks developping PyP5js make great work too! And it's up to them to know what's the option they feel the most confortable with.

Have a nice week-end

GoToLoop commented 3 years ago

I just worry that in public schools like the one I teach CS couldn't afford it financially with small budget...

I don't know the 'history' reason why there are two different editors for p5js.

Couldn't their community join their skills to work on a unique and common tool?

berinhard commented 3 years ago

Thanks a lot for all this discussion! As the maintainer, I'm currently more focused on finishing with the final fixes to pyodide integration and feel that I built myself a stable tool. Currently, having issues such as #147 makes me unmotivated to think about integrating pyp5js with any extra tool.

But although I see benefits on using p5JS editor, from the project's perspective, I think Open Processing integration is more suitable. It has this focus on the creative coders community that can help to bring newcomers to the project and into python. Besides that, their UX has a lot of cool tooling as @GoToLoop described in his comment.

Anyway, I'm always open to welcome people to build their own integrations as @ranoya did with pyp5js + Observable. But, as I said, for now porting the lib to other infrastructures is still not my priority.