Skip to content

Contribuer aux dépôts de Ultralytics Open-Source YOLO

YOLO Tout d'abord, merci de l'intérêt que vous portez à la contribution aux dépôts open-source Ultralytics ! Tes contributions permettront d'améliorer le projet et profiteront à la communauté. Ce document fournit des directives et des bonnes pratiques pour te permettre de commencer.

Table des matières

  1. Code de conduite
  2. Contribuer par le biais des Pull Requests
  3. Signaler les bogues
  4. Licence
  5. Conclusion

Code de conduite

Tous les contributeurs doivent respecter le code de conduite afin de garantir un environnement accueillant et inclusif pour tous.

Contribuer par le biais des Pull Requests

Nous accueillons volontiers les contributions sous forme de demandes d'extraction. Pour que le processus de révision soit plus fluide, merci de suivre ces directives :

  1. Débloque le dépôt: Fork le dépôt Ultralytics YOLO sur ton propre compte GitHub.

  2. Créer une branche: Crée une nouvelle branche dans ton dépôt forké avec un nom descriptif pour tes modifications.

  3. Apporte tes modifications: Effectue les modifications que tu veux apporter. Assure-toi que tes modifications respectent le style de codage du projet et n'introduisent pas de nouvelles erreurs ou de nouveaux avertissements.

  4. Teste tes changements: Teste tes modifications localement pour t'assurer qu'elles fonctionnent comme prévu et qu'elles n'introduisent pas de nouveaux problèmes.

  5. Valide tes modifications: Valide tes modifications à l'aide d'un message de validation des modifications descriptif. N'oublie pas d'inclure tout numéro de problème pertinent dans ton message de validation.

  6. Créer une demande d'extraction : Crée une demande d'extraction (pull request) de ton dépôt forké vers le dépôt principal Ultralytics YOLO . Dans la description de la demande d'extraction, donne une explication claire de tes modifications et de la façon dont elles améliorent le projet.

Signature de la CCT

Avant que nous puissions accepter ta pull request, tu dois signer un accord de licence de contributeur (CLA). Il s'agit d'un document juridique indiquant que tu acceptes les conditions de contribution aux dépôts Ultralytics YOLO . Le CLA garantit que tes contributions sont correctement licenciées et que le projet peut continuer à être distribué sous la licence AGPL-3.0 .

Pour signer la CCT, suis les instructions fournies par le bot de la CCT après avoir soumis ton RP et ajoute un commentaire dans ton RP disant :

I have read the CLA Document and I sign the CLA

Docstrings de type Google

Lorsque tu ajoutes de nouvelles fonctions ou classes, merci d'inclure une docstring de style Google afin de fournir une documentation claire et concise aux autres développeurs. Cela permettra de s'assurer que tes contributions sont faciles à comprendre et à maintenir.

Exemples de chaînes de caractères

Cet exemple montre les deux docstrings de style Google. Note que l'entrée et la sortie types doivent toujours être placées entre parenthèses, c'est-à-dire (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

Cet exemple montre à la fois les docstrings de style Google et les indications de type d'argument et de retour, bien que les deux ne soient pas nécessaires, l'un peut être utilisé sans l'autre.

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

Les fonctions plus petites ou plus simples peuvent utiliser une docstring d'une seule ligne. Note que la docstring doit utiliser 3 guillemets doubles et être une phrase complète commençant par une lettre majuscule et se terminant par un point.

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

Actions GitHub Tests CI

Avant que ta demande d'extraction puisse être fusionnée, tous les tests d'intégration continue (CI) des actions GitHub doivent être réussis. Ces tests comprennent le linting, les tests unitaires et d'autres vérifications pour s'assurer que tes modifications respectent les normes de qualité du projet. Assure-toi d'examiner les résultats des actions GitHub et de corriger les éventuels problèmes

Signaler les bogues

Nous apprécions les rapports de bogues car ils jouent un rôle crucial dans le maintien de la qualité du projet. Lorsque l'on signale un bogue, il est important de fournir un exemple minimum reproductible: un exemple de code clair et concis qui reproduit le problème. Cela permet d'identifier et de résoudre rapidement le bogue.

Licence

Ultralytics adopte la licence publique générale GNU Affero v3.0 (AGPL-3.0) pour ses dépôts, promouvant l'ouverture, la transparence et l'amélioration collaborative dans le développement de logiciels. Cette licence à gauche d'auteur garantit que tous les utilisateurs et développeurs conservent la liberté d'utiliser, de modifier et de partager le logiciel. Elle favorise la collaboration au sein de la communauté, garantissant que toutes les améliorations restent accessibles à tous.

Les utilisateurs et les développeurs sont encouragés à se familiariser avec les termes de AGPL-3.0 afin de contribuer de manière efficace et éthique à la communauté open-source Ultralytics .

Conclusion

Merci de l'intérêt que tu portes à la contribution aux projets open-source Ultralytics'YOLO . Ta participation est cruciale pour façonner l'avenir de nos logiciels et favoriser une communauté d'innovation et de collaboration. Qu'il s'agisse d'améliorer le code, de signaler des bogues ou de suggérer des fonctionnalités, tes contributions ont un impact significatif.

Nous sommes impatients de voir vos idées en action et nous apprécions votre engagement à faire progresser la technologie de détection d'objets. Continuons à grandir et à innover ensemble dans ce passionnant voyage open-source. Bon codage ! 🚀🌟



Créé le 2023-11-12, Mis à jour le 2024-01-24
Auteurs : glenn-jocher (3)

Commentaires