Librería para la simplificación del código en diversos proyectos de Python
Project description
LibGal
Librería para agilizar el desarrollo de productos de datos en Python.
Tabla de Contenidos
Descripción General
Esta librería de Python está desarrollada con la finalidad de proveer de un entorno de trabajo más amigable y eficiente para el desarrollo de productos de datos.
Entre las funcionalidades que provee esta librería se encuentran diversas abstracciones que permiten la conexión a bases de datos, realizar consultas SQL, cargar y descargar dataframes de Pandas, como también,
la invocación de un Web Browser de Selenium, la manipulación de archivos de texto y la creación de registros logs, entre otras.
Su público objetivo son los desarrolladores de productos de datos que deseen agilizar el desarrollo de sus aplicaciones y automatizaciones.
Instalación
La instalación de esta librería se hace mediante siguiente sentencia:
pip install libgal
Para más información sobre la instalación de la librería, por favor consulte la documentación de instalación.
Proyecto Básico
A continuación, se muestra un ejemplo de como inicializar un nuevo proyecto con libgal:
import logging
import os
from libgal.modules.Logger import Logger
from libgal.modules.FSUtils import init_env
# inicializo los directorios de salida principales en el directorio raíz del proyecto
init_env(os.path.dirname(os.path.abspath(__file__)))
# invoco el logger de la librería y le especifico el directorio de salida de los logs (ruta relativa al directorio raíz del proyecto)
logger_wrapper = Logger()
logger_wrapper.set_outputdir(dirname='./logs', log_format='json')
logger = logger_wrapper.get_logger()
if __name__ == "__main__":
# establezco el nivel de log a DEBUG
logger.setLevel(logging.DEBUG)
logger.info("Inicio de la aplicación")
# resto del código ...
Salida:
2024-02-14 15:31:16,902 PID: 2828 (1824666079424) MainThread [INFO | Logger.py:76] > Generate new instance, hash = 1824666079424
2024-02-14 15:31:16,902 PID: 2828 (1824666079424) MainThread [INFO | FSUtils.py:46] > Creando directorio output
2024-02-14 15:31:16,903 PID: 2828 (1824666079424) MainThread [INFO | FSUtils.py:46] > Creando directorio logs
2024-02-14 15:31:16,903 PID: 2828 (1824666079424) MainThread [INFO | FSUtils.py:46] > Creando directorio db
2024-02-14 15:31:16,903 PID: 2828 (1824666079424) MainThread [INFO | FSUtils.py:76] > Cambiando permisos de output
2024-02-14 15:31:16,904 PID: 2828 (1824666079424) MainThread [INFO | FSUtils.py:76] > Cambiando permisos de logs
2024-02-14 15:31:16,904 PID: 2828 (1824666079424) MainThread [INFO | FSUtils.py:60] > Cambiando permisos de logs\log_2024-02-14.log a 0o664
2024-02-14 15:31:16,904 PID: 2828 (1824666079424) MainThread [INFO | FSUtils.py:76] > Cambiando permisos de db
2024-02-14 15:31:16,906 PID: 2828 (1824666079424) MainThread [INFO | FSUtils.py:60] > Cambiando permisos de logs\log_2024-02-14.log a 0o664
{'time':'02/14/2024 03:31:16 PM', 'pid': '2828', 'instance_hash': '1824666079424', 'thread', 'MainThread', 'name': 'libgal.modules.Logger', 'level': 'INFO', 'file': 'scratch_3.py', 'lineno': 17, 'message': 'Inicio de la aplicación'}
Contacto
Jean González - @jeanmgonzalez
Julian Girandez - @julgiraldez
Sebastian Wilwerth - @swilwerth
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.