В комментарии к другому ответу вы говорите: «Каждая библиотека должна иметь ...».«Предполагается» кем?Использование прецедентов, безусловно, хороший способ закрепить ваши требования, но это не единственный способ.Также не имеет смысла говорить о сценариях использования для всех Twisted одновременно.Не существует варианта использования, который оправдывал бы каждый API в Twisted.Существуют сотни или тысячи различных вариантов использования, каждый из которых оправдывает меньшее или большее подразделение Twisted.Они приходили и уходили за годы развития Twisted, и не было предпринято никаких попыток сохранить их список.Я могу сказать, что я работал над частью Twisted Names, чтобы у меня была тема для статьи, которую я представлял в то время.Я реализовал парсер vt102 в Twisted Conch, потому что я одержим терминалами и хотел получить интересный проект с их участием.И я реализовал поддержку IMAP4 в Twisted Mail, потому что работал в компании, разрабатывающей почтовый сервер, который требовал более жесткого контроля над почтовым хранилищем, чем любой другой сервер IMAP4 в предложенное время.различные части Twisted были написаны по разным причинам (и я привел только примеры моих собственных причин, а не причин других разработчиков).
Первоначальная причина написания программы часто не имеет большого значения в долгосрочной перспективе.Теперь код написан: Twisted Names теперь запускает DNS для многих доменных имен в Интернете, парсер vt102 помог мне получить работу, а компания, которая вела разработку IMAP4, прекратила свою деятельность.Что действительно важно, так это то, какие полезные вещи вы можете сделать с кодом сейчас .Как указывает МэттХ, в результате множество функций привело к созданию библиотеки, которая (возможно, уникально) решает широкий круг интересных проблем.