Vai al contenuto

Contribuire ai repository open-source Ultralytics YOLO

Grazie per l'interesse dimostrato nel contribuire a Ultralytics open-source YOLO Repository! I tuoi contributi miglioreranno il progetto e andranno a beneficio dell'intera comunità. In questo documento vengono fornite linee guida e procedure consigliate per iniziare.

Indice dei contenuti

  1. Codice di condotta
  2. Contribuire con le richieste di pull
  3. Segnalazione di bug
  4. Licenza
  5. Conclusione

Codice di condotta

Tutti i collaboratori devono rispettare il Codice di condotta per garantire un ambiente accogliente e inclusivo per tutti.

Contribuire con le richieste di pull

Accogliamo con favore i contributi sotto forma di pull request. Per semplificare il processo di revisione, segui queste linee guida:

  1. Aprire il repository: Sostituisci il repository Ultralytics YOLO con il tuo account GitHub.

  2. Crea un ramo: Crea un nuovo ramo nel tuo repository con un nome descrittivo per le tue modifiche.

  3. Apporta le tue modifiche: Assicurati che le tue modifiche seguano lo stile di codifica del progetto e non introducano nuovi errori o avvisi.

  4. Prova le tue modifiche: Testa le tue modifiche in locale per assicurarti che funzionino come previsto e che non introducano nuovi problemi.

  5. Impegna le tue modifiche: Applica le modifiche con un messaggio di commit descrittivo. Includi nel messaggio di commit qualsiasi numero di problema rilevante.

  6. Crea una richiesta di pull: Crea una richiesta di pull dal tuo repository biforcuto al repository principale Ultralytics YOLO . Fornisci una spiegazione chiara delle tue modifiche e del modo in cui migliorano il progetto.

Firma del CLA

Prima di poter accettare la tua richiesta di pull, devi firmare il Contributor License Agreement (CLA). Questo documento legale garantisce che i tuoi contributi siano autorizzati correttamente e che il progetto possa continuare a essere distribuito con la licenza AGPL-3.0 .

Per firmare il CLA, segui le istruzioni fornite dal bot CLA dopo aver inviato la tua PR e aggiungi un commento nella tua PR dicendo:

I have read the CLA Document and I sign the CLA

Google-Stili Docstring

Quando aggiungi nuove funzioni o classi, includi una docstring in stile Google per fornire una documentazione chiara e concisa agli altri sviluppatori. Questo aiuta a garantire che i tuoi contributi siano facili da capire e da mantenere.

Esempi di documentazione

Questo esempio mostra una docstring in stile Google. Nota che sia l'input che l'output types deve essere sempre racchiuso tra parentesi, ad es. (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

Questo esempio mostra sia una docstring in stile Google che suggerimenti sul tipo di argomento e sul tipo di ritorno, anche se entrambi non sono obbligatori; uno può essere usato senza l'altro.

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

Le funzioni più piccole o più semplici possono utilizzare una docstring a riga singola. Si noti che la docstring deve utilizzare 3 virgolette doppie ed essere una frase completa che inizia con una lettera maiuscola e termina con un punto.

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

Azioni GitHub Test CI

Prima che la tua richiesta di pull possa essere unita, tutti i test di GitHub Actions Continuous Integration (CI) devono essere superati. 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 delle Azioni GitHub e risolvi eventuali problemi.

Segnalazione di bug

Apprezziamo le segnalazioni di bug perché svolgono un ruolo cruciale nel mantenimento della qualità del progetto. Quando si segnalano i bug, è importante fornire un Esempio minimo riproducibile: un esempio di codice chiaro e conciso che riproduce il problema. Questo aiuta a identificare e risolvere rapidamente il bug.

Licenza

Ultralytics abbraccia la GNU Affero General Public License v3.0 (AGPL-3.0 ) per i suoi repository, promuovendo l'apertura, la trasparenza e il miglioramento collaborativo nello sviluppo del software. Questa forte licenza copyleft garantisce a tutti gli utenti e agli sviluppatori la libertà di utilizzare, modificare e condividere il software. Favorisce la collaborazione della comunità, assicurando che qualsiasi miglioramento rimanga accessibile a tutti.

Gli utenti e gli sviluppatori sono invitati a familiarizzare con i termini di AGPL-3.0 per contribuire in modo efficace ed etico alla comunità open-source di Ultralytics .

Conclusione

YOLO Grazie per il tuo interesse a contribuire ai progetti open-source diUltralytics . La tua partecipazione è fondamentale per dare forma al futuro del nostro software e per promuovere una comunità di innovazione e collaborazione. Che tu stia migliorando il codice, segnalando bug o suggerendo funzionalità, i tuoi contributi hanno un impatto significativo.

Non vediamo l'ora di vedere le vostre idee in azione e apprezziamo il vostro impegno nel far progredire la tecnologia di rilevamento degli oggetti. Continuiamo a crescere e innovare insieme in questo entusiasmante viaggio verso l'open source. Buona programmazione! 🚀🌟

DOMANDE FREQUENTI

Perché dovrei contribuire ai repository open-source di Ultralytics YOLO ?

Contribuire ai repository open-source di Ultralytics YOLO aiuta a migliorare 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 offre la possibilità di collaborare con altri sviluppatori ed esperti del settore, aumentando le tue capacità e la tua reputazione. Per informazioni su come iniziare, consulta la sezione Contribuire tramite le richieste di pull.

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. In questo modo ti assicurerai 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 nella tua richiesta di pull menzionando:

I have read the CLA Document and I sign the CLA

Per maggiori informazioni, consulta la sezione Firma CLA.

Cosa sono le docstringhe 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 docstringhe descrivono lo scopo della funzione, gli argomenti e i valori di ritorno con regole di formattazione specifiche. Quando contribuisci a Ultralytics YOLO , il rispetto delle docstringhe in stile Google garantisce che le tue aggiunte siano comprensibili e ben documentate. 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 venga unita, deve superare tutti i test di GitHub Actions Continuous Integration (CI). Questi test includono linting, test unitari e altri controlli per garantire che il codice soddisfi gli standard di qualità del progetto. Esamina i risultati delle Azioni GitHub 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.



Creato 2023-11-12, Aggiornato 2024-07-04
Autori: glenn-jocher (8), UltralyticsAssistant (1)

Commenti