Saltar al contenido

Contribuir a los proyectos de c贸digo abierto de Ultralytics

隆Bienvenido/a! Estamos encantados de que te plantees contribuir a nuestros Ultralytics proyectos de c贸digo abierto. Tu participaci贸n no s贸lo ayuda a mejorar la calidad de nuestros repositorios, sino que tambi茅n beneficia a toda la comunidad. Esta gu铆a proporciona directrices claras y buenas pr谩cticas para ayudarte a empezar.

Ultralytics colaboradores de c贸digo abierto

脥ndice

  1. C贸digo de conducta
  2. Contribuir mediante Pull Requests
  3. Informar de errores
  4. Licencia
  5. Conclusi贸n
  6. PREGUNTAS FRECUENTES

C贸digo de conducta

Para garantizar un entorno acogedor e integrador para todos, todos los colaboradores deben cumplir nuestro C贸digo de Conducta. El respeto, la amabilidad y la profesionalidad est谩n en el coraz贸n de nuestra comunidad.

Contribuir mediante Pull Requests

Agradecemos enormemente las contribuciones en forma de pull requests. Para que el proceso de revisi贸n sea lo m谩s fluido posible, sigue estos pasos:

  1. Bifurca el repositorio: Comienza bifurcando el repositorio Ultralytics YOLO en tu cuenta de GitHub.

  2. Crea una rama: Crea una nueva rama en tu repositorio bifurcado con un nombre claro y descriptivo que refleje tus cambios.

  3. Haz tus cambios: Aseg煤rate de que tu c贸digo se ajusta a las directrices de estilo del proyecto y no introduce nuevos errores o advertencias.

  4. Prueba tus cambios: Antes de enviarlos, prueba tus cambios localmente para confirmar que funcionan como se espera y que no causan nuevos problemas.

  5. Confirma tus cambios: Confirma tus cambios con un mensaje de confirmaci贸n conciso y descriptivo. Si tus cambios se refieren a un problema concreto, incluye el n煤mero del problema en tu mensaje de confirmaci贸n.

  6. Crea un pull request: Env铆a un pull request desde tu repositorio bifurcado al repositorio principal de Ultralytics YOLO . Proporciona una explicaci贸n clara y detallada de tus cambios y de c贸mo mejoran el proyecto.

Firma del CLA

Antes de que podamos fusionar tu pull request, debes firmar nuestro Acuerdo de Licencia de Colaborador (CLA). Este acuerdo legal garantiza que tus contribuciones est谩n debidamente licenciadas, permitiendo que el proyecto siga distribuy茅ndose bajo la licencia AGPL-3.0 .

Tras enviar tu pull request, el bot CLA te guiar谩 a trav茅s del proceso de firma. Para firmar el CLA, simplemente a帽ade un comentario en tu PR indicando:

I have read the CLA Document and I sign the CLA

Google-Estilo Docstrings

Cuando a帽adas nuevas funciones o clases, incluye docstrings al estilo de Google. Estos docstrings proporcionan una documentaci贸n clara y estandarizada que ayuda a otros desarrolladores a entender y mantener tu c贸digo.

Ejemplo de Docstrings

