Перейти к содержимому

Вклад в репозитории Ultralytics с открытым исходным кодом YOLO

Благодарим Вас за проявленный интерес к Ultralytics С открытым исходным кодом YOLO Репозитории! Ваш вклад улучшит проект и принесет пользу всему сообществу. В этом документе содержатся рекомендации и рекомендации, которые помогут вам приступить к работе.

Оглавление

  1. Кодекс поведения
  2. Вклад через Pull Requests
  3. Сообщаем об ошибках
  4. Лицензия
  5. Заключение

Кодекс поведения

Все участники должны придерживаться Кодекса поведения, чтобы обеспечить доброжелательную и инклюзивную среду для всех.

Вклад через Pull Requests

Мы приветствуем вклады в виде запросов на вытягивание. Чтобы упростить процесс рецензирования, следуйте этим рекомендациям:

  1. Форк репозитория: Форкни репозиторий Ultralytics YOLO на свой аккаунт GitHub.

  2. Создай ветку: Создай новую ветку в своем форкнутом репозитории с описательным именем для своих изменений.

  3. Внеси свои изменения: Убедись, что твои изменения соответствуют стилю кодирования проекта и не вносят новых ошибок или предупреждений.

  4. Проверь свои изменения: Протестируй свои изменения локально, чтобы убедиться, что они работают так, как ожидалось, и не вызывают новых проблем.

  5. Зафиксируй свои изменения: Зафиксируй свои изменения, написав сообщение о фиксации с описанием. Включи в сообщение о фиксации все соответствующие номера проблем.

  6. Создай запрос на вытягивание: Создай pull request из своего форкнутого репозитория в основной репозиторий Ultralytics YOLO . Четко объясни свои изменения и то, как они улучшают проект.

Подписание CLA

Прежде чем мы примем твой pull request, ты должен подписать лицензионное соглашение с контрибьютором (CLA). Этот юридический документ гарантирует, что твой вклад правильно лицензирован и что проект может продолжать распространяться под лицензией AGPL-3.0 .

Чтобы подписать CLA, следуй инструкциям, предоставленным ботом CLA после того, как ты отправишь свой PR, и добавь в свой PR комментарий, в котором будет сказано:

I have read the CLA Document and I sign the CLA

Google-Стиль Docstrings

Добавляя новые функции или классы, включай в них docstring в стиле Google, чтобы предоставить другим разработчикам четкую и лаконичную документацию. Это поможет обеспечить простоту понимания и сопровождения твоего вклада.

Пример докстрингов

В этом примере показана документальная строка в стиле Google. Обратите внимание, что и входные, и выходные данные types всегда должны быть заключены в круглые скобки, т.е. (bool).

def example_function(arg1, arg2=4):
    """
    Example function that demonstrates Google-style docstrings.

    Args:
        arg1 (int): The first argument.
        arg2 (int): The second argument. Default value is 4.

    Returns:
        (bool): True if successful, False otherwise.

    Examples:
        >>> result = example_function(1, 2)  # returns False
    """
    if arg1 == arg2:
        return True
    return False

В этом примере показана как документальная строка в стиле Google, так и подсказки для аргументов и возвращаемых типов, хотя и то, и другое не обязательно; одно можно использовать и без другого.

def example_function(arg1: int, arg2: int = 4) -> bool:
    """
    Example function that demonstrates Google-style docstrings.

    Args:
        arg1: The first argument.
        arg2: The second argument. Default value is 4.

    Returns:
        True if successful, False otherwise.

    Examples:
        >>> result = example_function(1, 2)  # returns False
    """
    if arg1 == arg2:
        return True
    return False

Меньшие или более простые функции могут использовать однострочную строку документации. Обратите внимание, что строка документации должна использовать 3 двойные кавычки и быть полным предложением, начинающимся с заглавной буквы и заканчивающимся точкой.

def example_small_function(arg1: int, arg2: int = 4) -> bool:
    """Example function that demonstrates a single-line docstring."""
    return arg1 == arg2

CI-тесты GitHub Actions

Прежде чем твой pull request будет слит, все тесты GitHub Actions Continuous Integration (CI) должны пройти. Эти тесты включают в себя линтинг, юнит-тесты и другие проверки, чтобы убедиться, что твои изменения соответствуют стандартам качества проекта. Просмотри результаты GitHub Actions и исправь все проблемы.

Сообщаем об ошибках

