Skip to content

jeanmgonzalez/libgal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LibGal

Librería para agilizar el desarrollo de productos de datos en Python.

Home

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.

Ir arriba

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

LinkedIn

Julian Girandez - @julgiraldez

LinkedIn

Sebastian Wilwerth - @swilwerth

LinkedIn

Volver al inicio

Releases

No releases published

Packages

No packages published

Languages