Skip to content

Latest commit

 

History

History
87 lines (49 loc) · 5.54 KB

versions.md

File metadata and controls

87 lines (49 loc) · 5.54 KB

О версиях FastAPI

FastAPI уже используется в продакшене во многих приложениях и системах. Покрытие тестами поддерживается на уровне 100%. Однако, его разработка все еще продолжается.

Часто добавляются новые функции, регулярно исправляются баги, код продолжает постоянно совершенствоваться.

По указанным причинам текущие версии до сих пор 0.x.x. Это говорит о том, что каждая версия может содержать обратно несовместимые изменения, следуя соглашению о Семантическом Версионировании.

Уже сейчас вы можете создавать приложения в продакшене, используя FastAPI (и скорее всего так и делаете), главное убедиться в том, что вы используете версию, которая корректно работает с вашим кодом.

Закрепите вашу версию fastapi

Первым делом вам следует "закрепить" конкретную последнюю используемую версию FastAPI, которая корректно работает с вашим приложением.

Например, вы используете версию 0.45.0 в приложении.

Если вы используете файл requirements.txt, вы можете указать версию следующим способом:

fastapi==0.45.0

что значит, что вы будете использовать именно версию 0.45.0.

Или вы можете закрепить версию следующим способом:

fastapi>=0.45.0,<0.46.0

что значит, что вы используете версии 0.45.0 или выше, но меньше чем 0.46.0. Например, версия 0.45.2 все еще будет подходить.

Если вы используете любой другой инструмент для организации установки, например Poetry, Pipenv или др., у них у всех имеется способ определения специфической версии для ваших пакетов.

Доступные версии

Вы можете увидеть доступные версии (например - проверить последнюю на данный момент) в Release Notes{.internal-link target=_blank}.

О версиях

Следуя соглашению о Семантическом Версионировании, любые версии ниже 1.0.0 потенциально могут добавить обратно несовместимые изменения.

FastAPI следует соглашению в том, что любые изменения "ПАТЧ"-версии предназначены для исправления багов и обратно совместимых изменений.

!!! tip "ПАТЧ" - это последнее число. Например, в 0.2.3, ПАТЧ-версия - это 3.

Итак, вы можете закрепить версию следующим образом:

fastapi>=0.45.0,<0.46.0

Обратно несовместимые изменения и новые функции добавляются в "МИНОРНЫЕ" версии.

!!! tip "МИНОРНАЯ" версия - это число в середине. Например, в 0.2.3 МИНОРНАЯ версия - это 2.

Обновление версии FastAPI

Вам следует добавить тесты для вашего приложения.

С помощью FastAPI это очень просто (благодаря Starlette), см. документацию: Testing{.internal-link target=_blank}

После создания тестов вы можете обновить свою версию FastAPI до более новой. После это следует убедиться, что ваш код работает корректно, запустив тесты.

Если все работает корректно или после внесения необходимых изменений все ваши тесты проходят, только тогда вы можете закрепить вашу новую версию fastapi.

О Starlette

Не следует закреплять версию starlette.

Разные версии FastAPI будут использовать более новые версии Starlette.

Так что решение о используемой версии Starlette, вы можете оставить FastAPI.

О Pydantic

Pydantic включает свои собственные тесты для FastAPI, так что новые версии Pydantic (выше 1.0.0) всегда совместимы с FastAPI.

Вы можете закрепить любую версию Pydantic, которая вам подходит, выше 1.0.0 и ниже 2.0.0.

Например:

pydantic>=1.2.0,<2.0.0