Processing is a flexible software sketchbook and a programming language designed for learning how to code.
This repository contains the source code for the Processing project for people who want to help improve the code.
Using Processing
If you're interested in using Processing, head over to the download page, or read more about the project on the Processing website. There are also several tutorials that provide a helpful introduction. They are complemented by hundreds of examples that are included with the software itself.
Getting Help
For assistance with your own sketches, projects, or code, please post your question on the Processing forum: https://discourse.processing.org/. Our community is full of experienced developers and knowledgeable users who are eager to help. Before you post, please take a moment to read the guidelines on asking questions to make sure you get the best possible help. We’re incredibly grateful for the support and knowledge shared by everyone on the forum over the years.
Contributing to Processing
If you want to fix a bug that's been bothering you or want to give back to the project, you're in the right place!
To get started, clone this repository to your machine and build the code. For instructions, check out our guide on How to Build Processing.
We welcome new contributors. The work on Processing 4.0 was done by a tiny number of people. Every contribution helps!
Structure of the Repository
The Processing software consists of two main parts:
- The Core Library: This includes essential components such as the graphics renderer, event handling, input/output (I/O) functions, and mathematical utilities.
- The Processing Development Environment (PDE): This includes a text editor, a pre-processor, a contributions manager, and other tools to assist with writing and managing code.
About the Processing 4.0 release
We've moved to a new repository for the 4.0 release so that we could cull a lot of the accumulated mess of the last 20 years. This made git clone (and most other git operations) a lot faster.
For a detailed list of changes relevant to developers working on this repository, and changes that may impact Library, Mode, or Tool development, please refer to CHANGELOG.md. The full list of changes can be seen in the release notes for each version.
Processing 4 has important updates that prepare the platform for its future. Most significantly, this includes the move to Java 17 as well as major changes to the range of platforms we support (Apple Silicon! Raspberry Pi on 32- and 64-bit ARM!)
With any luck, many changes should be transparent to most users, in spite of how much is updated behind the scenes. More immediately visible changes include major work on the UI, including “themes” and the ability to change how sketches are named by default.
As with all releases, we did everything possible to avoid breaking API. However, there were still tweaks that we had to make. We tried to keep them minor. Our goal is stability, and keeping everyone's code running.
Contact Information
For more details about Processing itself, feel free to reach out to us. Here are the best ways to contact us:
- Email: For inquiries about the Processing software, contact hello@processing.org.
- Processing Foundation: For anything else, please reach out to foundation@processingfoundation.org.
License & Copyright
- The core library is licensed under the GNU Lesser General Public License version 2.1 (LGPL-2.1).
- Everything else including the PDE is licensed under the GNU General Public License version 2 (GPL-2.0).
- The reference, including the JavaDoc comments, is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC-BY-NC-SA-4.0).
For complete licensing information about the Processing core library and software, see LICENSE.md
For licensing information about the Processing website see the processing-website README.
Copyright (c) 2015-now The Processing Foundation