Перейти к содержанию

Контрибьютинг

Хотите помочь проекту? Внесите свой вклад в его исходный код!

aliceio - проект с открытым исходным кодом, и каждый может внести в него свой вклад любым возможным способом.

Разработка

Прежде чем вносить какие-либо изменения в код фреймворка, необходимо форкнуть проект и клонировать его на свой ПК, а также знать, как сделать пул-реквест.

Также, поскольку этот проект написан на Python, вам потребуется его установить (рекомендуется использовать последние версии, но можно использовать любую, начиная с 3.9).

Виртуальное окружение

Вы можете создать виртуальную среду в директории с помощью модуля venv (он должен быть предварительно установлен по умолчанию):

python -m venv .venv

Это действие создаст директорию .venv с двоичными файлами Python, после чего вы сможете устанавливать пакеты в эту изолированную среду.

Активация окружения

Linux / macOS:

source .venv/bin/activate

Windows cmd:

.\.venv\Scripts\activate

Windows PowerShell:

.\.venv\Scripts\activate.ps1

Чтобы проверить, сработало ли это, используйте следующую команду, она должна показать версию и путь до pip внутри изолированной среды:

pip -V

Также убедитесь, что в вашей виртуальной среде установлена последняя версия pip, чтобы избежать ошибок на следующих шагах:

python -m pip install --upgrade pip

Установка проекта

После активации среды склонируйте ваш форк aliceio и установите зависимости:

git clone https://github.com/<YOUR-NAME>/aliceio.git

Linux / macOS:

pip install -e ."[dev,test,docs,fast,redis,proxy]"

Windows:

pip install -e .[dev,test,docs,fast,redis,proxy]

Внесение изменений

На этом этапе вы можете вносить любые изменения в код, какие захотите.
Это могут быть исправления, внедрение нового функционала или ваши эксперименты.

Формат кода

Обратите внимание, что проект использует линтеры, форматтеры и прочие, поэтому и вам следует их здесь использовать.
Убедимся, что вы всё делаете правильно, и вот так проверим код:

1
2
3
4
black aliceio tests examples
isort aliceio tests examples
ruff check --fix aliceio tests examples
mypy aliceio

Также можно установить pre-commit хук:

pre-commit install

Запуск тестов

Все изменения должны быть протестированы:

pytest tests
Также, если вы что-то делаете с Redis'ом, вам нужно будет проверить, всё ли работает с ним:
pytest --redis redis://<host>:<port>/<db> tests

Документация

Мы используем MkDocs для создания документации, все исходники расположены в директории docs.
Вы можете изменить их и запустить сервер для предварительного просмотра:

mkdosc serve

Завершение

После того, как вы внесли все свои изменения, опубликуйте их в ваш форк, создайте пул-реквест, как указано в начале статьи, и дождитесь его проверки.
В нём опишите свои изменения в одном или нескольких предложениях, чтобы разработчики знали, что изменилось в фреймворке.

Звёздочка на гитхабе

Вы можете отметить репозиторий звездой. Перейдите в него (K1rL3s/aliceio) и нажмите на кнопку со звёздочкой справа сверху.

Связь

Заходите в наш тг-чатик, задавайте и отвечайте на вопросы