When comparing pygame vs Duality, the Slant community recommends pygame for most people. In the question“What are the best 2D game engines?” pygame is ranked 16th while Duality is ranked 30th. The most important reason people chose pygame is:
Pygame uses Python as its scripting language. Python is widely considered one of the easiest languages to grasp even for beginners.
Specs
Ranked in these QuestionsQuestion Ranking
Pros

Pro Easy Python syntax
Pygame uses Python as its scripting language. Python is widely considered one of the easiest languages to grasp even for beginners.
Pro Very easy to understand
The API is very straightforward.
Pro Good canvas system
Pygame has a drawing system that allows the user to create and draw on an unlimited number of canvases.

Pro Open source
The full source code is available on GitHub, where the framework is actively developed. All of the editor, core and plugin code is written in C#.

Pro Great editor
Duality includes a powerful visual editing system that can be used for previewing, integrating, editing and testing game content.

Pro Live reload of code and assets

Pro Very extensible
Because both Core and Editor are completely plugin-based, Duality not only incorporates a clean and modular design, but is also very extensible - even if it wasn't Open Source. In fact, most of the standard editing capabilities comes in form of Editor plugins.

Pro Built-in physics and lighting

Pro Friendly to version control systems
It can be configured to serialize all data in a text-based format, which has been structurally optimized for version control systems.

Pro Used in commercial projects
It has been used in a production environment without burning the place to the ground. Supposedly artist-proof editor workflow with an API for tailoring the system to fit your team.
Cons

Con Deathly slow
Con Nonexistent community
No good forums, wiki, or other ways to reach other Pygame developers.
Con Very basic
Pretty much just a wrapper for SDL.
Con Pygame is a multimedia framework, not a game engine
Physics, AI and networking are not supported.
Con Messy documentation
The docs are messy, and some basic functions are infuriating to work out. There's even some places in the documentation where it's clearly wrong about how a method is called/what the arguments really do.
Con Outdated
Pygame uses a really old version of SDL and is missing some of the features developed for SDL2.
Con Hasn't been updated in years
Hasn't been updated in years.
Con Visual Studio required
To have possibility for scripting you have to download entire Visual Studio and spend 10 GB of free space
Con Requires windows for development
