Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

simple lua wrapping of libuv

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Makefile
Octocat-spinner-32 TODO.txt
Octocat-spinner-32 swiglite
Octocat-spinner-32 swiglite-lua
Octocat-spinner-32 uv_wrap.c
Octocat-spinner-32 uv_wrap.swiglite-lua
Octocat-spinner-32 uv_wrap_gen.c

uv - simple lua wrapping of libuv.

libuv is the O/S independent platform core of node.js and handles issues like networking and file I/O. Now, the goodness of libuv is now available for lua. See for more information on libuv.

The libuv wrappers in this project are rather low-level, where the mechanical exposure of libuv API's to lua are pretty true to libuv's original C API's.

The wrappings are tested against (at least) lua 5.1.4 and luajit 2.0.0-beta8.



The swiglite tool uses ruby, rubygems and ERB.

And, you'll need lua 5.1.4 'make install'ed.

Easy Approach

The easy way is to have libuv as a sibling directory. For example...

git clone git://
cd libuv && make
cd ..
git clone git://
cd uv && make

Then, you can test the included echo server...

lua test/echo_server.lua

Or, you can also use luajit instead of lua...

luajit test/echo_server.lua

In a separate terminal, a client will receive echo'ed strings...

telnet 11700
> hello
< hello

Development notes

The uv wrappers use the (included) "swiglite" tool, which is implemented in ruby.


Apache License Version 2.0

Something went wrong with that request. Please try again.