Skip to content

Contribuer à Ultralytics Projets Open-Source

Bienvenue ! Nous sommes ravis que tu envisages de contribuer à nos Ultralytics projets open-source. Ton implication permet non seulement d'améliorer la qualité de nos dépôts, mais elle profite également à l'ensemble de la communauté. Ce guide fournit des directives claires et des bonnes pratiques pour t'aider à démarrer.

Ultralytics contributeurs de logiciels libres

Table des matières

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

Code de conduite

Pour garantir un environnement accueillant et inclusif pour tous, tous les contributeurs doivent adhérer à notre code de conduite. Le respect, la gentillesse et le professionnalisme sont au cœur de notre communauté.

Contribuer par le biais des Pull Requests

Nous apprécions grandement les contributions sous forme de demandes d'extraction. Pour que le processus de révision se déroule le mieux possible, merci de suivre les étapes suivantes :

  1. Forge le dépôt: Commence par forker le dépôt Ultralytics YOLO sur ton compte GitHub.

  2. Crée une branche: Crée une nouvelle branche dans ton dépôt forké avec un nom clair et descriptif qui reflète tes modifications.

  3. Effectue tes modifications : Assure-toi que ton code respecte les directives de style du projet et qu'il n'introduit pas de nouvelles erreurs ou de nouveaux avertissements.

  4. Teste tes changements: Avant de soumettre tes modifications, teste-les localement pour confirmer qu'elles fonctionnent comme prévu et qu'elles n'entraînent pas de nouveaux problèmes.

  5. Valide tes modifications: Valide tes modifications à l'aide d'un message de validation concis et descriptif. Si tes modifications concernent un problème spécifique, inclus le numéro du problème dans ton message de validation.

  6. Crée une demande d'extraction: Soumets une demande d'extraction depuis ton dépôt forké vers le dépôt principal Ultralytics YOLO . Fournis une explication claire et détaillée de tes modifications et de la façon dont elles améliorent le projet.

Signature de la CCT

Avant que nous puissions fusionner ta demande d'extraction, tu dois signer notre accord de licence de contributeur (CLA). Cet accord juridique garantit que tes contributions sont correctement licenciées, ce qui permet au projet de continuer à être distribué sous la licence AGPL-3.0 .

Après avoir soumis ta pull request, le bot de la CLA te guidera tout au long du processus de signature. Pour signer la CLA, il te suffit d'ajouter un commentaire dans ton PR indiquant :

I have read the CLA Document and I sign the CLA

Google-Docstrings de style

Lorsque tu ajoutes de nouvelles fonctions ou de nouvelles classes, tu dois inclure une documentation de type Google. Ces docstrings fournissent une documentation claire et standardisée qui aide les autres développeurs à comprendre et à maintenir ton code.

Exemples de chaînes de caractères

Cet exemple illustre une chaîne de caractères de type Google. Assure-toi que les entrées et les sorties types sont toujours placés entre parenthèses, par exemple, (bool).

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

    Args:
        arg1 (int): The first argument.
        arg2 (int): The second argument, with a default value of 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 inclut à la fois une docstring de type Google et des indications de type pour les arguments et les retours, bien que l'utilisation de l'un ou l'autre indépendamment soit également acceptable.

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

    Args:
        arg1: The first argument.
        arg2: The second argument, with a default value of 4.

    Returns:
        True if successful, False otherwise.

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

Pour les fonctions plus petites ou plus simples, une docstring d'une seule ligne peut suffire. La docstring doit utiliser trois guillemets, être une phrase complète, commencer par une majuscule et se terminer par un point.

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

Actions GitHub Tests CI

Toutes les pull requests doivent passer les tests d'intégration continue (CI) des actions GitHub avant de pouvoir être fusionnées. Ces tests comprennent le linting, les tests unitaires et d'autres vérifications pour s'assurer que tes modifications répondent aux normes de qualité du projet. Examine les résultats de l'intégration continue et règle les problèmes qui se posent.

Signaler les bogues

Nous accordons une grande importance aux rapports de bogues, car ils nous aident à maintenir la qualité de nos projets. Lorsque tu signales un bogue, tu dois fournir un exemple minimum reproductible - unexemple de code simple et clair qui reproduit le problème de manière cohérente. Cela nous permet d'identifier et de résoudre rapidement le problème.

Licence

Ultralytics utilise la licence publique générale GNU Affero v3.0 (AGPL-3.0 ) pour ses dépôts. Cette licence promeut l'ouverture, la transparence et l'amélioration collaborative dans le développement de logiciels. Elle garantit que tous les utilisateurs ont la liberté d'utiliser, de modifier et de partager le logiciel, ce qui favorise une forte communauté de collaboration et d'innovation.

Nous encourageons tous les contributeurs à se familiariser avec les termes de la licence AGPL-3.0 afin de contribuer efficacement et éthiquement à la communauté open-source Ultralytics .

Conclusion

Merci de l'intérêt que tu portes à la contribution aux Ultralytics aux projets open-source YOLO . Ta participation est essentielle pour façonner l'avenir de notre logiciel et construire une communauté dynamique d'innovation et de collaboration. Qu'il s'agisse d'améliorer le code, de signaler des bogues ou de suggérer de nouvelles fonctionnalités, tes contributions sont inestimables.

We're excited to see your ideas come to life and appreciate your commitment to advancing object detection technology. Together, let's continue to grow and innovate in this exciting open-source journey. Happy coding! 🚀🌟

FAQ

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

Contribuer aux dépôts de logiciels libres 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, contribuer te permet de collaborer avec d'autres développeurs compétents et des experts dans le domaine, ce qui améliore tes propres compétences et ta réputation. Pour plus de détails 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. Ce processus permet de s'assurer que tes contributions sont correctement autorisées par la licence AGPL-3.0 , ce qui permet de maintenir l'intégrité juridique du projet open-source. Ajoute un commentaire dans ta demande d'extraction en précisant :

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 documentation 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 maintenance du code. Ces docstrings 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 de suivre les docstrings de style Google garantit que tes ajouts sont bien documentés et facilement compréhensibles. 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 puisse être 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 est conforme à la norme.

les normes de qualité du projet. Examine les résultats de l'analyse critique et corrige les problèmes éventuels. Pour obtenir des informations détaillées sur le processus de CI et des conseils de dépannage, consulte la section Tests CI 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.

📅 Created 11 months ago ✏️ Updated 29 days ago

Commentaires