When comparing pyglet vs Gosu, the Slant community recommends pyglet for most people. In the question“What are the best 2D game engines?” pyglet is ranked 43rd while Gosu is ranked 50th. The most important reason people chose pyglet is:
Since pyglet is so tightly woven with OpenGL it allows the support of drawing in 3D.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro 3D support
Since pyglet is so tightly woven with OpenGL it allows the support of drawing in 3D.
Pro Cross-platform
Works with Windows, Linux, and OS X.
Pro Written in pure Python
A small advantage, but being a core Python developer, it may be the best to stick to the roots and develop with pyglet as it is able to compile using other Python interpreters.
Pro Lightweight
Gosu is not a game development framework, only a media library that happens to be suited to game development. (Kind of like SDL in the C world.) That means the interface is relatively small.
Pro Mature API, actively maintained and developed
Gosu has been under development since 2001. It is mature and has several toolkits built on top of it to provide additional functionality.
Pro Cross-platform, even mobile, using Ruby
Cons
Con Small community/popularity
There is a decent amount of documentation and API to go along with pyglet, but in terms of community support there seems to be very little.
Con Deploying Ruby apps is a mess
Games built with the Ruby to .exe "compiler" do nothing more than extract your source code and Ruby.exe to %TEMP%, then run it. The code is not really compiled at all. The process for wrapping games as Mac apps is a bit nicer, but you'll need a paid Apple Developer subscription to code sign the app, or users will see a warning/error when running your game.
The only way to really compile Ruby is to use RubyMotion, which does not work on Windows and requires a paid subscription on top of the Apple Developer one.
(This Con is not specific to Gosu. Deploying Ruby code has never been fun.)