Comments 15
Asyncio корректнее сравнивать с тредами, а не синхронностью
В питоне requests спокойно может работать в 10 потоков (паралельно) через concurrency.threads.ThreadPoolExecutor, без необходимости использования asyncio
Фишка asyncio в том, что он использует корутины, а они дешевле тредов, поэтому лучше использовать их
Asyncio - single-threaded (однопоточный), поэтому он всяко дешевле, но он и не обладает способностью к параллелизму.
Питон в целом не обладает способность к параллелизму.
А как же 3.14?
Ох, тотально не соглашусь. Да, у Питона в целом проблемы с параллелизмом, но тем не менее, он есть.
Как уже подметили, 3.12 - 3.14 привнес FT, так что уже и треды в настоящий параллелизм можно ударить. Хотя до 3.14 его смысла использовать не было.
Но и без новых Питонов были возможности. Например, многопроцессность, пускай и обмен между процессами туго идет.
Да и в тредах GIL, конечно, накидывал всякой субстанции на вентилятор параллелизма, но умел в ряде условий I/O-bound задач действовать параллельно.
Это не говоря о реализациях Питона и сишных вставках.
Да, не совсем уж Питон в версиях до 3.14 рассчитан на параллелизм, где-то костыльно даже, но возможности все-таки есть. А после появления 3.14... ух.
Конечно вопрос риторический, но что это за новый уровень я не понял
FastAPI офигенный. Недавно с ним познакомился, пока в восторге от него)
Кстати в ТГ есть чатик по нему @fastapi_ru
Там прям иной раз разборки идут)
Пару лет назад у FastAPI было ... мягко скажем, проблемы с безопасностью. Как сейчас с этим обстоят дела?
даже стало интересно что это за проблемы с безопасностью у FastAPI?
Помнится пару лет назад было очень много незакрытых уязвимостей
Ну коммон, я уточняющий вопрос задал как раз чтобы получить хоть какую-то конкретику, а не повторение голословного утверждения. Уязвимости выявляются у всего подобного софта, популярные без проблем их закрывают, про какие-то "проблемы с безопасностью" у FastAPI я не слышал, учитывая что он у меня в проде, больше чем 2-3 года.
Я извиняюсь, но у меня нет подробностей, не помню. Насколько лет назад я выбирал легковесный фреймворк на питоне для очередного проекта на галере, и тогда я выбрал Flask, ибо у FastAPI тогда в гит репозитории было до хрена не принятых пулл-реквестов, связанных именно с безопасностью. Я понимаю, что время не стоит на месте и все меняется, поэтому и спросил, как там обстоят дела. Возможно вас смутило мое выражение "пару лет", я не имел ввиду буквально последние два года.
Советую ещё присмотреться к Litestar. Всё то же, что и в FastAPI, только больше. Это как внебрачный ребёнок FastAPI и Django.
К FastAPI гвоздями прибит Pydantic, а в Litestart используй что хочешь, например msgspec, из-за которого увеличивается скорость сериализации/десериализации.
Ещё он топит за аннотации. В FastAPI многие методы можно не покрывать аннотациями и код работает, а Litestar бъёт по пальцам пока не исправишь
5 библиотек Python, которые выведут вас на новый уровень. Часть 2