Crazy Eights
Here is a Python implementation of the card game commonly known as Crazy Eights, using the SDL-based pygame framework. I have designed it around a client-server model using a custom UDP-based network protocol, to be able to support multiplayer. It's possible to play in singleplayer, but the server still needs to be started, and the client simply connects to localhost. The game is always played with four players, and the remaining positions will be filled by bots.
The rules of the game are of the simplest variant. A player who puts an eight on the table does not get to decide the next suit, meaning the eight only acts as a universal (always allowed) card.
The source code is released under a MIT license and can be downloaded here.
Here's a screenshot: