9 stable releases

2.2.0 Feb 15, 2021
2.1.0 Feb 15, 2021
2.0.1 Jan 18, 2021
2.0.0 Sep 27, 2020
1.1.0 Jun 17, 2020

#93 in Command-line interface

Download history 3/week @ 2021-02-03 148/week @ 2021-02-10 30/week @ 2021-02-17 1/week @ 2021-02-24 8/week @ 2021-03-03 3/week @ 2021-03-10 19/week @ 2021-03-17 18/week @ 2021-03-24 29/week @ 2021-03-31 10/week @ 2021-04-07 41/week @ 2021-04-14 9/week @ 2021-04-21 13/week @ 2021-04-28 11/week @ 2021-05-12 1/week @ 2021-05-19

101 downloads per month

MIT license


Build Status Latest Release Documentation


A safe rust wrapper for libuv.

Getting Started

Include libuv-rs as a dependency in your Cargo.toml:

libuv = "~1.0.0"

libuv-rs uses semantic versioning.

As of v2.0.1, libuv-rs supports the skip-pkg-config feature. This is passed to libuv-sys2 to skip searching for a local install of libuv via pkg-config and, instead, causes libuv-sys2 to build libuv from source.

You'll want to make sure to familiarize yourself with libuv by reading libuv's documentation. You can then familiarize yourself with libuv-rs by reading the examples and documentation.


libuv-rs strives to implement wrappers for all libuv functionality. However, some functionality was purposefully excluded as rust provides implementations of its own. That is: threads and synchronization (mutexes, locks, semaphores, conditional variables, barriers, etc).

If your rust project would benefit from libuv's threading or synchronization primitives, please file an Issue on github and I'll implement wrappers for it!

Cross-Platform Considerations

libuv-rs depends on libuv-sys2, which depends on bindgen. On Windows, bindgen requires rust's msvc toolchain.


~95K SLoC