2025-09-19 21:01:43 +03:00
2025-09-19 21:01:43 +03:00
2025-09-19 18:17:31 +03:00
2025-09-16 02:18:17 +03:00
2025-09-16 02:31:52 +03:00
2025-09-19 18:17:31 +03:00
2025-09-16 02:18:17 +03:00

sqlalchemyfastapipydenticpytest

пет‑проект для интеграции FastAPI, SQLAlchemy, Pydantic и Pytest.


🔍 Описание

Проект демонстрирует, как:

  • работать с FastAPI: REST API эндпоинты, маршруты, зависимости и схемы;
  • использовать SQLAlchemy для работы с базой данных: модели, сессии, CRUDоперации;
  • валидировать данные через Pydantic;
  • тестировать всё через Pytest: модульные и интеграционные тесты.

Цель — собрать всё вместе и понять best practices.


📁 Структура проекта

/
├── server/
│   ├── …  # код FastAPI + SQLAlchemy + модели, схемы и маршруты
├── run.py              # точка входа
├── requirements        # зависимости
├── README.md           # этот файл
├── .gitignore
└── Plan                # план/заметки по проекту

⚙️ Установка и запуск

# клонировать репозиторий
git clone <URL репо>
cd sqlalchemy-fastapi-pydentic-pytest

# создать виртуальное окружение
python3 -m venv venv
source venv/bin/activate    # в Linux/macOS
venv\Scripts\activate       # в Windows

# установить зависимости
pip install -r requirements

# запустить приложение
python run.py

# по умолчанию запустится FastAPIсервер (напр. localhost:8000)

🧪 Тестирование

# запустить все тесты
pytest

Описание тестов:

  • тесты на CRUD операции;
  • тесты схем Pydantic;
  • тесты ответов API (возможно с тестовым клиентом FastAPI).

🛠 Используемые технологии

Компонент Версия / Пример использования
Python ≥ 3.x
FastAPI фреймворк для вебAPI
SQLAlchemy ORM для работы с базой данных
Pydantic валидация и сериализация данных
Pytest тестирование

🚧 Возможности для доработки / TODO

  • добавление миграций (например, с Alembic);
  • обработка ошибок и кастомные исключения;
  • логирование;
  • настройка CI/CD;
  • защита маршрутов (аутентификация / авторизация);
  • конфигурация через envпеременные;
  • более подробная документация API (например, OpenAPI схемы).

📄 Лицензия

Этот проект учебный.

Description
Изучение sqlalchemy-fastapi-pydentic-pytest на пет-проекте
Readme 315 KiB
Languages
Python 62.4%
JavaScript 18%
CSS 11.4%
HTML 6.1%
Mako 1.2%
Other 0.9%