Submitted by Dave Dribin:
libRETS is cross-platform RETS client library written in C++. libRETS is under an open-source license. libRETS provides an abstraction layer making it easier for developers to get started in RETS. Developers can use libRETS as the basis for RETS clients on Windows, Mac OS X, Linux, and other operating systems.
Features
- Provides access to login, logout, search, and get object.
- Can be accessed from many platforms, including Visual C++ on Windows, and gcc on just about any flavor of Unix.
Version 1.0.0 beta 2 has been released:
http://www.crt.realtors.org/projects/rets/librets/
Changes in this version:
- Add support for SQL quoted literals.
- Add support for SQL table aliases.
- Add support for SQL IN clause.
- Fix bug parsing 512-byte XML documents.

Maybe it’s just me, but if you have a phrase like “easier to get started in RETS”, you might go ahead and link to a RETS definition, post, article, etc.
That way those of us who don’t know what a RETS is will know why one might want an abstraction layer to it.
Yes, I know, Google is my friend.
That’s a good point John, we’ll try to correct that next time we post about RETS.
Could you provide examples using PHP like the two C++ examples provided on the web site?
Nope, at this time there is no way to call out to the libRETS library from PHP. It is only accessable from C++. Final-release version 1.0 of libRETS will be C++ only.
However, in libRETS 1.1 we plan to support wrappers to different languages. We have done some preliminary tests of being able to call libRETS from C#, Ruby, and Perl. This all comes to us through the magic of swig. We feel confident that in libRETS 1.1 we’ll be able to offically support those languages as well as other languages that swig supports such as Python and PHP.
PHP is a tricky one, though, as most hosting providers don’t allow users to load shared libraries, and this will be a requirement to make libRETS work in this manner.
CRT already has a RETS API in 100% PHP code that is contained in the Retriever and vieleRETS projects. Because this exists, wrapping libRETS for use in PHP is not as high priority as the other languages.
Work is being down to break the RETS core out into a seperate project. Currently, to get started with the RETS PHP API, we suggest downloading vieleRETS and looking at/using the RETSWrapper class in the
common/sitedirectory.You make a excellent point with an API already in PHP code no need urgent need to be able to use the libRETS API.
It would be nice to see…. documentation or even better a few PHP examples on how to use and call the Retriever or vieleRETS API to do a few key things like: Logon, send a Query, and Retrieve the data in a delimted form.