napframework/nap

NAP Framework: real-time control & visualization platform

What it solves

NAP is a low-overhead, real-time control and visualization platform designed to help developers create responsive applications that interact with the physical world. It simplifies the process of scaling applications to handle a large number of input and output devices, such as sensors, servos, lights, displays, and speakers.

How it works

NAP uses a data-driven architecture influenced by modern game engine design. It is built to be modular and lean, allowing developers to package only the components they actually need. The framework is cross-platform (supporting Windows, Linux, and Raspberry Pi) and supports hot-loading of content changes into running applications for faster iteration.

Who it’s for

It is designed for developers creating interactive installations, robotics, or audiovisual systems that require high-performance, real-time control of hardware and media.

Highlights

  • Comprehensive Module Library: Includes a Vulkan 2D/3D render engine, Vulkan Compute, a multi-channel audio engine, and a video player powered by FFmpeg.
  • Broad Protocol Support: Built-in support for WebSocket, MIDI, OSC, Artnet, Serial, EtherCAT, OpenCV, and SQLite.
  • Flexible Deployment: Runs on everything from low-power ARM devices like Raspberry Pi 4/5 to high-end industrial PCs.
  • Python Interface: Provides a Python programming interface for easier application development.

Related

  • Project
  • Project
  • Project
  • Project
  • Project