Skip to content

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

Nous vous remercions de l’intérêt que vous portez à contribuer à l' Ultralytics open-source YOLO Dépôts! Vos contributions permettront de bonifier le projet et de profiter à l’ensemble de la communauté. Ce document fournit des directives et des bonnes pratiques pour vous aider à démarrer.

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 les contributions sous forme de pull requests. Pour simplifier le processus d’examen, veuillez suivre les directives suivantes :

  1. Débloque le dépôt: Fork le dépôt Ultralytics YOLO sur ton 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. Effectue tes modifications: 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 changements: Valide tes modifications à l'aide d'un message de validation des modifications descriptif. Inclus 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 . Fournis 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). Ce document juridique garantit que tes contributions font l'objet d'une licence appropriée 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

Google-Docstrings de style

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

Exemples de chaînes de caractères

Cet exemple montre une docstring de type Google. Note que l'entrée et la sortie types doit toujours être entouré de 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 une docstring de type Google et des indications sur les arguments et le type 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. Remarque : la docstring doit utiliser 3 guillemets doubles et être une phrase complète commençant par une 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. Examine les résultats des actions GitHub et corrige les problèmes éventuels.

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

YOLO Merci de l'intérêt que tu portes à la contribution aux projets open-sourceUltralytics . 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 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 ! 🚀🌟

FAQ

Pourquoi devrais-je contribuer aux dépôts de logiciels libres de Ultralytics YOLO ?

Contribuer aux dépôts open-source de Ultralytics YOLO permet d'améliorer le logiciel, de le rendre plus robuste et plus riche en fonctionnalités pour l'ensemble de la communauté. Les contributions peuvent inclure des améliorations du code, des corrections de bogues, des améliorations de la documentation et la mise en œuvre de nouvelles fonctionnalités. En outre, les contributions offrent la possibilité de collaborer avec d'autres développeurs compétents et des experts dans le domaine, ce qui renforce tes propres compétences et ta réputation. Pour plus d'informations sur la façon de commencer, reporte-toi à la section Contribuer par le biais de demandes d'extraction.

Comment signer le contrat de licence du contributeur (CLA) pour Ultralytics YOLO ?

Pour signer l'accord de licence du contributeur (CLA), suis les instructions fournies par le robot CLA après avoir soumis ta demande de téléchargement. Cela permettra de s'assurer que tes contributions sont correctement autorisées sous la licence AGPL-3.0 , ce qui maintiendra l'intégrité juridique du projet open-source. Ajoute un commentaire dans ta demande de téléchargement en mentionnant :

I have read the CLA Document and I sign the CLA

Pour plus d'informations, voir la section sur la signature de la CLA.

Qu'est-ce qu'une chaîne de caractères de type Google et pourquoi est-elle nécessaire pour les contributions Ultralytics YOLO ?

Google-Les docstrings de style fournissent une documentation claire et concise pour les fonctions et les classes, améliorant ainsi la lisibilité et la maintenabilité du code. Ces documents décrivent l'objectif de la fonction, ses arguments et ses valeurs de retour avec des règles de formatage spécifiques. Lorsque tu contribues à Ultralytics YOLO , le fait d'adhérer aux docstrings de style Google garantit que tes ajouts sont compréhensibles et bien documentés. Pour des exemples et des directives, visite la section Google-Style Docstrings.

Comment puis-je m'assurer que mes modifications passent les tests de GitHub Actions CI ?

Avant que ta pull request ne soit fusionnée, elle doit passer tous les tests d'intégration continue (CI) des actions GitHub. Ces tests comprennent le linting, les tests unitaires et d'autres vérifications pour s'assurer que le code répond aux normes de qualité du projet. Examine les résultats des actions GitHub et règle les problèmes éventuels. Pour obtenir des informations détaillées sur le processus d'intégration continue et des conseils de dépannage, consulte la section Tests d'intégration continue des Actions GitHub.

Comment puis-je signaler un bogue dans les dépôts Ultralytics YOLO ?

Pour signaler un bogue, fournis un exemple minimum reproductible clair et concis avec ton rapport de bogue. Cela aide les développeurs à identifier et à résoudre rapidement le problème. Assure-toi que ton exemple est minimal mais suffisant pour reproduire le problème. Pour des étapes plus détaillées sur le signalement des bogues, reporte-toi à la section Signaler des bogues.



Créé le 2023-11-12, Mis à jour le 2024-07-04
Auteurs : glenn-jocher (8), UltralyticsAssistant (1)

Commentaires