Name | Processing features | based on (& Python version) | Python standard library | libraries ecosystem | main features | main limitations |
---|---|---|---|---|---|---|
Processing Python Mode | Processing Java | Jython (Python 2) | complete | Processing Java | available inside Processing IDE, very Processing compatible | no web deployment, no modern Python libs |
SkulptIDE and trinket.io | ProcessingJS | Skulpt (Python 2) | partial | unknown, possibly JavaScript | very nice web IDE, browser based sketches | ProcessingJS is defunct; not extensible |
BrythonIDE | p5.js | Brython (Python 3) | fairly complete | JavaScript & p5.js | browser IDE, browser based sketches & very p5.js compatible | big downloads, can be slow |
p5py | a new inplementation (incomplete) | Python 3 | complete | Python only | truly Python compatible | no web deployment, very different API from Processing, still very incomplete |
pyp5js | p5.js | Transcrypt (Python 3) | incomplete | JavaScript & p5.js | browser based sketches! very p5js compatible | JS libraries only, command line interface |
(future pyp5js) | p5js | Pyodide (Python 3) | complete | Python, JavaScript & p5.js | browser based sketches! very p5.js compatible & very Python compatible | (not ready yet) |
Earlier table presented in:
Villares, A. B. A., & Moreira, D. (2017). Python on the Landscape of Programming Tools for Design and Architectural Education. Presented at the SIGRADI 2017, ConcepcĂon, Chile.
Please consider feedback, colaboration by means of pull requests, and/or a small donation!
Copyright (c) 2014-2017 Alexandre B A Villares
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
CC-BY-NC-SA-4.0 License