Dave,

have you looked at MiniLZO?

http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html

It's a small C library and the webpage even shows a Python wrapper for
it.

I've used MiniLZO on a C/C++ project without problems in a
multi-threaded environment.

I'm not sure how easy it would be to rewrite in Ruby

Pete
----
Pete McBreen, McBreen.Consulting , Cochrane, AB
email: petemcbreen / acm.org    http://www.mcbreen.ab.ca/
Software development is meant to be fun,
     if it isn't the process is wrong