Skip to main content

Python interface for libuv

Project description

pyuv is a Python module which provides an interface to libuv. libuv ( is a high performance asynchronous networking library, used as the platform layer for NodeJS (

libuv is written and maintained by Joyent Inc. and contributors. It’s built on top of libev and libeio on Unix and IOCP on Windows systems providing a consistent API on top of them.

pyuv’s features:

  • Non-blocking TCP sockets

  • Non-blocking named pipes

  • UDP support

  • Timers

  • Child process spawning

  • Asynchronous DNS (gethostbyname, getaddrbyname, getnameinfo, getaddrinfo)

  • Asynchronous file system APIs

  • High resolution time

  • Thread pool scheduling

  • ANSI escape code controlled TTY

  • File system events (initify style)

  • IPC and TCP socket sharing between processes





Mac OSX:

(XCode needs to be installed) export CC=”gcc -isysroot /Developer/SDKs/MacOSX10.6.sdk” export ARCHFLAGS=”-arch x86_64” ./build_inplace

Microsoft Windows:

(MinGW and MSYS need to be installed) ./build_inplace


Saúl Ibarra Corretgé <>


Unless stated otherwise on-file pyuv uses the MIT license, check LICENSE file.


Check TODO file.

Python version

Python >= 2.6 is supported. Yes, that includes Python 3 :-)


If you’d like to contribute, fork the project, make a patch and send a pull request. Have a look at the surrounding code and please, make yours look alike :-)

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyuv-0.5.0.tar.gz (1.1 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page