Учебный проект для пошагового изучения FastAPI с нуля. Главный материал проекта - подробный русскоязычный учебник GUIDE.md, основанный на официальной документации FastAPI.
Актуально на 20 мая 2026:
- Python:
>=3.12 - FastAPI:
0.136.1 - Pydantic:
2.13.3 - Starlette:
1.0.0 - Uvicorn:
0.46.0 - Точка входа FastAPI:
main:app
FASTAPI/
├── main.py # учебное FastAPI-приложение
├── tests/ # автоматические тесты
├── GUIDE.md # большой учебник для новичка
├── EXERCISES.md # практические задания
├── README.md # эта карта проекта
├── pyproject.toml # зависимости и настройки проекта
├── uv.lock # точные версии зависимостей
└── .venv/ # локальное виртуальное окружение, не коммитится
Установить зависимости из uv.lock:
uv syncПроверить версии установленных библиотек:
.venv/bin/python -c "import fastapi, pydantic, starlette, uvicorn; print(fastapi.__version__, pydantic.__version__, starlette.__version__, uvicorn.__version__)"Запустить приложение через FastAPI CLI:
uv run fastapi devАльтернативный запуск через Uvicorn:
uv run uvicorn main:app --reloadПосле запуска открыть:
http://127.0.0.1:8000/- текущий endpoint проекта;http://127.0.0.1:8000/health- проверка, что приложение работает;http://127.0.0.1:8000/items/5?q=somequery- учебный path + query пример;http://127.0.0.1:8000/docs- интерактивная Swagger UI документация;http://127.0.0.1:8000/redoc- альтернативная ReDoc документация;http://127.0.0.1:8000/openapi.json- OpenAPI-схема.
Запустить тесты:
uv run pytest- Открой GUIDE.md.
- Прочитай разделы "Назначение этого гайда", "Как пользоваться этим учебником" и "Строгая структура учебника".
- Запусти приложение.
- Повторяй примеры руками в
main.py. - После каждого изменения проверяй результат в
/docs. - Закрепляй темы через EXERCISES.md.
- Когда тема понятна, переходи к мини-проекту Notes API.
Этот репозиторий не про готовый production-backend. Это учебная лаборатория:
- понять HTTP, API, path/query/body;
- изучить FastAPI через официальную документацию;
- освоить Pydantic v2;
- научиться читать ошибки
422; - понять
Depends,APIRouter,response_model,status_code; - постепенно перейти к тестам, базе данных, авторизации и структуре большого приложения.
Учебник сверяется с официальными источниками:
- FastAPI Documentation
- FastAPI Tutorial - User Guide
- FastAPI Advanced User Guide
- FastAPI CLI
- FastAPI on PyPI
- Pydantic Documentation
Сильные стороны:
- проект минимальный и не отвлекает от обучения;
- зависимости актуальны и зафиксированы в
uv.lock; GUIDE.mdуже покрывает базовые и продвинутые темы FastAPI;- учебник содержит карту соответствия с официальной документацией.
Следующие учебные этапы:
- добавить пример учебного CRUD API;
- постепенно вынести маршруты в
APIRouter; - добавить ответы и подсказки к заданиям;
- добавить CI-проверку Markdown и Python-кода.