Skip to content
vic

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": "2025-11-13T02:18:40Z",
"stargazersCount": 6427,
"topics": [
"creative-coding"
],
"updatedAt": "2025-11-27T01:31:42Z",
"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.

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_egui]!(./nannou_egui)Crates.io docs.rsFor creating egui UIs in nannou apps.
[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_mesh]!(./nannou_mesh)Crates.io docs.rsAPI for composing meshes from channels.
[nannou_osc]!(./nannou_osc)Crates.io docs.rsSimple OSC sender and receiver.
[nannou_wgpu]!(./nannou_wgpu)Crates.io docs.rsWGPU helpers and extensions.

A couple of tools are also included, though there some issues we would like to address before we can recommend using them just yet!

ToolLinksDescription
[nannou_new]!(./nannou_new)Crates.ioA nannou project generator.
[nannou_package]!(./nannou_package)Crates.ioFor packaging nannou apps for distribution.