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.
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:
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.
$ brew install --HEAD