Команда Python for Devs подготовила перевод ежегодного обзора экосистемы Flask от Miguel Grinberg. Автор подробно разбирает, каким оказался 2025 год для фреймворка: замедление разработки, минимум релизов, снижение активности сообщества и растущую конкуренцию со стороны FastAPI.
Активность проекта
Прежде чем переходить к цифрам, считаю нужным уточнить: при подготовке отчётов, которые вы увидите в этой статье, я не использовал большие языковые модели (LLM) или другие генеративные AI-инструменты. Соответственно, вероятность того, что я показываю вам «галлюцинированные» данные, равна нулю. При этом вероятность того, что я где-то ошибся, не равна нулю, так что, пожалуйста, проверяйте мои расчёты и, если заметите ошибки, сообщите мне — я их исправлю.
Итак, перейдём к делу. За весь 2025 год проект Flask выпускался всего два раза, и оба релиза были патч-релизами к версии 3.1.0, которая вышла в ноябре 2024 года. Коротко говоря, в 2025 году с Flask происходило очень немногое.
Чтобы поместить это в контекст, ниже приведена таблица с релизами, начиная с 2018 года — года выхода версии 1.0.0:
Год | Major.Minor | Количество патч-релизов | Всего релизов |
|---|---|---|---|
2018 | 1.0 | 4 | 5 |
2019 | 1.1 | 3 | 4 |
2020 | 2 | 2 | |
2021 | 2.0 | 4 | 5 |
2022 | 2.1, 2.2 | 6 | 8 |
2023 | 2.3, 3.0 | 6 | 8 |
2024 | 3.1 | 3 | 4 |
2025 | 2 | 2 |
Но, разумеется, релизы не рассказывают всей истории. Я также люблю смотреть на активность на GitHub, чтобы понять, как в целом обстоят дела с проектом. Ниже — таблица с количеством pull request’ов, которые были объединены по годам, также начиная с 2018 года:
Вероятно, в этой таблице не учтено небольшое количество коммитов, которые были сделаны напрямую, а не через pull request’ы, но при беглом просмотре истории коммитов не создаётся впечатления, что мейнтейнеры Flask часто так делают. Поэтому я считаю, что эта таблица достаточно точно отражает активность проекта и подтверждает нисходящий тренд, который я уже отмечал в прошлогоднем обзоре.
В этот раз я также решил посмотреть на pull request’ы, которые были закрыты без мерджа.
И это выглядит весьма любопытно. Исторически доля всех pull request’ов, которые в итоге закрывались без мерджа, держалась примерно на уровне 30%, но в 2025 году она подскочила до 72%. Одно из возможных объяснений такого резкого роста заключается в том, что мейнтейнеры Flask считают проект в целом завершённым и потому менее заинтересованы в принятии вкладов от сообщества.
Другое объяснение — в том, что в 2025 году многие разработчики начали использовать генеративные AI-инструменты для создания pull request’ов. Это новый тренд, который я заметил и в своих собственных проектах. Такие pull request’ы почти всегда оказываются плохими, а авторы, которые их присылают, не имеют ни интереса, ни знаний, чтобы довести их до приемлемого состояния. Один из примеров, подтверждающих эту гипотезу, — простая проблема в документации. Для неё сейчас существует один открытый pull request, ожидающий ревью от мейнтейнеров, но я насчитал семь закрытых PR от людей, которые присылали свои собственные варианты исправления, причём большинство из них были созданы уже после текущего, находящегося в работе, и ни один из них корректно не решал описанную проблему.
Что нового в Flask
Для Flask это был чрезвычайно медленный год, так что по-настоящему нового и интересного здесь почти нечего отметить. Есть исправление проблемы, из-за которой stream_with_context не работал в асинхронных маршрутах. Помимо этого, было сделано несколько правок, связанных с типизацией Python, а также изменён порядок, в котором пробуются ротируемые секретные ключи. Изменения, попавшие в Werkzeug в течение 2025 года, также были незначительными и столь же малоинтересными.
Я просмотрел список из 43 pull request’ов, которые были замёржены в 2025 году в проектах Flask и Werkzeug, чтобы понять, не найдётся ли там чего-нибудь достойного упоминания, что не отражено в списках изменений или, возможно, ещё не выпущено. И пару любопытных моментов всё-таки удалось найти.
В обзоре за 2024 год я писал о планах объединить контексты приложения и запроса в единый контекст. Это изменение уже реализовано и войдёт в релиз 3.2.0, дата которого пока не объявлена. В целом моё отношение к этому нововведению можно выразить тремя буквами: «meh». Это крупное внутреннее изменение, которое упрощает и перерабатывает логику работы с контекстами, но для пользователей Flask, по крайней мере на первый взгляд, оно не приносит каких-то ощутимых преимуществ. По крайней мере, я их не вижу.
У этого изменения есть и хорошие, и плохие новости. Хорошая новость в том, что для предстоящего релиза 3.2 запланированы лишь минимальные изменения во внешнем поведении. Функции контекста запроса были перенесены в контекст приложения, но в версии 3.2 контекст запроса всё ещё будет существовать, хотя и в статусе deprecated. Вы можете увидеть предупреждения о депрецировании в своём коде или в расширениях Flask, которые напрямую обращаются к контексту запроса, но в остальном, будем надеяться, всё продолжит работать как раньше.
Плохая новость заключается в том, что контекст запроса будет полностью удалён с выходом версии 4.0. В этот момент, как я ожидаю, некоторые приложения перестанут работать и потребуют изменений в коде или обновления зависимостей, прежде чем их можно будет перевести на последнюю версию Flask. При этом мне неясно, когда именно выйдет 4.0, что в неё войдёт помимо этого изменения и сколько времени и сколько минорных релизов будет между 3.2 и 4.0. При текущем темпе разработки вообще сложно найти веские основания для нового мажорного релиза, так что, возможно, эта проблема ещё долго не станет актуальной. Посмотрим, как мейнтейнеры Flask будут управлять этим переходом.
Ещё одно интересное изменение, которое не упоминается в списке изменений, состоит в том, что, начиная с релиза 3.1.1, Flask и Werkzeug перешли на менеджер пакетов uv для задач непрерывной интеграции и выпуска релизов в GitHub Actions.
А что насчёт Quart?
Как, я уверен, большинство из вас знает, Quart — это асинхронно-ориентированный порт Flask, созданный Филом Джонсом и также поддерживаемый core-командой Flask, в которую входит и сам Фил.
К сожалению, в 2025 году у Quart не было ни одного релиза. Последний релиз — версия 0.20.0 — вышел в декабре 2024 года.
Если посмотреть на репозиторий Quart на GitHub, то за весь 2025 год там было всего 14 коммитов, и все они касались мелочей вроде добавления нового логотипа, улучшения type hints или исправления опечаток в документации.
Расширения Flask
В этот раз я решил быстро взглянуть на наиболее часто используемые расширения для Flask и посмотреть, насколько активно они развивались.
Расширение | Последний релиз | Последний коммит |
|---|---|---|
October 2023 | August 2025 | |
November 2025 | December 2025 | |
Flask-HTTPAuth (*) | August 2023 | December 2025 |
September 2023 | June 2025 | |
Flask-Migrate (*) | January 2025 | December 2025 |
March 2024 | April 2024 | |
October 2024 | December 2025 | |
May 2024 | June 2025 | |
November 2025 | December 2025 | |
October 2023 | June 2024 | |
December 2025 | December 2025 | |
Flask-SocketIO (*) | December 2025 | December 2025 |
Flask-Moment (*) | January 2025 | December 2025 |
Я составил этот список по памяти, так что, пожалуйста, не обижайтесь, если я не упомянул какое-то из ваших любимых расширений. Кроме того, попадание в этот список не означает, что я их рекомендую. Более того, некоторые из этих расширений мне не нравятся, и я никогда не использую их в своих проектах. При этом я полностью поддерживаю те, что помечены (*), поскольку именно их я и сопровождаю.
Также важно отметить, что несколько из этих расширений в настоящее время поддерживаются организацией pallets-eco — группой волонтёров, которые занимаются обновлением расширений после того, как их первоначальные авторы или мейнтейнеры переключаются на другие задачи.
Flask по сравнению с другими веб-фреймворками
Давайте посмотрим, как Flask выглядит на фоне конкурирующих Python-веб-фреймворков.
Для начала сравним количество загрузок. Для этого я использую датасет PyPI BigQuery, который содержит статистику загрузок для всех пакетов PyPI.
Загрузки | Flask | Django | FastAPI |
|---|---|---|---|
2023 | 1001M (73%) | 135M (10%) | 228M (17%) |
2024 | 1160M (58%) | 225M (11%) | 612M (31%) |
2025 | 1577M (46%) | 313M (9%) | 1523M (45%) |
Из этой таблицы видно, что все три ведущих фреймворка нарастили число загрузок, но FastAPI сделал это с поразительной скоростью. В практическом смысле Flask и FastAPI теперь делят первое место.
При этом показатели загрузок Django выглядят подозрительно низкими. Я обратил на это внимание ещё в прошлом году, но так и не смог найти объяснение, поэтому, если у вас есть какие-то идеи, дайте знать. Ниже приведены запросы, которые я использовал для получения статистики загрузок за 2025 год — на случай, если вы захотите проверить их и разобраться в этой разнице:
SELECT COUNT(*) FROM `bigquery-public-data.pypi.file_downloads` WHERE TIMESTAMP_TRUNC(timestamp, DAY) BETWEEN TIMESTAMP("2025-01-01") AND TIMESTAMP("2026-01-01") AND file.project = "flask"
SELECT COUNT(*) FROM `bigquery-public-data.pypi.file_downloads` WHERE TIMESTAMP_TRUNC(timestamp, DAY) BETWEEN TIMESTAMP("2025-01-01") AND TIMESTAMP("2026-01-01") AND file.project = "django"
SELECT COUNT(*) FROM `bigquery-public-data.pypi.file_downloads` WHERE TIMESTAMP_TRUNC(timestamp, DAY) BETWEEN TIMESTAMP("2025-01-01") AND TIMESTAMP("2026-01-01") AND file.project = "fastapi"Также можно взглянуть на последний опрос Python-разработчиков, который проводился в IV квартале 2024 года, но на момент написания этого текста в декабре 2025 года остаётся самым свежим. Вот как распределились три ведущих веб-фреймворка среди разработчиков в двух последних опросах:
Опрос | Flask | Django | FastAPI |
|---|---|---|---|
2023 | 33% | 33% | 29% |
2024 | 34% | 35% | 38% |
Здесь мы снова видим, что FastAPI сейчас практически не остановить. И, предвосхищая вопрос из комментариев, отвечаю сразу: нет, в данный момент я не планирую мега-туториал по FastAPI. Но я никогда не говорю «никогда»…
На этом я завершаю обзор проекта Flask за 2025 год. Надеюсь, этот анализ оказался для вас полезным. Счастливого 2026 года — и надеюсь увидеть вас снова через год на очередном обзоре Flask!
Русскоязычное Python сообщество

Друзья! Эту статью подготовила команда Python for Devs — канала, где каждый день выходят самые свежие и полезные материалы о Python и его экосистеме. Подписывайтесь, чтобы ничего не пропустить!
