Guía para Colaboradores
Gracias por su interés en mejorar este proyecto. Este proyecto es de código abierto bajo la licencia GPL-3 y se aceptan contribuciones en forma de informes de errores, solicitudes de funciones y solicitudes de extracción.
Aquí hay una lista de recursos importantes para los contribuyentes:
Issues🔗
Issues se puede utilizar para sugerencias de mejoras, informes de errores y preguntas.
Cómo informar un error🔗
Informar errores en Issues.
Al presentar un problema, asegúrese de responder estas preguntas:
- ¿Qué sistema operativo y versión de Python estás usando?
- ¿Qué versión de este proyecto estás usando?
- ¿Qué hiciste?
- ¿Qué esperabas ver?
- ¿Qué viste en su lugar?
La mejor manera de solucionar el error es proporcionar un caso de prueba y/o pasos para reproducir el problema.
Cómo configurar su entorno de desarrollo🔗
Necesitas Python 3.9+, poetry y Nox.
Cómo probar el proyecto🔗
Ejecute el conjunto de pruebas completo:
Ejecute las pruebas para una sola versión de Python:
Ejecute las pruebas para solo uno entre renardo y foxdot:
Las pruebas unitarias se encuentran en el directorio tests/ y se escriben utilizando el marco de prueba pytest.
Cómo documentar los cambios🔗
mkdocs-material se utiliza para crear documentación del proyecto junto con mkdocstrings para documentar la API en formato numpydoc.
La documentación del proyecto se encuentra en el directorio docs/. Al principio, si necesita cambiarlo, esto solo se puede hacer en docs/en/ en inglés.
La documentación de la API se realiza en docstring en el estándar numpydoc.
Puede cargar un servidor de documentación localmente para ver los cambios en tiempo real antes de confirmarlos. Utilice el siguiente comando para iniciar el servidor:
Traducciones🔗
Las contribuciones a las traducciones siempre son bienvenidas.
El complemento mkdocs mkdocs-static-i18n se utiliza para crear el marco de
traducción. La configuración de internacionalización se encuentra en el archivo
mkdocs.yml en la sección plugin. Un punto de atención son los languages.
Si está agregando un nuevo idioma, comience allí:
Ejemplo:
plugins:
- i18n:
# ...
languages:
- locale: en
default: true
name: English
- locale: es
name: Español
También puedes traducir la descripción del sitio y su barra de navegación.
plugins:
- i18n:
# ...
languages:
- locale: en
default: true
name: English
- locale: es
name: Español
nav_translations:
"Contributor Guide": Guía para contribuyentes
Además, llame a un directorio con el mismo nombre de ubicación en la pregunta dentro de docs/.
La estructura de archivos de este directorio debe seguir la misma que los demás (al menos la sección que se quiere traducir, si no existe se utilizará la sección estándar en inglés).
docs
├── assets
│ ...
├── en
│ ├── api
│ │ ├── chord.md
│ │ └── pchord.md
│ ├── changelog.md
│ ├── contributing.md
│ ├── index.md
│ └── tutorial
│ ├── theory.md
│ └── usage.md
└── es
├── contributing.md
├── index.md
└── tutorial
├── theory.md
└── usage.md
De esta manera se puede hacer la internacionalización.
Cómo enviar cambios🔗
Abra una pull request para enviar cambios a este proyecto.
Su solicitud de extracción debe cumplir con las siguientes pautas para ser aceptada:
- El CI debería pasar sin errores ni advertencias.
- Incluye pruebas unitarias. Este proyecto mantiene la cobertura del código.
- Si sus cambios agregan funcionalidad, actualice la documentación en consecuencia.
No dude en enviarlo con antelación; siempre podemos repetirlo.