Favicon of notcurses

notcurses

High-performance TUI library for C and Python with 24-bit color, images, video, and advanced graphics on modern terminal emulators.

Notcurses is a powerful library for building visually rich terminal user interfaces and character graphics on modern terminal emulators. Unlike traditional curses libraries, it's designed from the ground up to leverage contemporary terminal capabilities while maintaining graceful degradation on older systems.

Key capabilities include:

  • Rich visual features: 24-bit color support, images, video playback, sprites, and transparent regions
  • Full Unicode support: Built around Unicode Extended Grapheme Clusters for proper text handling
  • Multimedia graphics: Portable bitmapped graphics using Sixel, Kitty, and Linux framebuffer protocols
  • Thread-safe design: Efficient parallel programming support from the ground up
  • Dual modes: TUI mode for high-performance full-screen applications and CLI mode for scrolling utilities
  • Advanced input handling: Support for unambiguous keyboard protocols
  • Cross-platform: Runs on Linux, FreeBSD, macOS, and Windows

Notcurses achieves exceptional performance and enables visual effects impossible with NCURSES. The library uses a clean API with prefixed identifiers to avoid namespace collisions and leverages header-only code for compiler optimizations. It's available for both C and Python, with community wrappers for additional languages including C++, Rust, Ada, Dart, and Julia.

The project includes comprehensive documentation, a free guidebook, and numerous examples demonstrating its capabilities. It's licensed under Apache 2.0 for complete freedom in your projects.

Features

Async I/OScriptableTrue color

Terminal features

Kitty graphics protocolKitty keyboard protocolSixel graphics

Media

Pros

4
  • Supports 24-bit color and advanced graphics.
  • Natively supports Unicode and Extended Grapheme Clusters.
  • Thread-safe and efficient for parallel programming.
  • Portable support for bitmapped graphics (Sixel, Kitty, framebuffer).

Cons

2
  • Not a drop-in replacement for NCURSES.
  • May break on older hardware due to assuming modern terminal capabilities.

Related tools

Categories:

Share:

Auto-fetched .

Recent releases

Similar to notcurses

Favicon

 

  
 
Favicon

 

  
 
Favicon