Мы используем poetry
в качесте менеджера зависимостей и упаковщика.
- Установить
poetry
. Советуем обратиться к разделу официальной документации Installation with the official installer. Если кратко, то достаточно просто запустить команду:
curl -sSL https://install.python-poetry.org | python3 -
-
Склонировать проект, перейти в корень
-
Установить проект со всеми зависимостями:
make install
Чтобы удобнее трекать ошибки в кодстайле, советуем установить расширение ruff для IDE. Например, для VSCode
https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff
С этим расширением ошибки в кодстайле будут подчеркиваться прямо в редакторе.
В корень проекта добавлен файл .vscode/settings.json
, который указывает расширению путь к конфигу линтера.
-
Создать ветку, в которой вы будете работать. Чтобы остальным было проще понимать характер вашего контрибьюта, нужно давать краткие, но понятные названия начинающиеся. Советем начинать названия на
feat/
для веток с новыми фичами,fix/
для исправления багов,refactor/
для рефакторинга,test/
для добавления тестов. -
Коммит, коммит, коммит, коммит
-
Если есть новые фичи, желательно добавить для них тесты в директорию tests.
-
Проверить, что внесенные изменения не ломают имеющиеся фичи
make test
- Проверить кодстайл
make lint
- Ура, можно открывать Pull Request!
Чтобы видеть debug строчки у вас есть несколько опций:
- Включить весь debug output через опцию коммандной строки:
autointent hydra.verbose=true
- Включить debug output только для определенных модулей, пример для autointent.pipeline.optimization.cli_endpoint и самой hydra:
autointent hydra.verbose=[hydra,autointent/pipeline/optimization/cli_endpoint] hydra.job_logging.root.level=DEBUG
Само конфигурирование логгера сделано в autointent.configs.optimization_cli.logger_config. Вы можете изменить любой параметр логгера через коммандную строку. Вот пример, как поменять уровень логгера на ERROR:
autointent hydra.job_logging.root.level=ERROR
Еще можно изменить параметры логгера через yaml файлы:
- Создадим папку с конфиг. файлами: test_config
- test_config/config.yaml:
defaults:
- optimization_config
- _self_
- override hydra/job_logging: custom
# set your config params for optimization here
embedder_batch_size: 32
- Поместите конфигурацию логгера в test_config/hydra/job_logging/custom.yaml (параметры см. здесь)
- Запускаем с конфиг файлом config.yaml:
autointent --config-path FULL_PATH/test_config --config-name config