Saltar a contenido

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:

nox -s tests

Ejecute las pruebas para una sola versión de Python:

nox -s tests -p 3.13

Ejecute las pruebas para solo uno entre renardo y foxdot:

nox -t renardo
nox -t 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:

nox -s docs

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/.

mkdir docs/es

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.