cssselectpatch will break in lxml 2.4
I see that pyquery uses internal, undocumented objects from lxml.cssselect to monkey-patch them and add support for additional pseudo-classes.
This will break with lxml 2.4 (not released yet.)
I recently took over cssselect and made it an independent project: http://packages.python.org/cssselect/
In 2.4, lxml.cssselect becomes a thin wrapper around the external cssselect, with most of the internal objects gone.
The good news is that the new cssselect can be used with any lxml version (before or after 2.4) if you avoid lxml.cssselect and use XPath explicitly. It also introduces "translator" classes that can be inherited from to add pseudo-classes or change the existing ones, without monkey-patching. pyquery is the typical use case.
Although I don’t have a patch, I think it would be very straightforward to adapt the current cssselectpatch to the new cssselect. The details are in the documentation (and mostly in the source) but I can help if you want.