Librería para agilizar el desarrollo de productos de datos en Python.
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.
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.
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'}
Jean González - @jeanmgonzalez
Julian Girandez - @julgiraldez
Sebastian Wilwerth - @swilwerth