Este ejemplo ilustra un docstring del estilo Google. Aseg煤rate de que tanto la entrada como la salida types siempre van entre par茅ntesis, por ejemplo (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

Este ejemplo incluye tanto un docstring al estilo Google como sugerencias de tipo para los argumentos y los retornos, aunque tambi茅n es aceptable utilizar cualquiera de los dos de forma independiente.

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

Para funciones m谩s peque帽as o sencillas, puede bastar con una docstring de una sola l铆nea. La docstring debe utilizar tres comillas dobles, ser una frase completa, empezar con may煤scula y terminar con un punto.

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

Acciones de GitHub Pruebas CI

Todas las pull requests deben superar las pruebas de Integraci贸n Continua (IC) de las Acciones de GitHub antes de que puedan fusionarse. Estas pruebas incluyen linting, pruebas unitarias y otras comprobaciones para asegurar que tus cambios cumplen los est谩ndares de calidad del proyecto. Revisa el resultado de la integraci贸n continua y soluciona cualquier problema que surja.

Informar de errores

Valoramos mucho los informes de errores, ya que nos ayudan a mantener la calidad de nuestros proyectos. Cuando informes de un fallo, proporciona un Ejemplo M铆nimo Reproducible: unejemplo de c贸digo sencillo y claro que reproduzca el problema de forma coherente. Esto nos permite identificar y resolver r谩pidamente el problema.

Licencia

Ultralytics utiliza la Licencia P煤blica General Affero GNU v3.0 (AGPL-3.0 ) para sus repositorios. Esta licencia promueve la apertura, la transparencia y la mejora colaborativa en el desarrollo de software. Garantiza que todos los usuarios tengan libertad para utilizar, modificar y compartir el software, fomentando una s贸lida comunidad de colaboraci贸n e innovaci贸n.

Animamos a todos los colaboradores a familiarizarse con los t茅rminos de la licencia AGPL-3.0 para contribuir de forma eficaz y 茅tica a la comunidad de c贸digo abierto Ultralytics .

Conclusi贸n

Gracias por tu inter茅s en contribuir a Ultralytics los proyectos de c贸digo abierto de YOLO . Tu participaci贸n es esencial para dar forma al futuro de nuestro software y construir una vibrante comunidad de innovaci贸n y colaboraci贸n. Ya sea mejorando el c贸digo, informando de errores o sugiriendo nuevas funciones, tus contribuciones son inestimables.

Nos entusiasma ver c贸mo tus ideas cobran vida y apreciamos tu compromiso con el avance de la tecnolog铆a de detecci贸n de objetos. Juntos, sigamos creciendo e innovando en este apasionante viaje de c贸digo abierto. 隆Feliz programaci贸n! 馃殌馃専

PREGUNTAS FRECUENTES

驴Por qu茅 deber铆a contribuir a los repositorios de c贸digo abierto de Ultralytics YOLO ?

Contribuir a los repositorios de c贸digo abierto de Ultralytics YOLO mejora el software, haci茅ndolo m谩s robusto y rico en funciones para toda la comunidad. Las contribuciones pueden incluir mejoras del c贸digo, correcciones de errores, mejoras de la documentaci贸n e implementaciones de nuevas funciones. Adem谩s, contribuir te permite colaborar con otros desarrolladores cualificados y expertos en la materia, mejorando tus propias habilidades y reputaci贸n. Para m谩s detalles sobre c贸mo empezar, consulta la secci贸n Contribuir mediante Pull Requests.

驴C贸mo firmo el Acuerdo de Licencia de Contribuidor (CLA) para Ultralytics YOLO ?

Para firmar el Acuerdo de Licencia de Contribuidor (CLA), sigue las instrucciones proporcionadas por el bot CLA despu茅s de enviar tu pull request. Este proceso garantiza que tus contribuciones est谩n debidamente licenciadas bajo la licencia AGPL-3.0 , manteniendo la integridad legal del proyecto de c贸digo abierto. A帽ade un comentario en tu pull request indicando:

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

Para m谩s informaci贸n, consulta la secci贸n Firma CLA.

驴Qu茅 son los docstrings de estilo Google y por qu茅 son necesarios para las contribuciones a Ultralytics YOLO ?

Google-proporcionan una documentaci贸n clara y concisa de las funciones y clases, mejorando la legibilidad y el mantenimiento del c贸digo. Estas docstrings describen el prop贸sito de la funci贸n, sus argumentos y valores de retorno con reglas de formato espec铆ficas. Cuando contribuyas a Ultralytics YOLO , seguir los docstrings del estilo de Google garantiza que tus aportaciones est茅n bien documentadas y se entiendan f谩cilmente. Para ver ejemplos y directrices, visita la secci贸n Google-Style Docstrings.

驴C贸mo puedo asegurarme de que mis cambios superan las pruebas de GitHub Actions CI?

Antes de que tu pull request pueda fusionarse, debe superar todas las pruebas de Integraci贸n Continua (IC) de las Acciones de GitHub. Estas pruebas incluyen linting, pruebas unitarias y otras comprobaciones para asegurar que el c贸digo cumple

las normas de calidad del proyecto. Revisa la salida de CI y soluciona cualquier problema. Para obtener informaci贸n detallada sobre el proceso de CI y consejos para solucionar problemas, consulta la secci贸n Pruebas de CI de las acciones de GitHub.

驴C贸mo informo de un error en los repositorios de Ultralytics YOLO ?

Para informar de un fallo, proporciona un Ejemplo M铆nimo Reproducible claro y conciso junto con tu informe de fallo. Esto ayuda a los desarrolladores a identificar y solucionar r谩pidamente el problema. Aseg煤rate de que tu ejemplo es m铆nimo pero suficiente para reproducir el problema. Para pasos m谩s detallados sobre c贸mo informar de fallos, consulta la secci贸n Informar de fallos.


馃搮 Created 10 months ago 鉁忥笍 Updated 4 days ago

Comentarios