Contribuer aux projets Open-Source Ultralytics
Bienvenue ! Nous sommes ravis que vous envisagiez de contribuer à nos Ultralytics projets open-source. Votre participation contribue non seulement à améliorer la qualité de nos dépôts, mais profite également à l'ensemble de la communauté. Ce guide fournit des directives claires et des bonnes pratiques pour vous aider à démarrer.
Table des matières
Code de conduite
Afin de 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 via les Pull Requests
Nous apprécions grandement les contributions sous forme de demandes d'extension. Pour que le processus de révision soit le plus fluide possible, veuillez suivre les étapes suivantes :
-
Forgez le dépôt: Commencez par forker le dépôt Ultralytics YOLO sur votre compte GitHub.
-
Créer une branche: Créez une nouvelle branche dans votre dépôt forké avec un nom clair et descriptif qui reflète vos changements.
-
Apportez vos modifications : Assurez-vous que votre code respecte les règles de style du projet et qu'il n'introduit pas de nouvelles erreurs ou de nouveaux avertissements.
-
Testez vos modifications: Avant de soumettre vos modifications, testez-les localement pour vous assurer qu'elles fonctionnent comme prévu et qu'elles n'entraînent pas de nouveaux problèmes.
-
Validez vos modifications: Validez vos modifications à l'aide d'un message de validation concis et descriptif. Si vos modifications concernent un problème spécifique, indiquez le numéro du problème dans votre message de validation.
-
Créer une demande d'extraction: Soumettez une demande d'extraction depuis votre dépôt forké vers le dépôt principal Ultralytics YOLO . Fournissez une explication claire et détaillée de vos changements et de la manière dont ils améliorent le projet.
Signature de la CCT
Avant que nous puissions fusionner votre demande d'extraction, vous devez signer notre Accord de licence du contributeur (CLA). Cet accord juridique garantit que vos contributions sont correctement licenciées, ce qui permet au projet de continuer à être distribué sous la licence AGPL-3.0 .
Après avoir soumis votre demande d'extraction, le robot CLA vous guidera tout au long du processus de signature. Pour signer la CLA, il suffit d'ajouter un commentaire dans votre PR indiquant :
Google-Docstrings de style
Lorsque vous ajoutez de nouvelles fonctions ou classes, veuillez inclure des documents de type Google. Ces docstrings fournissent une documentation claire et standardisée qui aide les autres développeurs à comprendre et à maintenir votre code.
Exemples de chaînes de documents
Cet exemple illustre une chaîne de documents de type Google. Assurez-vous que les entrées et les sorties types
sont toujours placées 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.
Actions GitHub Tests CI
Toutes les demandes d'extraction doivent passer les tests d'intégration continue (CI) des actions GitHub avant d'être fusionnées. Ces tests comprennent le linting, les tests unitaires et d'autres vérifications pour s'assurer que vos changements respectent les normes de qualité du projet. Examinez les résultats de l'intégration continue et résolvez les problèmes éventuels.
Signaler des bogues
Nous accordons une grande importance aux rapports de bogues, car ils nous aident à maintenir la qualité de nos projets. Lorsque vous signalez un bogue, veuillez fournir un exemple minimum reproductible, c'est-à -direun exemple 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
Nous vous remercions de l'intérêt que vous portez à la contribution aux Ultralytics aux projets open-source YOLO . Votre 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, votre contribution est inestimable.
Nous sommes ravis de voir vos idées se concrétiser et nous apprécions votre engagement à faire progresser la technologie de détection d'objets. Ensemble, continuons à nous développer et à innover dans le cadre de cette passionnante aventure open-source. Bon codage ! 🚀🌟
FAQ
Pourquoi devrais-je contribuer aux dépôts de logiciels libres de Ultralytics YOLO ?
Contribuer aux dépôts de code source libre 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 vous permettent de collaborer avec d'autres développeurs compétents et des experts dans le domaine, ce qui améliore vos propres compétences et votre réputation. Pour plus d'informations sur la manière de commencer, reportez-vous à la section Contribuer par le biais de demandes d'extraction (Pull Requests).
Comment signer l'accord de licence du contributeur (CLA) pour Ultralytics YOLO ?
Pour signer l'accord de licence du contributeur (CLA), suivez les instructions fournies par le robot CLA après avoir soumis votre demande d'extraction. Ce processus permet de s'assurer que vos contributions sont correctement placées sous la licence AGPL-3.0 , ce qui préserve l'intégrité juridique du projet open-source. Ajoutez un commentaire dans votre demande d'extraction indiquant :
Pour plus d'informations, voir la section Signature de la CLA.
Que sont les chaînes de documents de type Google et pourquoi sont-elles nécessaires pour les contributions Ultralytics YOLO ?
Google-fournissent une documentation claire et concise pour les fonctions et les classes, améliorant ainsi la lisibilité et la maintenabilité du code. Elles décrivent l'objectif de la fonction, ses arguments et ses valeurs de retour en respectant des règles de formatage spécifiques. Lorsque vous contribuez à Ultralytics YOLO , le fait de suivre les docstrings de style Google garantit que vos ajouts sont bien documentés et facilement compréhensibles. Pour des exemples et des lignes directrices, consultez la section Google-Style Docstrings.
Comment puis-je m'assurer que mes modifications passent les tests de GitHub Actions CI ?
Avant que votre demande 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 est conforme à la norme
les normes de qualité du projet. Examinez les résultats de l'IC et corrigez les problèmes éventuels. Pour obtenir des informations détaillées sur le processus d'intégration cathodique et des conseils de dépannage, consultez la section Tests d'intégration cathodique des actions GitHub.
Comment puis-je signaler un bogue dans les dépôts Ultralytics YOLO ?
Pour signaler un bogue, fournissez un exemple minimum reproductible clair et concis avec votre rapport de bogue. Cela permet aux développeurs d'identifier et de résoudre rapidement le problème. Veillez à ce que votre exemple soit minimal mais suffisant pour reproduire le problème. Pour plus de détails sur les étapes à suivre pour signaler des bogues, consultez la section Signaler des bogues.