@magurp: True, though I get the feeling he'll try this way, and either (a) conclude that it's too hard and will switch to something easier (bgt comes to mind as the go-to easy language), or (b) he'll stick with this way, because it works and the correct way is "weird".
I think your right about the clock ticking bit not (technically) being essential, but (in my admittedly limited experience), all but the simplest games will need a "frame rate" to schedule even the most basic of physics (gravity comes to mind), as well as automatic enemy movement and any number of other things that depend on a consistent ticking.
To the original poster: Just try examples. I don't care if you think decorators are weird - if you've read the documentation you should know you don't even need to use them, (assuming you know how to use class inheritance or can follow examples). There is plenty of material (tutorials, how-tos, explinations on how using them works) for decorators online, but as I mentioned, you don't really need to use them at all.
As for why I like pyglet? I like the event framework. I like that I can create events in my classes for in-game objects that allows code to "subscribe" to their events. It makes it really easy to have lots of things happen without specifically calling methods to do those things.
As a basic example, take a stationary item called a switch. When a player "uses" that switch, the use method only needs to dispatch, say, an on_use event. Any code that wants to run when that switch is used only needs to tell the event handler so, either by a decorator, or by calling a register method specifying which instance and event, or by pushing a class with lots of events relating to that switch on top of the event stack.
If i want to update that switch so that more things happen when it's used, all I need to do is register the the desired code as a handler for whatever instance and event I want.
It also has really convenient keyboard, mouse, and joystick functions, though I haven't really messed with pygame so I can't compare them.
Regards,
Blademan
Twitter: @bladehunter2213