Libraries. Extend Processing beyond graphics and images into audio, video, and communication with other devices.
The following libraries are included with the Processing software. To include a library, select its name from the "Import Library..." option in the Sketch menu. These libraries are open source; the code is distributed with Processing.
-
Video
Read images from a camera, play movie files, and create movies.
-
DXF Export
Create DXF files to save geometry for loading into other programs. It works with triangle-based graphics including polygons, boxes, and spheres.
-
Serial
Send data between Processing and external hardware through serial communication (RS-232).
-
PDF Export
Create PDF files. These vector graphics files can be scaled to any size and printed at high resolutions.
-
Network
Send and receive data over the Internet through simple clients and servers.
-
» Minim
Uses JavaSound to provide an easy-to-use audio library while still providing flexibility for more advanced users.
Contributions
Contributed Libraries must be downloaded individually. Select "Add Library..." from the "Import Library..." submenu within the Sketch menu. Not all available libraries have been converted to show up in "Add Library...". If a library isn't there, it will need to be installed manually. Follow the How to Install a Contributed Library instructions on the Processing Wiki for more information.
Contributed libraries are developed, documented, and maintained by members of the Processing
community. For feedback and support, please post to the
Forum. For development discussions post to the
Create & Announce Libraries
topic. Instructions for creating your own library are on the
Processing GitHub site.
Compilation
Data
GUI
Geometry
Hardware
I/O
Language
Math
Simulation
Sound
Typography
Utilities
Video & Vision
3D
-
Picking
by Nicolas ClavaudPick an object in a 3D scene easily.
-
Patchy
by Jonathan FeinbergPatchy provides an easy-to-use bicubic patch for 3D Processing sketches.
-
iGeo
by Satoru Sugihara3D geometry library with packages of NURBS geometry, polygon mesh geometry, vector math, 3D display and navigation, 3D data file I/O and agent-based 3D geometry modeling.
Compilation
-
gicentreUtils
by Jo Wood and Aidan SlingsbyAssists creation of data visualization sketches.
-
GenerativeDesign
by Hartmut Bohnacker and Benedikt GrossCompilation of various functions belonging to the book GENERATIVE DESIGN (english), GENERATIVE GESTALTUNG (german) and DESIGN GENERATIF (french).
-
Hermes
by Ryan Lester, Chris Novello, Sam Eilertsen, and Jen KovnatsExperimental game framework and engine for rapid prototyping of games and simulations.
Data
-
GML4U
by Jerome Saint-ClairA Graffiti Markup Language library for Processing.
-
SFTP
by Daniel ShiffmanSFTP direct from Processing (using JSch)
-
Carnivore
by RSGSurveillance tool for data networks.
-
MapThing
by Jon ReadesA collection of classes for reading and displaying Shape files (a.k.a. ESRI shapefiles), CSV, and GPX data in a map-based sketch.
-
oscP5
by Andreas SchlegelAn Open Sound Control (OSC) implementation.
-
UDP
by Stephane CousotEnables simple UDP communication, as well as multicast support.
-
SoundCloud
by Darius MorawiecUnofficial Java library, which simplifies the use of the official SoundCloud Java API wrapper.
-
XlsReader
by Florian JenettA library to read from XLS (Excel) files
-
BezierSQLib
by Florian JenettA library to facilitate communication with SQL-based databases
-
Signal Filter
by Raphael de CourvilleFilter noisy and jittery signals.
-
Redis
by Darius MorawiecWrapper to use Redis in Processing. It's based on Jedis, a small Java client by Jonathan Leibiusky.
-
Temboo
by TembooGenerate code to connect to 100+ APIs, code utilities, and databases in Processing.
-
HTTP Requests for Processing
by Rune Madsen, Daniel ShiffmanHTTP Requests for Processing is a small library that takes the pain out of doing HTTP requests in Processing.
-
Unfolding Maps
by Till Nagel and othersCreate interactive maps and geovisualizations.
GUI
-
Guido
by Florian JenettA simple cross mode GUI library
Geometry
-
Geomerative
by Ricard MarxerExtends 2D geometry operations to facilitate generative geometry. Includes a TrueType font interpreter.
-
Hermes
by Ryan Lester, Chris Novello, Sam Eilertsen, and Jen KovnatsExperimental game framework and engine for rapid prototyping of games and simulations.
-
ComputationalGeometry
by Mark Collins & Toru HasegawaA simple, lightweight library for generating meshes such as isometric surfaces, boundary hulls and skeletons.
-
point2line
by Carl Emil Carlsen and Daniel Høier ØhrgaardBasic tools for calculating geometry in two dimensions.
Hardware
-
Sudden Motion Sensor
by Daniel ShiffmanInterface to the Apple Sudden Motion Sensor in MacBooks.
-
Arduino (Firmata)
by David A. MellisControls Arduino boards running the Firmata firmware.
-
Apple Light Sensor
by Martin RaedlingerInterface to the Light Sensor in MacBook Pro computers.
-
Ketai
by Daniel Sauter and j.duranAndroid library for working with sensors, cameras, multi-touch, networking, Bluetooth, WiFi Direct, Near Field Communication, and SQLite
-
LeapMotion
by Michael HeuerForwards Leap Motion controller events to a Processing sketch.
-
Leap Motion for Processing
by Darius MorawiecSimple library to use the complete Leap Motion API in Processing.
-
PixelPusher
by Jas Strong and Matt StoneSystem for controlling an unlimited number of LEDs.
I/O
-
Collada Loader for Google Sketchup
by Markus ZimmermannImporter for kmz and dae files created by Google Sketchup 8.0.16846 (latest Version) into Processing 2.0
-
ezGestures
by Elie ZananiriA modular gesture recognition library.
-
NXTComm Processing
by Jorge C. S. CardosoThe NXTComm Processing library allows you to control the Lego Mindstorms NXT robots.
-
IgnoCodeLib
by Paul HertzHierarchical display list for graphics and text with export to Adobe Illustrator 7.0 file format.
-
Tablet
by Andres ColubriTablet is a library for using pen tablets from Processing.
-
GifAnimation
by Patrick Meister (extrapixel)Play, import and export gif animations. Render to GIF!
-
VSync for Processing
by Maximilian ErnestusWill magically synchronize variables among Arduinos and your Processing sketch.
-
Game Control Plus
by Peter LagerUse joysticks, gamepads and other control devices in your sketch.
Language
-
RiTa
by Daniel C. HoweA library for experiments in natural language and generative writing (works in Java & JavaScript modes).
-
Eliza
by Andres ColubriThe classic Eliza psychologist program.
Math
-
papaya
by Adila FarukA collection of utilities for Statistics and Matrix-related manipulations
Simulation
-
Fisica
by Ricard MarxerA wrapper for JBox2D, a 2D physics engine.
-
Punktiert
by Daniel KoehlerParticle engine for local particle behaviors.
-
BRigid
by Daniel KoehlerBRigid provides classes for an easier handling of [jBullet] (http://jbullet.advel.cz/) in Processing
-
AI for 2D Games
by Peter LagerAn AI framework suitable for 2D games and simulations.
Sound
-
The MidiBus
by Severin SmithThe MidiBus is a minimal MIDI library for Processing, no frills, no limitations.
-
tactu5
by Alessandro CapozzoTactu5 aids in the creation of algorithmic music in real time. It consists of a set of classes focused on defining musical elements, utility classes and an aggregator.
-
Beads
by Ollie Bown, Benito Crawford, Ben Porter and Aengus MartinA library for adding flexible realtime audio to Processing sketches.
Typography
-
Geomerative
by Ricard MarxerExtends 2D geometry operations to facilitate generative geometry. Includes a TrueType font interpreter.
Utilities
-
ID3
by Jorge C. S. CardosoExtracts ID3 tags from Mp3 files.
-
Post To Web
by Yonas SandbaekUpload files to a web server, supported formats are pdf, png, jpeg, gif and tiff.
-
keystone
by David BouchardA collection of utilities for solving this and that problem.
-
Nest
by Eric SocolofskyScenegraph and mouse event handling system based loosely on ActionScript 3.0.
-
P8gGraphicsSVG
by Philippe LhosteAllows Processing to export the drawings of a sketch in SVG format.
-
$1 Unistroke Recognizer
by Darius MorawiecImplementation of the $1 Gesture Recognizer, a two-dimensional template based gesture recognition.
-
TimedEvents
by Jason GessnerA couple of classes for firing off timed events at regular or random intervals.
-
Executor
by Michael HeuerScheduled executor service for Processing.
-
Mother
by Ilias BergstromA library for live visuals performance with Processing sketches
-
CountdownTimer
by Dong Hyun ChoiA countdown timer which triggers callback events for each user-defined tick interval during the timer's duration.
Video & Vision
-
Open Kinect for Processing
by Daniel ShiffmanA Kinect implementation for Processing using open source drivers (libfreenect)
-
BlobDetection
by Julien 'v3ga' GachadoatComputer vision library for finding blobs in an image
-
OpenCV for Processing
by Greg BorensteinComputer vision with OpenCV.
-
BoofCV for Processing
by Peter AbelesProcessing interface for BoofCV.
-
Syphon
by Andres ColubriThis library allows to share frames between applications in OSX using the Syphon framework.