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.
We’re excited to announce the release candidate for Processing 4.3.1! This update brings tooling improvements and a friendlier experience for contributors. To learn more, read the Processing 4.3.1 announcement.
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.
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.
We welcome new contributors. 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! Please see our CONTRIBUTING.md for detailed guidelines on how to contribute.
Building Processing locally on your machine will let you troubleshoot and make sure your contributions work as intended before submitting them to this repository. It also gives you the flexibility to experiment and learn more about how Processing is structured.
For a quick start:
- Fork and clone the repository.
- Open it in IntelliJ IDEA.
- Install the required Ant plugin.
- Hit Run.
For more information and detailed instructions, follow our How to Build Processing guide.
Remember, Processing is a labor of love, run in large part by volunteers, and offered free of charge. We're here because we believe in this community and genuinely enjoy contributing to it. We always welcome constructive feedback. Just keep it friendly and helpful, please! For more tips on how to communicate within the project, take a peek at our Code of Conduct.
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.
For technical support or troubleshooting with your project, please post on the Processing Forum.
For bug reports or feature requests, please create an issue.
For non-technical inquiries, here’s how to get in touch:
- For press inquiries, general information about the Processing software, or other non-technical questions, contact [email protected].
- For anything related to the Processing Foundation or broader topics beyond the software, please reach out to [email protected].
- 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
Add yourself to the contributors list here!