# Merge Python Categories

**URL:** <https://discourse.processing.org/t/merge-python-categories/36103>\
**Category:** Site Feedback\
**Created:** [April 4, 2022, 4:34am UTC](https://discourse.processing.org/t/merge-python-categories/36103 "2022-04-04T04:34:26Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![GoToLoop](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/gotoloop/32/86_2.png) [@GoToLoop](https://discourse.processing.org/u/GoToLoop)\
**Post date:** [December 2, 2022, 2:54am UTC](https://discourse.processing.org/t/merge-python-categories/36103/12 "2022-12-02T02:54:12Z")

</div>

I did some research on Python syntax for Processing and I think they can be split in 3 categories:

1. Java Mode API based flavors (lowerCamelCase):

2. Pythonic API based flavors (snake\_case):

3. p5js API based flavors (also lowerCamelCase, runs online):

* * *

1st group is about flavors that most resemble the API from the original Processing’s Java Mode:

> **[Reference](https://processing.org/reference/)**
>
> Find further documentation of the Processing language

Among those 3, Python Mode (Processing.py) is the most important, b/c it’s 1 of the 4 official project flavors from Processing Foundation:

> **[Processing Foundation](https://processingfoundation.org)**
>
> Our mission is to promote software literacy within the visual arts, and visual literacy within technology-related fields — and to make these fields accessible to diverse communities.

And b/c it’s Jython-based, it has limited access to actual Python libraries, relying on Java libs instead:

> **[Home](https://www.jython.org/)**
>
> The Python runtime on the JVM

A category renaming suggestion for it: “Python Mode & Trinket (Java/Jython libraries)”.

* * *

Next group is about flavors that chose a more pythonic snake\_case naming for its API.  
And integration w/ actual Python libraries in place of Java 1s.  
A category renaming suggestion for it: “p5py & p5 (Python 3 libraries)”.

* * *

Last group can access both Python & JS libraries and runs on a browser, powered by the p5js flavor.

We could create a p5js subcategory for it: “Python Syntax (pyp5js & PyScript)”.

* * *

BtW, PyScript isn’t a Processing/p5js flavor, but a cool way to run Python code on the browser.

PyScript can use both Python & JS libraries, including p5js, q5js, pjs, etc.

Here’s a sketch version I did for PyScript:

> [@Converting coding challenge 'Self-avoiding walk backtracing' from p5.js to Processing (Java)](https://discourse.processing.org/t/converting-coding-challenge-self-avoiding-walk-backtracing-from-p5-js-to-processing-java/35047/21):
>
> Python is now a full browser client language w/ PyScript: So again I couldn’t resist converting my previous RapydScript sketch “Self Avoiding Walk II” to PyScript. I’ve also added Python type hints to the whole code: All 3 JS Processing flavors run on PyScript just like CoffeeScript & RapydScript previous versions: You can [click here](https://api.glitch.com/project/download/?authorization=3d2d3e71-2277-421f-9d6a-38d0f41b0522&projectId=3dc3a6ae-9818-441a-8f7e-b1d50e7199c3) to download the full sketch so you can edit & run it somewhere else. And go to the link below to view it fullscreen: [https://Self-Avoiding-Walk-II-PyScrip…](https://Self-Avoiding-Walk-II-PyScript.Glitch.me/)

* * *

---

_[View the full topic](https://discourse.processing.org/t/merge-python-categories/36103)._
