gtk-vnc is a VNC viewer widget for GTK. It is built using coroutines allowing it to be completely asynchronous while remaining single threaded. It provides a core C library, and bindings for Python (PyGTK).
The API is still in early stages of development & so until version 1.0 is declared, the API may change. The primary public API is provided by the vncdisplay.h class & should be reasonably free of API churn. The other header files are internal VNC protocol implementation & will very likely change.
GTK-VNC supports a number of VNC extensions aimed at improving the user experience, particularly when interacting with virtual machines.
Released versions can be found at GNOME FTP servers: http://download.gnome.org/sources/gtk-vnc
You can check out the current development snapshot using:
git clone git://git.gnome.org/gtk-vnc
If you have a GNOME SSH account:
git clone ssh://USERNAME@git.gnome.org/git/gtk-vnc