Hi Gábor,
Currently, pyglet has no built-in shader classes. This is something I would also like to see included in the future. I did start working on an implementation myself (just frag/vertex shaders for a start), but Gabe Dube released a very nice shader library for pyglet here:
https://github.com/gabdube/pyshadersand also a nice gl buffers library here:
https://github.com/gabdube/pyglbuffersAs you can see though, there is no geometry shader support yet in his libraries, although it is on the TODO list.
There are a few reasons why nobody got around to this yet. Pyglet recently went through an upgrade to a dual Python2/3 compatible codebase. Because of that, most of the commits happening in the last months/years have been bugfixes and only minor feature additions.
The other reason, and perhaps the main one, is that pyglet's internal graphics module is mainly written around "classic" OpenGL. It's a really awesome module, but won't work if you request a newer OpenGL context.
I think we're already reaching the point where it makes sense to update the graphics module to at least OpenGL 3.x profile, including some simple vertex/fragment shaders that mimic the current needs of the built-in sprite and text modules, so that it can remain easy to use for novice users.