Расскажу о том, как писать свои библиотеки, совместимые с чем-то из стандартной библиотеки Python:
- Фиксируем протокол и убеждаемся, что под него подпадает "официальная" реализация.
- Пилим свои реализации протокола.
Расскажу про 2 свои библиотеки, которые расширяют то, что уже есть в стандартной библиотеке:
1. https://github.com/pomponchik/locklib - расширение возможностей мьютексов из стандартной библиотеки. Содержит универсальный протокол лока + реализации.
2. https://github.com/pomponchik/emptylog - расширение стандартного логгинга. Содержит универсальный протокол логгера + несколько его реализаций.