Join GitHub today
Processing has been around a while, and it's gotten large and complex enough that managing it all in a single repository became unwieldy. By spreading different portions of the source across multiple repos, we introduce some organizational complexity with the benefit (hopefully) that individual contributors maintain their sanity with logically grouped collections of code.
If you want to contribute to the project (by logging issues or submitting pull requests), it's important to understand how these repos are organized.
This page lists all the Processing repos, and explains what they contain and how they interact.
All official repos are owned by the Processing organization account:
Repositories are as follows. When logging issues, please log them to the most relevant repo.
The primary repo, containing the core of the Java-based IDE and the Processing API.
All files pertaining to the reference documentation, the website, and built-in examples live here, as they share a lot of information. For example, the "Reference" area that is built in to the IDE also gets published to the website, but so is information about Libraries, as are many of the built-in examples. We have fancy scripts that extract and repackage all this information in different forms – once for the application, and once for the site.
That said, some information on the reference pages are pulled directly from the Java source in the processing/processing repo. Pull up a sample reference page and note that while the first two elements live in XML files in processing-docs…
…the additional information is extracted directly from the Java source:
When we run the reference build script, these information sources are merged, and everything is tied up with a pretty bow on top. (The latter elements above are also pulled into the auto-generated JavaDoc, of course.) This is important because submitting or proposing changes to the reference may involve edits to both processing/processing and processing/processing-docs.
This repo used to be called processing-web, but that has been archived and retired.
Contains everything for the built-in Video library. This used to be part of processing/processing, but it was so large that we moved it out to its own repo.
Contains everything for the built-in Sound library. This used to be part of processing/processing, but it was so large that we moved it out to its own repo.
Everything related to the Android mode.
The template for building and generating your own Processing library.
p5.js is maintained separately, and has its own repositories.
…not owned by the Processing organization account:
Python Mode for Processing source.