Sorry, perhaps I haven't described the problem well first time. All your answers are interesting, but most of them are almost full-featured web browsers, my task is much simpler.
I'm planning to write a GUI application using one of the available on linux GUI frameworks (I haven't yet chosen one). I shall use html in my application to render into one of my application frames text with some attributes — different fonts etc, which are stored in CSS.
The HTML shall be generated by my application, so the only task is to render a HTML / CSS string. Is there any widget which can do only that render and nothing more — no history, no bookmarks, no URL-loading etc? If there isn't I shall use one of those you advised — it's ok — but I'm just interested if there is just an html-renderer without any extra features.
Flying Saucer Project -- an XHTML renderer.
No, it's not Python. It's -- however -- trivially called from Python.
You should use a UI framework:
An other option is to open the OS default web browser through something like this:
You can find more info about the webbrowser module here. I think that the simplest way would be to use the os browser if you are looking for something very light-weight since it does not depend on a framework and it would work in all platforms. Using Tk may be an other option that is light and will not require to install a 3rd party framework.
Maybe HulaHop could be interesting for you (can also be combined with Pyjamas). The Mozilla Prism Project might also be relevant.