Руководство по участию в разработке
Руководство по участию в разработке
Мы приветствуем вклад в 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Работа с документацией
Документация собирается с помощью VuePress 2 и vuepress-theme-hope.
Установите Node-зависимости:
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.