Zum Inhalt springen

Beitrag zu Ultralytics Open-Source-Repositories YOLO

Thank you for your interest in contributing to Ultralytics open-source YOLO repositories! Your contributions will enhance the project and benefit the entire community. This document provides guidelines and best practices to help you get started.

Inhaltsverzeichnis

  1. Verhaltenskodex
  2. Mitmachen ĂŒber Pull Requests
  3. Bugs melden
  4. Lizenz
  5. Fazit

Verhaltenskodex

All contributors must adhere to the Code of Conduct to ensure a welcoming and inclusive environment for everyone.

Mitmachen ĂŒber Pull Requests

We welcome contributions in the form of pull requests. To streamline the review process, please follow these guidelines:

  1. Fork the repository: Fork the Ultralytics YOLO repository to your GitHub account.

  2. Einen Zweig erstellen: Erstelle einen neuen Zweig in deinem geforkten Repository mit einem aussagekrĂ€ftigen Namen fĂŒr deine Änderungen.

  3. Make your changes: Ensure that your changes follow the project's coding style and do not introduce new errors or warnings.

  4. Test your changes: Test your changes locally to ensure they work as expected and do not introduce new issues.

  5. Commit your changes: Commit your changes with a descriptive commit message. Include any relevant issue numbers in your commit message.

  6. Create a pull request: Create a pull request from your forked repository to the main Ultralytics YOLO repository. Provide a clear explanation of your changes and how they improve the project.

CLA Unterzeichnung

Before we can accept your pull request, you must sign a Contributor License Agreement (CLA). This legal document ensures that your contributions are properly licensed and that the project can continue to be distributed under the AGPL-3.0 license.

Um die GAV zu unterzeichnen, befolge die Anweisungen des GAV-Bots, nachdem du deinen PR eingereicht hast, und fĂŒge einen Kommentar in deinem PR hinzu:

I have read the CLA Document and I sign the CLA

Docstrings im Google-Stil

When adding new functions or classes, include a Google-style docstring to provide clear and concise documentation for other developers. This helps ensure your contributions are easy to understand and maintain.

Beispiel Docstrings

Dieses Beispiel zeigt einen Docstring im Google-Stil. Beachte, dass sowohl Input als auch Output types must always be enclosed by parentheses, i.e., (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

This example shows both a Google-style docstring and argument and return type hints, though both are not required; one can be used without the other.

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

Smaller or simpler functions can utilize a single-line docstring. Note the docstring must use 3 double-quotes and be a complete sentence starting with a capital letter and ending with a period.

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

GitHub-Aktionen CI-Tests

Before your pull request can be merged, all GitHub Actions Continuous Integration (CI) tests must pass. These tests include linting, unit tests, and other checks to ensure your changes meet the project's quality standards. Review the output of the GitHub Actions and fix any issues.

Bugs melden

We appreciate bug reports as they play a crucial role in maintaining the project's quality. When reporting bugs, it is important to provide a Minimum Reproducible Example: a clear, concise code example that replicates the issue. This helps in quick identification and resolution of the bug.

Lizenz

Ultralytics nutzt die GNU Affero General Public License v3.0 (AGPL-3.0 ) fĂŒr seine Repositories und fördert damit Offenheit, Transparenz und kollaborative Weiterentwicklung in der Softwareentwicklung. Diese starke Copyleft-Lizenz stellt sicher, dass alle Nutzer und Entwickler die Freiheit haben, die Software zu nutzen, zu verĂ€ndern und weiterzugeben. Sie fördert die Zusammenarbeit der Gemeinschaft und stellt sicher, dass alle Verbesserungen fĂŒr alle zugĂ€nglich bleiben.

Nutzer und Entwickler sind aufgefordert, sich mit den Bedingungen von AGPL-3.0 vertraut zu machen, um einen effektiven und ethisch vertretbaren Beitrag zur Ultralytics Open-Source-Community zu leisten.

Fazit

Vielen Dank fĂŒr dein Interesse an der Mitarbeit an Ultralytics open-source YOLO Projekten. Deine Mitarbeit ist entscheidend fĂŒr die Zukunft unserer Software und fĂŒr die Förderung einer Gemeinschaft, die sich durch Innovation und Zusammenarbeit auszeichnet. Egal, ob du den Code verbesserst, Fehler meldest oder neue Funktionen vorschlĂ€gst, deine BeitrĂ€ge haben einen großen Einfluss.

We look forward to seeing your ideas in action and appreciate your commitment to advancing object detection technology. Let's continue to grow and innovate together in this exciting open-source journey. Happy coding! 🚀🌟



Created 2023-11-12, Updated 2024-06-08
Authors: UltralyticsAssistant (1), glenn-jocher (7)

Kommentare