Little 3D engine I made using pygame and my limited knowledge of 3D rendering. It can render STL files and transform loaded models dynamically.
On my machine, it can handle around 200 triangles (or 600 edges) at 60 fps. (As this is pure python and pygame, it does not use the GPU).
Left: 3D object in Blender; Right: the same object rendered by the engine!
Feel free to ask any questions :)