Skip to content

Archivos del Proyecto

Edkar Chachati edited this page Jan 16, 2024 · 4 revisions

.github/workflows/linter.yml

El archivo .github/workflows/linter.yml contiene la configuración de un flujo de trabajo de GitHub Actions. Este flujo de trabajo se ejecutará en eventos de push y pull_request.

Propósito del Archivo:

  • Nombre del Flujo de Trabajo: Ruff
  • Eventos Activadores: push y pull_request

Descripción del Flujo de Trabajo:

  • jobs: Define un trabajo llamado ruff.
  • runs-on: Especifica el entorno de ejecución como ubuntu-latest.
  • steps: Son los pasos que se deben seguir en este trabajo.
    • actions/checkout@v3: Esta acción es usada para clonar el repositorio en el entorno de ejecución.
    • chartboost/ruff-action@v1: Utiliza una acción llamada ruff-action proporcionada por el repositorio chartboost. Esta acción ejecuta un linter para revisar el código en busca de problemas y aplicar correcciones si es posible.
      • Argumentos utilizados:
        • check: Indica al linter que realice un chequeo del código.
        • --fix-only: Aplica correcciones solo cuando sea seguro hacerlo automáticamente.
        • --unsafe-fixes: Realiza correcciones no completamente seguras pero consideradas apropiadas.
        • --show-fixes: Muestra las correcciones que se aplican.

Propósito del Flujo de Trabajo:

Este flujo de trabajo utiliza la acción ruff-action para ejecutar un linter en el código. El linter revisa el código en busca de problemas y aplica correcciones automáticas cuando sea posible. Esto ayuda a mantener un código limpio y uniforme en el repositorio.


.vscode/extension.json

El archivo .vscode/extension.json contiene recomendaciones de extensiones para Visual Studio Code que se consideran útiles para este proyecto en particular.

Descripción del Archivo:

  • recommendations: Es una lista de extensiones recomendadas para Visual Studio Code.
    • Cada elemento en la lista es el nombre único de una extensión disponible en el marketplace de VS Code.

Propósito del Archivo:

Este archivo proporciona recomendaciones de extensiones para ayudar a los desarrolladores que trabajan en este proyecto a mejorar su experiencia con Visual Studio Code. Las extensiones listadas pueden ser útiles para tareas como formateo de código, revisión ortográfica, soporte para diferentes lenguajes y otras funcionalidades que podrían ser relevantes para el desarrollo del proyecto.


.vscode/settings.json

El archivo .vscode/settings.json contiene configuraciones específicas para Visual Studio Code que se aplican al trabajar con proyectos en Python y algunas herramientas asociadas.

Propósito del Archivo:

Este archivo define las preferencias de configuración específicas de Python para Visual Studio Code. Las configuraciones incluyen ajustes para el formateo automático, el uso de herramientas de linting y corrección ortográfica, así como ajustes específicos para el análisis de código y documentación. Estas configuraciones pueden ayudar a mantener un código limpio y mejorar la eficiencia durante el desarrollo del proyecto.


.env.example

El archivo .env.example muestra un ejemplo de cómo podrían estructurarse las variables de entorno para el proyecto, aunque en este momento no se estén utilizando activamente. Sirve como una guía para mostrar cómo se podrían configurar las variables de entorno en un proyecto Python.

Como buena práctica de seguridad, los valores sensibles, como contraseñas o rutas de acceso a bases de datos, no deben incluirse directamente en el código fuente o en el repositorio. En su lugar, se recomienda utilizar un archivo llamado .env para almacenar estas variables de entorno de manera segura.

Este archivo .env se omite en el control de versiones (como agregarlo al archivo .gitignore) para evitar la exposición de información sensible en el repositorio público.

Propósito del Archivo .env.example:

Aunque actualmente el proyecto no requiera el uso de variables de entorno, este archivo sirve como una guía para futuros desarrollos. Los estudiantes podrían utilizar este ejemplo como referencia para configurar variables de entorno necesarias para diferentes entornos (desarrollo, pruebas, producción) en futuras etapas del proyecto. Esto promueve buenas prácticas de seguridad y separación de configuraciones sensibles del código fuente.


.gitignore

El archivo .gitignore es fundamental en cualquier proyecto controlado por Git. Permite especificar archivos y directorios que deben ser ignorados por Git y no deben ser rastreados ni incluidos en el repositorio.

Propósito del Archivo .gitignore:

El archivo .gitignore asegura que ciertos archivos y directorios no se incluyan accidentalmente en el control de versiones, lo que ayuda a mantener limpio y organizado el repositorio. Esto es especialmente útil para archivos generados automáticamente, dependencias de entorno local y otros archivos que no son esenciales para el repositorio en sí.


License

La licencia determina cómo otros pueden utilizar, modificar y compartir tu trabajo. La licencia MIT es una de las opciones populares en el mundo del código abierto.

Propósito de las Licencias en Open Source:

Las licencias en proyectos de código abierto establecen los términos y condiciones bajo los cuales el software puede ser utilizado, modificado, redistribuido o incluso sublicenciado por otros desarrolladores. Definen los derechos y restricciones que se aplican al software.

La licencia MIT, en particular, es conocida por su permisividad. Permite a los usuarios modificar, distribuir y utilizar el software para cualquier propósito, incluso para proyectos comerciales, siempre y cuando se incluya el aviso de copyright y la declaración de la licencia original en el código.

Recomendación y Recursos:

El sitio web Choose a License es una excelente fuente para explorar y comprender las licencias de código abierto disponibles. Ofrece información detallada sobre diversas licencias, incluyendo sus términos, restricciones y recomendaciones sobre cuándo y cómo usarlas.

La página de la licencia MIT en Choose a License ofrece una visión clara de lo que permite esta licencia y cómo puede afectar tu proyecto.

Recomendar la licencia MIT es una decisión común para aquellos que desean que su código sea ampliamente utilizado y modificado por otros desarrolladores, manteniendo una flexibilidad considerable en términos de uso y distribución.


pyproject.toml

El archivo pyproject.toml contiene la configuración del proyecto, incluyendo las dependencias, herramientas de desarrollo y configuraciones específicas para el linter, el formateador de código y el tipo de verificación estática.

Descripción del Archivo:

  • tool.poetry: Configuración de dependencias del proyecto utilizando Poetry.
  • tool.ruff: Configuración del linter Ruff para comprobar y mantener el código.
  • tool.black: Configuración para el formateador de código Black.
  • tool.mypy: Configuración para el verificador estático de tipos MyPy.

Propósito del Archivo:

Este archivo es esencial para la configuración del proyecto. Define las dependencias, las herramientas de desarrollo y las configuraciones específicas para el linter, el formateador de código y la verificación estática. Ayuda a mantener un código limpio, consistente y libre de errores.