Here's some awesome libraries and frameworks that work with or are built on top of pygame.
pygame_gui - gui elements for pygame.
pymunk - 2d physics library. Lots of examples, very well maintained.
Thorpy - a GUI library for pygame.
pyscroll - Scrolling maps. Fast scrolling images easy.
pyTMX - Reads Tiled Map Editors TMX maps. Can use a Map editor easily.
spritesheetlib - loading sprite sheets.
animation - Tasks and tweening using pygame groups. No framework needed to smoothly move sprites or execute things over time.
pyknic - collection of useful tools (tweening, animation, context, timing, fonts, spritesystem, skeleton, ...) for games.
pytmxloader - Map loader for tmx files
pygame-text - Greatly simplifies drawing text with the pygame.font module.
Wasabi2d - cutting edge python game framework.
pgzero - game framework built on top of pygame. Intended for education.
moderngl - Modern OpenGL bindings for python. pygame-menu - A menu for pygame, simple, lightweight and easy to use.
> Support for Metal, Direct 3d, Vulkan, OpenGL 3.0+ in various profiles (core, compatibility, debug, robust, etc), OpenGL ES, and other modern hardware accelerated video APIs across many platforms.
There's an important caveat: We provide an API for the SDL2 render system, and some functionality for up-scaling pixel art games on the GPU, but existing pygame 1.x games won't magically become faster by running on PyGame 2.0. They will be a little faster, because we have new, optimised blitting and drawing routines. To make use of GPU-based rendering, you will need to use the new APIs.
https://mdco2.mini.debconf.org/ https://wiki.debian.org/DebianEvents/internet/2020/MiniDebCo...
I would not recommend using Pygame to develop a serious game project. All of Pygame's provided functions use software rendering, so you won't be able to take advantage of the graphics card. More seriously, Pygame includes essentially none of the features that come out of the box in a modern game engine, so you have to do things like write the event loop yourself and find your own solutions to physics and animation and figuring out which UI element is currently under the mouse cursor. Great for learning how that stuff works, not great for getting a high-quality game shippable.