Guía de implementación y configuración del proyecto CPM

Estructura del repositorio

El proyecto CPM se organiza de la siguiente manera dentro del repositorio:

CPM/
├── config/
│   ├── config.py
│   └── settings.py
├── src/
│   ├── __init__.py
│   ├── main.py
│   └── utils/
│       ├── __init__.py
│       └── helper.py
├── tests/
│   ├── __init__.py
│   └── test_main.py
├── README.md
└── requirements.txt

Descripción de los directorios

  • config/: Contiene los archivos de configuración del sistema, específicamente config.py y settings.py.
  • src/: Directorio principal del código fuente donde reside la lógica de negocio y las funciones auxiliares.
    • main.py: Punto de entrada de la aplicación.
    • utils/: Funciones utilitarias reutilizables.
  • tests/: Conjunto de pruebas del proyecto.
  • README.md: Documentación genarel.
  • requirements.txt: Lista de dependencias de Python.

Archivo de inicio

El punto de partida de la aplicación se encuentra en src/main.py. Este módulo se encarga de leer las configuraciones, preparar el entorno y ejecutar la aplicación.

Estructura del código de arranque

from config.config import obtener_configuracion
from src.utils.helper import preparar_aplicacion

def iniciar():
    parametros = obtener_configuracion()
    instancia = preparar_aplicacion(parametros)
    instancia.ejecutar()

if __name__ == "__main__":
    iniciar()

Responsabilidades del módulo

  • obtener_configuracion(): Recupera los parámetros de configuración desde las variables de entorno o valores predeterminados.
  • preparar_aplicacion(): Construye la instancia de la aplicación usando los parámetros recibidos.
  • instancia.ejecutar(): Pone en marcha la aplicación.

Archivos de configuración

Los archivos de configuarción se ubican en el directorio config/ y están formados por config.py y settings.py.

Contenido de config.py

import os

def obtener_configuracion():
    parametros = {
        "modo_debug": os.getenv("DEBUG", False),
        "ruta_bd": os.getenv("DATABASE_URI", "sqlite:///default.db"),
        "clave_secreta": os.getenv("SECRET_KEY", "default_secret_key")
    }
    return parametros

Contenido de settings.py

# Valores predeterminados del sistema
CONFIGURACION_BASE = {
    "modo_debug": False,
    "ruta_bd": "sqlite:///default.db",
    "clave_secreta": "default_secret_key"
}

Función de los archivos

  • config.py: Lee las variables de entorno y construye un diccionario con la configuración activa.
  • settings.py: Define los valores predeterminados que config.py utiliza como respaldo.

Mediante estos archivos es posible personalizar el comportamiento del proyecto, incluyendo el entorno de ejecución y la conexión a la base de datos.

Etiquetas: CPM Python configuracion estructura-de-proyectos open-source

Publicado el 6-27 16:44