Contribuci贸n a los proyectos de c贸digo abierto Ultralytics
Le damos la bienvenida. Estamos encantados de que est茅s considerando contribuir a nuestros Ultralytics proyectos de c贸digo abierto. Su 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 ayudarle a empezar.
脥ndice
- C贸digo de conducta
- Contribuci贸n mediante Pull Requests
- Notificaci贸n de errores
- Licencia
- Conclusi贸n
- 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.
Contribuci贸n 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, siga estos pasos:
-
Haz un fork del repositorio: Empieza por bifurcar el repositorio Ultralytics YOLO en tu cuenta de GitHub.
-
Crea una rama: Crea una nueva rama en tu repositorio con un nombre claro y descriptivo que refleje tus cambios.
-
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.
-
Pruebe los cambios: Antes de enviar los cambios, pru茅balos localmente para confirmar que funcionan como esperabas y que no causan nuevos problemas.
-
Confirme los cambios: Confirma tus cambios con un mensaje conciso y descriptivo. Si los cambios se refieren a un problema concreto, incluye el n煤mero de problema en el mensaje de confirmaci贸n.
-
Crear un pull request: Env铆a un pull request desde tu repositorio bifurcado al repositorio principal 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 su pull request, debe firmar nuestro Acuerdo de Licencia de Colaborador (CLA). Este acuerdo legal garantiza que sus contribuciones est谩n debidamente licenciadas, lo que permite que el proyecto siga distribuy茅ndose bajo la licencia AGPL-3.0 .
Despu茅s de enviar su pull request, el bot CLA le guiar谩 a trav茅s del proceso de firma. Para firmar el CLA, simplemente a帽ada un comentario en su PR indicando:
Google-Estilo Docstrings
Cuando a帽ada nuevas funciones o clases, incluya documentaci贸n al estilo de Google. Estos docstrings proporcionan documentaci贸n clara y estandarizada que ayuda a otros desarrolladores a entender y mantener su c贸digo.
Ejemplo de cadenas de documentos
Este ejemplo ilustra un docstring del estilo de Google. Aseg煤rese de que tanto la entrada como la salida types
van siempre entre par茅ntesis, p. ej, (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 argumentos y 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.
Acciones de GitHub Pruebas CI
Todas las pull requests deben pasar las pruebas de Integraci贸n Continua (IC) de las Acciones de GitHub antes de ser fusionadas. Estas pruebas incluyen linting, pruebas unitarias y otras comprobaciones para asegurar que tus cambios cumplen los est谩ndares de calidad del proyecto. Revise los resultados de la integraci贸n continua y solucione los problemas que surjan.
Notificaci贸n de errores
Valoramos mucho los informes de errores, ya que nos ayudan a mantener la calidad de nuestros proyectos. Cuando informe de un error, proporcione 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 su inter茅s en contribuir a Ultralytics proyectos de c贸digo abierto de YOLO . Su 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, sus contribuciones son inestimables.
Nos entusiasma ver c贸mo sus ideas cobran vida y apreciamos su 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 le permite colaborar con otros desarrolladores cualificados y expertos en la materia, mejorando sus propias habilidades y reputaci贸n. Para m谩s informaci贸n sobre c贸mo empezar, consulte 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), siga las instrucciones proporcionadas por el bot CLA despu茅s de enviar su pull request. Este proceso garantiza que sus contribuciones est谩n debidamente licenciadas bajo la licencia AGPL-3.0 , manteniendo la integridad legal del proyecto de c贸digo abierto. A帽ada un comentario en su pull request indicando:
Para m谩s informaci贸n, consulte 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 documentaci贸n clara y concisa para funciones y clases, mejorando la legibilidad y el mantenimiento del c贸digo. Estos docstrings describen el prop贸sito de la funci贸n, los argumentos y los valores de retorno con reglas de formato espec铆ficas. Cuando contribuya a Ultralytics YOLO , siga el estilo de documentaci贸n de Google y se asegurar谩 de que sus aportaciones est茅n bien documentadas y sean f谩ciles de entender. Para ver ejemplos y directrices, visite 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. Revise la salida de CI y solucione cualquier problema. Para obtener informaci贸n detallada sobre el proceso de CI y consejos para solucionar problemas, consulte la secci贸n Pruebas de CI de las acciones de GitHub.
驴C贸mo puedo informar de un error en los repositorios de Ultralytics YOLO ?
Para informar de un fallo, proporcione un Ejemplo M铆nimo Reproducible claro y conciso junto con su informe de fallo. Esto ayuda a los desarrolladores a identificar y solucionar r谩pidamente el problema. Aseg煤rese de que su ejemplo es m铆nimo pero suficiente para reproducir el problema. Para obtener informaci贸n m谩s detallada sobre la notificaci贸n de errores, consulte la secci贸n Notificaci贸n de errores.