Перейти к основному содержимому
Версия: 1.0.5

Руководство по участию в разработке

Мы приветствуем вклад в Django-RMQ. Это руководство описывает базовый локальный процесс разработки, тестирования и работы с документацией.

Если вы не уверены, подходит ли ваше изменение проекту, сначала откройте issue или draft pull request.

Настройка окружения​

Проект использует uv для управления зависимостями Python. Для установки следуйте официальному руководству в документации uv.

После клонирования репозитория установите зависимости:

uv sync --all-extras

Линтинг​

Запустите Ruff локально перед открытием pull request:

uv run ruff check .
uv run ruff format --check .

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

Запустите набор тестов с pytest:

uv run pytest

Также можно использовать tox для тестирования в настроенных окружениях:

tox

Работа с документацией​

Документация собирается с помощью Docusaurus.

Установите Node-зависимости из каталога docs:

cd docs
npm install

Запустите сервер документации с горячей перезагрузкой:

npm run docs:dev

Соберите и просмотрите продакшн-версию документации:

npm run docs:build
npm run docs:serve

Соглашения проекта​

Весь Python-код в этом репозитории следует приведённым ниже правилам (контролируются Ruff и pyrefly в CI):

  • Полная типизация — аннотируйте каждый параметр функции, возвращаемое значение и переменную. Проект нацелен на строгий режим pyrefly.
  • Без относительных импортов — всегда используйте абсолютные импорты (from django_rmq.producer import Producer, а не from .producer import Producer).
  • Именованные параметры при вызове — передавайте аргументы по ключу где возможно ( Producer(queue='orders').publish(body='...')).
  • uv run вместо python — запускайте скрипты и management-команды как uv run python manage.py ... или uv run pytest.