Favicon of libuv

libuv

Cross-platform asynchronous I/O library providing event loops, sockets, file operations, and threading primitives for Node.js and other applications.

Other

libuv is a multi-platform support library focused on asynchronous I/O operations. Originally developed for Node.js, it powers numerous projects including Luvit, Julia, uvloop, and many others seeking robust, cross-platform I/O handling.

Core Capabilities

The library delivers a comprehensive event loop backed by platform-specific mechanisms (epoll on Linux, kqueue on BSD/macOS, IOCP on Windows, and event ports on Solaris). Key features include:

  • Network operations: Asynchronous TCP and UDP sockets with full-featured event handling
  • File system: Asynchronous file operations and file system event monitoring
  • DNS resolution: Non-blocking domain name lookups
  • Process management: Child process spawning and management with signal handling
  • Threading: Thread pool, synchronization primitives, and high-resolution timing
  • IPC: Inter-process communication via Unix domain sockets or Windows named pipes
  • Terminal control: ANSI escape code support for TTY manipulation

Technical Strengths

The library maintains semantic versioning with stable ABI across major releases, ensuring compatibility for long-term projects. Written entirely in C, it provides minimal overhead and maximum portability. The codebase includes comprehensive tests and benchmarks that serve as both validation and usage examples.

Building is straightforward with support for autotools and CMake, plus convenient package managers like Homebrew, vcpkg, and Conan. Extensive documentation is available online with multiple format options, supplemented by community resources and learning materials.

Install

Brew
$ brew install --HEAD

Features

Async I/OScriptable

Media

Pros

4
  • Provides a robust event loop for asynchronous operations.
  • Supports various I/O operations including sockets, file system, and threading.
  • Cross-platform compatibility for Node.js and other applications.
  • Used by multiple popular projects like Node.js and Julia.

Related tools

Share:

Auto-fetched .

Recent releases

Similar to libuv

Favicon

 

  
 
Favicon

 

  
 
Favicon