Contribuire ai progetti open-source di Ultralytics
Benvenuto! Siamo entusiasti che tu stia pensando di contribuire ai nostri progetti open-source. Ultralytics progetti open-source. Il tuo coinvolgimento non solo contribuisce a migliorare la qualità dei nostri repository, ma va anche a beneficio dell'intera comunità. Questa guida fornisce linee guida chiare e buone pratiche per aiutarti a iniziare.
Indice dei contenuti
- Codice di condotta
- Contribuire con le richieste di pull
- Segnalazione di bug
- Licenza
- Conclusione
- DOMANDE FREQUENTI
Codice di condotta
Per garantire un ambiente accogliente e inclusivo per tutti, tutti i collaboratori devono aderire al nostro Codice di Condotta. Rispetto, gentilezza e professionalità sono alla base della nostra comunità.
Contribuire con le richieste di pull
Apprezziamo molto i contributi sotto forma di richieste di pull. Per rendere il processo di revisione il più agevole possibile, segui questi passaggi:
-
Fai il fork del repository: Inizia a fare il fork del repository Ultralytics YOLO sul tuo account GitHub.
-
Crea un ramo: Crea un nuovo ramo nel tuo repository con un nome chiaro e descrittivo che rifletta le tue modifiche.
-
Apporta le tue modifiche: Assicurati che il tuo codice sia conforme alle linee guida di stile del progetto e che non introduca nuovi errori o avvisi.
-
Testa le tue modifiche: Prima di inviare le modifiche, testale in locale per verificare che funzionino come previsto e che non causino nuovi problemi.
-
Applica le modifiche: Applica le modifiche con un messaggio di commit conciso e descrittivo. Se le modifiche riguardano un problema specifico, includi il numero del problema nel messaggio di commit.
-
Crea una richiesta di pull: Invia una richiesta di pull dal tuo repository forke al repository principale Ultralytics YOLO . Fornisci una spiegazione chiara e dettagliata delle tue modifiche e di come migliorano il progetto.
Firma del CLA
Prima di poter unire la tua richiesta di pull, devi firmare il nostro Contributor License Agreement (CLA). Questo accordo legale garantisce che i tuoi contributi siano autorizzati in modo corretto, consentendo al progetto di continuare a essere distribuito con la licenza AGPL-3.0 .
Dopo aver inviato la tua richiesta di pull, il bot CLA ti guiderà nel processo di firma. Per firmare il CLA, è sufficiente aggiungere un commento alla tua PR indicando:
Google-Stili Docstring
Quando aggiungi nuove funzioni o classi, ti invitiamo a includere le documentazioni in stile Google. Queste documentazioni forniscono una documentazione chiara e standardizzata che aiuta gli altri sviluppatori a comprendere e mantenere il tuo codice.
Esempi di documentazione
Questo esempio illustra una docstring in stile Google. Assicurati che sia l'input che l'output types
sono sempre racchiusi tra parentesi, ad es, (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
Questo esempio include sia una docstring in stile Google che suggerimenti di tipo per gli argomenti e i ritorni, anche se l'uso di uno dei due è accettabile.
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
Per le funzioni più piccole o più semplici, può essere sufficiente una docstring di una sola riga. La docstringa deve utilizzare tre virgolette doppie, essere una frase completa, iniziare con una lettera maiuscola e terminare con un punto.
Azioni GitHub Test CI
Tutte le richieste di pull devono superare i test di integrazione continua (CI) di GitHub Actions prima di poter essere unite. Questi test includono linting, test unitari e altri controlli per garantire che le tue modifiche soddisfino gli standard di qualità del progetto. Esamina i risultati della CI e risolvi eventuali problemi.
Segnalazione di bug
Apprezziamo molto le segnalazioni di bug perché ci aiutano a mantenere la qualità dei nostri progetti. Quando segnali un bug, ti preghiamo di fornire un esempio minimo riproducibile: unesempio di codice semplice e chiaro che riproduca in modo coerente il problema. Questo ci permette di identificare e risolvere rapidamente il problema.
Licenza
Ultralytics utilizza la GNU Affero General Public License v3.0 (AGPL-3.0 ) per i suoi repository. Questa licenza promuove l'apertura, la trasparenza e il miglioramento collaborativo nello sviluppo del software. Garantisce a tutti gli utenti la libertà di utilizzare, modificare e condividere il software, favorendo una forte comunità di collaborazione e innovazione.
Incoraggiamo tutti i collaboratori a familiarizzare con i termini della licenza di AGPL-3.0 per contribuire in modo efficace ed etico alla comunità open-source di Ultralytics .
Conclusione
Grazie per il tuo interesse a contribuire ai progetti Ultralytics progetti open-source di YOLO . La tua partecipazione è essenziale per plasmare il futuro del nostro software e per costruire una vivace comunità di innovazione e collaborazione. Che tu stia migliorando il codice, segnalando bug o suggerendo nuove funzionalità, i tuoi contributi sono preziosi.
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! 🚀🌟
DOMANDE FREQUENTI
Perché dovrei contribuire ai repository open-source di Ultralytics YOLO ?
Contribuire ai repository open-source di Ultralytics YOLO migliora il software, rendendolo più robusto e ricco di funzionalità per l'intera comunità. I contributi possono includere miglioramenti del codice, correzioni di bug, miglioramenti della documentazione e implementazioni di nuove funzionalità. Inoltre, contribuire ti permette di collaborare con altri sviluppatori ed esperti del settore, migliorando le tue capacità e la tua reputazione. Per maggiori dettagli su come iniziare, consulta la sezione Contribuire tramite richieste di prelievo.
Come si firma il Contributor License Agreement (CLA) per Ultralytics YOLO ?
Per firmare il Contributor License Agreement (CLA), segui le istruzioni fornite dal bot CLA dopo aver inviato la tua richiesta di pull. Questo processo assicura che i tuoi contributi siano correttamente concessi in licenza secondo la licenza AGPL-3.0 , mantenendo l'integrità legale del progetto open-source. Aggiungi un commento alla tua richiesta di pull indicando:
Per maggiori informazioni, consulta la sezione Firma CLA.
Cosa sono le docstrazioni in stile Google e perché sono richieste per i contributi Ultralytics YOLO ?
Google-Le docstringhe in stile forniscono una documentazione chiara e concisa per le funzioni e le classi, migliorando la leggibilità e la manutenibilità del codice. Queste docstrings descrivono lo scopo della funzione, gli argomenti e i valori di ritorno con regole di formattazione specifiche. Quando contribuisci a Ultralytics YOLO , seguire i docstring in stile Google garantisce che le tue aggiunte siano ben documentate e facilmente comprensibili. Per esempi e linee guida, visita la sezione Google-Style Docstrings.
Come posso assicurarmi che le mie modifiche superino i test di GitHub Actions CI?
Prima che la tua richiesta di pull possa essere unita, deve superare tutti i test di GitHub Actions Continuous Integration (CI). Questi test includono il linting, i test unitari e altri controlli per garantire che il codice soddisfi i requisiti di
gli standard di qualità del progetto. Esamina i risultati del CI e risolvi eventuali problemi. Per informazioni dettagliate sul processo di CI e suggerimenti per la risoluzione dei problemi, consulta la sezione Test CI delle azioni GitHub.
Come posso segnalare un bug nei repository di Ultralytics YOLO ?
Per segnalare un bug, fornisci un esempio minimo riproducibile chiaro e conciso insieme alla segnalazione del bug. Questo aiuta gli sviluppatori a identificare e risolvere rapidamente il problema. Assicurati che l'esempio sia minimo ma sufficiente per replicare il problema. Per informazioni più dettagliate sulla segnalazione dei bug, consulta la sezione Segnalazione dei bug.