Ну, сама Pygame - это, по сути, оболочка Python для вызовов SDL. Я думаю, что по сути вы просто обернули бы упаковку.
Вы всегда можете создать свой собственный API-интерфейс адаптера, но что конкретно в API Pygame вам настолько не нравится, что вы чувствуете, что должны отделить его от своего кода?
Я думаю, что ваши общие методы, такие как пользовательское обнаружение столкновений, могут быть выделены в его собственный модуль движка, по сути, отделяя его от остальной части вашего игрового кода, но, по сути, вы просто используете этот подход поверх Pygame, не оборачивая это.
EDIT:
Так же, как продолжение теперь, когда вопрос изменился. Короткий ответ, нет, я не знаком с любым. Возможно, вы захотите посетить форумы Independent Gaming Source , эти люди кажутся достаточно осведомленными. Просто убедитесь, что вы публикуете ответы, которые найдете здесь.
Длинный ответ, вполне возможно, что пространство "движка" между Pygame, который обрабатывает вызовы SDL, и я думаю, что некоторая дополнительная логика (например, обнаружение столкновений), и сам код игры слишком малы, чтобы кто-то мог написать универсальную библиотеку для него. Существенно разные типы игр имеют разные требования к движку, и общие части движка, которые являются общими для всех типов игр, как представляется, покрываются самой Pygame.
Если вы написали RTS-игру в Pygame, то вы наверняка могли бы отделить RTS-движок от игровой логики, это, вероятно, помогло бы вашему общему дизайну, разделив проблемы. Кроме того, возможно, стоит выпустить этот движок, чтобы другие люди, желающие написать RTS в Pygame, могли извлечь из этого пользу.