Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

nannou-org/nannou

A Creative Coding Framework for Rust.

nannou-org/nannou.json
{
"createdAt": "2017-09-01T13:07:25Z",
"defaultBranch": "master",
"description": "A Creative Coding Framework for Rust.",
"fullName": "nannou-org/nannou",
"homepage": "https://nannou.cc/",
"language": "Rust",
"name": "nannou",
"pushedAt": "2026-07-07T18:40:49Z",
"stargazersCount": 6724,
"topics": [
"creative-coding"
],
"updatedAt": "2026-07-11T23:48:11Z",
"url": "https://github.com/nannou-org/nannou"
}

nannou_logo

An open-source creative-coding toolkit for Rust.

nannou is a collection of code aimed at making it easy for artists to express themselves with simple, fast, reliable, portable code. Whether working on a 12-month installation or a 5 minute sketch, this framework aims to give artists easy access to the tools they need.

The project was started out of a desire for a creative coding framework inspired by Processing, OpenFrameworks and Cinder, but for Rust. Named after this.

nannou is built on the Bevy game engine. Its crates are exposed as a set of Bevy plugins, so nannou’s familiar sketch/app API and Draw interface can be used on their own or dropped into any Bevy application.

123

It is still early days and there is a lot of work to be done. Feel free to help out!

The following collection of examples are a great way to get familiar with nannou.

DirectoryDescription
[examples/]!(./examples)A collection of examples demonstrating how to use nannou!
[generative_design/]!(./generative_design)Examples from Generative Gestaltung, ported from p5.js to nannou.
[nature_of_code/]!(./nature_of_code)Examples from Nature of Code, ported from Processing to nannou.

If you spot an example that interests you, you may run it with the following:

cargo run --release --example <example_name>

where <example_name> is the example’s file name without the .rs. Note that the first run might take a while in order to build nannou first, but consecutive runs should be much quicker.

The following nannou libraries are included within this repository.

LibraryLinksDescription
[nannou]!(./nannou)Crates.io docs.rsApp, sketching, graphics, windowing and UI.
[nannou_audio]!(./nannou_audio)Crates.io docs.rsAudio hosts, devices and streams.
[nannou_core]!(./nannou_core)Crates.io docs.rsJust-the-core for headless, embedded and libraries.
[nannou_draw]!(./nannou_draw)Crates.io docs.rsThe Draw API for 2D and 3D graphics.
[nannou_isf]!(./nannou_isf)Crates.io docs.rsAn Interactive Shader Format pipeline.
[nannou_laser]!(./nannou_laser)Crates.io docs.rsLASER devices, streams and path optimisation.
[nannou_midi]!(./nannou_midi)Crates.io docs.rsSimple MIDI input and output.
[nannou_osc]!(./nannou_osc)Crates.io docs.rsSimple OSC sender and receiver.
[nannou_video]!(./nannou_video)Crates.io docs.rsVideo decoding and playback.
[nannou_webcam]!(./nannou_webcam)Crates.io docs.rsCross-platform webcam capture.
[nannou_wgpu]!(./nannou_wgpu)Crates.io docs.rsWGPU helpers and extensions.