Мы ценим сообщения об ошибках, так как они играют важную роль в поддержании качества проекта. Сообщая об ошибках, важно предоставить минимальный воспроизводимый пример: четкий, лаконичный пример кода, воспроизводящий проблему. Это поможет в быстрой идентификации и устранении ошибки.

Лицензия

Ultralytics В своих репозиториях ты используешь GNU Affero General Public License v3.0 (AGPL-3.0 ), что способствует открытости, прозрачности и совместному совершенствованию в разработке программного обеспечения. Эта лицензия с сильным авторским левом гарантирует, что все пользователи и разработчики сохраняют свободу использования, модификации и совместного использования программного обеспечения. Она способствует сотрудничеству сообществ, гарантируя, что любые улучшения останутся доступными для всех.

Пользователям и разработчикам рекомендуется ознакомиться с условиями AGPL-3.0, чтобы вносить эффективный и этичный вклад в сообщество разработчиков Ultralytics с открытым исходным кодом.

Заключение

YOLO Спасибо за твой интерес к участию в проектах Ultralytics с открытым исходным кодом. Твое участие имеет решающее значение для формирования будущего нашего программного обеспечения и развития сообщества инноваций и сотрудничества. Улучшаешь ли ты код, сообщаешь об ошибках или предлагаешь новые возможности - твой вклад оказывает значительное влияние.

Мы с нетерпением ждем ваших идей в действии и ценим вашу приверженность развитию технологий обнаружения объектов. Давайте продолжим расти и внедрять инновации вместе в этом захватывающем путешествии с открытым исходным кодом. Удачного программирования! 🚀🌟

ВОПРОСЫ И ОТВЕТЫ

Почему я должен внести свой вклад в репозитории открытого кода Ultralytics YOLO ?

Вклад в репозитории Ultralytics YOLO с открытым исходным кодом помогает улучшить программное обеспечение, делая его более надежным и многофункциональным для всего сообщества. Вклад может включать в себя улучшение кода, исправление ошибок, улучшение документации и внедрение новых функций. Кроме того, участие в проекте дает возможность сотрудничать с другими опытными разработчиками и экспертами в данной области, повышая твои собственные навыки и репутацию. О том, как начать работу, читай в разделе " Внесение вклада через Pull Requests ".

Как подписать лицензионное соглашение с разработчиками (CLA) для Ultralytics YOLO ?

Чтобы подписать лицензионное соглашение с контрибьютором (CLA), следуй инструкциям, которые дает CLA-бот после отправки запроса на исправление. Это обеспечит правильное лицензирование твоего вклада в соответствии с лицензией AGPL-3.0 , сохраняя юридическую целостность проекта с открытым исходным кодом. Добавь комментарий в упоминании о твоем запросе:

I have read the CLA Document and I sign the CLA

Подробнее об этом читай в разделе " Подписание CLA ".

Что такое Google-style docstrings и почему они требуются для Ultralytics YOLO вкладов?

Google-стиль docstrings обеспечивает четкую и лаконичную документацию для функций и классов, улучшая читабельность и сопровождаемость кода. В этих документах описывается назначение функции, ее аргументы и возвращаемые значения с соблюдением определенных правил форматирования. При внесении вклада в Ultralytics YOLO , придерживаясь Google-стиля docstrings, ты гарантируешь, что твои дополнения будут понятны и хорошо документированы. Примеры и рекомендации можно найти в разделе Google-Style Docstrings.

Как я могу убедиться, что мои изменения прошли тесты GitHub Actions CI?

Прежде чем твой pull request будет слит, он должен пройти все тесты GitHub Actions Continuous Integration (CI). Эти тесты включают в себя линтинг, юнит-тесты и другие проверки, чтобы убедиться, что код соответствует стандартам качества проекта. Просмотри результаты работы GitHub Actions и устрани все проблемы. Подробную информацию о процессе CI и советы по устранению неполадок ты найдешь в разделе " Тесты CI GitHub Actions ".

Как сообщить об ошибке в репозиториях Ultralytics YOLO ?

Чтобы сообщить об ошибке, вместе с сообщением о ней предоставь четкий и ясный Минимальный воспроизводимый пример. Это поможет разработчикам быстро определить и устранить проблему. Убедись, что твой пример минимален, но достаточен для воспроизведения проблемы. Более подробно о том, как сообщать об ошибках, читай в разделе " Сообщение об ошибках ".



Создано 2023-11-12, Обновлено 2024-07-04
Авторы: glenn-jocher (8), UltralyticsAssistant (1)

Комментарии