Vai al contenuto

Contribuire ai progetti open source di Ultralytics

Benvenuti! Siamo entusiasti che stiate pensando di contribuire ai nostri progetti Ultralytics progetti open-source. Il vostro 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 aiutarvi a iniziare.

Ultralytics collaboratori open-source

Indice dei contenuti

  1. Codice di condotta
  2. Contribuire tramite richieste di pull
  3. Segnalazione di bug
  4. Licenza
  5. Conclusione
  6. FAQ

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 al centro della nostra comunità.

Contribuire tramite richieste di pull

Apprezziamo molto i contributi sotto forma di richieste di pull. Per rendere il processo di revisione il più agevole possibile, si prega di seguire i seguenti passaggi:

  1. Creare un fork del repository: Iniziare con il fork del repository Ultralytics YOLO sul proprio account GitHub.

  2. Creare un ramo: Creare un nuovo ramo nel repository con un nome chiaro e descrittivo che rifletta le modifiche apportate.

  3. Apportare le modifiche: Assicuratevi che il codice sia conforme alle linee guida di stile del progetto e che non introduca nuovi errori o avvisi.

  4. Testate le modifiche: Prima di inviare le modifiche, testatele in locale per verificare che funzionino come previsto e non causino nuovi problemi.

  5. Eseguire il commit delle modifiche: Impegnare le modifiche con un messaggio di commit conciso e descrittivo. Se le modifiche riguardano un problema specifico, includere il numero del problema nel messaggio di commit.

  6. Creare una richiesta di pull: Inviare una richiesta di pull dal proprio repository biforcuto al repository principale Ultralytics YOLO . Fornire una spiegazione chiara e dettagliata delle modifiche apportate e del modo in cui migliorano il progetto.

Firma del CLA

Prima di poter unire la vostra richiesta di pull, dovete firmare il nostro Contributor License Agreement (CLA). Questo accordo legale assicura che i vostri contributi siano correttamente concessi in licenza, consentendo al progetto di continuare a essere distribuito sotto la licenza AGPL-3.0 .

Dopo aver inviato la richiesta di pull, il bot CLA vi guiderà nel processo di firma. Per firmare il CLA, è sufficiente aggiungere un commento nella propria PR che indichi:

I have read the CLA Document and I sign the CLA

Google-Docstringhe in stile

Quando si aggiungono nuove funzioni o classi, si prega di includere le docstrazioni in stile Google. Queste documentazioni forniscono una documentazione chiara e standardizzata che aiuta gli altri sviluppatori a comprendere e mantenere il codice.

Esempi di stringhe di documenti

Questo esempio illustra una docstring in stile Google. Assicurarsi 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 indipendentemente.

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 funzioni più piccole o semplici, può essere sufficiente una docstring di una sola riga. La stringa di documenti deve utilizzare tre virgolette doppie, essere una frase completa, iniziare con una lettera maiuscola e terminare con un punto.

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

Azioni GitHub Test CI

Tutte le richieste di pull devono superare i test di GitHub Actions Continuous Integration (CI) prima di poter essere unite. Questi test includono linting, test unitari e altri controlli per garantire che le modifiche soddisfino gli standard di qualità del progetto. Esaminate i risultati della CI e risolvete eventuali problemi.

Segnalazione di bug

Apprezziamo molto le segnalazioni di bug, perché ci aiutano a mantenere la qualità dei nostri progetti. Quando si segnala un bug, si prega 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 usare, modificare e condividere il software, favorendo una forte comunità di collaborazione e innovazione.

Incoraggiamo tutti i collaboratori a familiarizzare con i termini della licenza AGPL-3.0 per contribuire in modo efficace ed etico alla comunità open-source di Ultralytics .

Conclusione

Grazie per il vostro interesse a contribuire ai progetti Ultralytics progetti open-source di YOLO . La vostra partecipazione è essenziale per plasmare il futuro del nostro software e costruire una comunità vibrante di innovazione e collaborazione. Che si tratti di migliorare il codice, segnalare bug o suggerire nuove funzionalità, i vostri contributi sono preziosi.

Siamo entusiasti di vedere le vostre idee prendere vita e apprezziamo il vostro impegno nel far progredire la tecnologia di rilevamento degli oggetti. Insieme, continuiamo a crescere e a innovare in questo entusiasmante viaggio open-source. Buon coding! 🚀🌟

FAQ

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, il contributo consente di collaborare con altri sviluppatori ed esperti del settore, migliorando le proprie capacità e la propria reputazione. Per i dettagli su come iniziare, consultare 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), seguire le istruzioni fornite dal bot CLA dopo aver inviato la richiesta di pull. Questo processo assicura che i vostri contributi siano correttamente concessi in licenza secondo la licenza AGPL-3.0 , mantenendo l'integrità legale del progetto open-source. Aggiungere un commento nella richiesta di pull indicando:

I have read the CLA Document and I sign the CLA.

Per ulteriori informazioni, consultare 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 documentazioni descrivono lo scopo della funzione, gli argomenti e i valori di ritorno con regole di formattazione specifiche. Quando si contribuisce a Ultralytics YOLO , seguire i docstring in stile Google assicura che le aggiunte siano ben documentate e facilmente comprensibili. Per esempi e linee guida, visitare la sezione Google-Style Docstrings.

Come posso assicurarmi che le mie modifiche superino i test di GitHub Actions CI?

Prima che la 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

gli standard di qualità del progetto. Esaminare i risultati del CI e correggere eventuali problemi. Per informazioni dettagliate sul processo di CI e suggerimenti per la risoluzione dei problemi, consultare la sezione Test CI delle azioni GitHub.

Come posso segnalare un bug nei repository di Ultralytics YOLO ?

Per segnalare un bug, fornire un esempio minimo riproducibile chiaro e conciso insieme alla segnalazione del bug. Questo aiuta gli sviluppatori a identificare e risolvere rapidamente il problema. Assicurarsi che l'esempio sia minimo ma sufficiente per replicare il problema. Per informazioni più dettagliate sulla segnalazione dei bug, consultare la sezione Segnalazione dei bug.

📅C reato 1 anno fa ✏️ Aggiornato 1 mese fa

Commenti