Librería para agilizar el desarrollo de nuestros programadores en el Banco Galicia
Project description
LibGal
Librería para agilizar el desarrollo de nuestros programadores en el Banco Galicia
Explorar el proyecto»
Reportar error
Tabla de Contenidos
Descripción General
Esta librería python fue desarrollada desde el CoE Data Driven del Banco Galicia con la finalidad de agilizar el desarrollo de aplicaciones con funciones configurables minimizando de esta forma el código de nuestra aplicación permitiendonos centrarnos en la funcionalidad principal de la aplicación a desarrollar.
Instalación
La instación de esta librería se hace mediante siguiente sentencia:
pip install libgal
Funcionalidades
Para hacer uso de las diferentes funcionalidades de esta librería basta con importar la misma en nuestro código con la siguiente sentencia:
import libgal
Una vez importada la librería solo nos queda instanciar en una variable la función que necesitemos tal como se muestra a continuación.
browser=libgal.variables_entorno()
Variables de Entorno
Para poder usar las variables de entorno de forma local con esta librería será necesario crear un archivo de texto cuyo nombre y extensión será “.env”. Por defecto esta librería tomará el archivo “.env” que se encuentra ubicado en la raíz de nuestro ejecutable python. Dentro de este mismo archivo “.env” podemos especificar todas las variables secrets y configmap que utilizará nuestra aplicación, tal como se muestra en el siguiente ejemplo:
#SECRETS
USERNAME = usuario@correo.com
PASSWORD = contraseña
#CONFIGMAP
API_PREDICT=https://dwos-dataanalytics.bancogalicia.com.ar/predict
API_AUDIENCIAS=https://dwos-dataanalytics.bancogalicia.com.ar/audiencias
CANT_POST=10 #Cantidad de últimos posts a descargar
Es importante mencionar que al momento de desplegar nuestra aplicación no se debe subir este archivo “.env” ya que solo es para ejecuciones y pruebas en modo local que simula estar en openshift.
Ahora bien, para poder usar estas variables dentro de nuestro código solo será necesario importar la librería LIBGAL e instanciar en una variable la función VARIABLES_ENTORNO y así poder acceder a las variables de entorno mediante la misma, tal cómo se muestra en el siguiente ejemplo:
import libgal
ve=libgal.variables_entorno()
api_predict=ve['API_PREDICT']
api_audiencias=ve['API_AUDIENCIAS']
Nótese que para invocar los nombres de las variables es necesario escribirlas en mayúscula.
En caso de que el archivo “.env” se encuentre en otra ruta o se necesite manejar varios varios archivos “.env” para simular entornos separados como, por ejemplo: .env.desa, .env.qa, etc. En este caso será necesario indicar la ruta y nombre del archivo “.env” al instanciar la variable, tal como se muestra a continuación:
ve=libgal.variables_entorno('ruta/del/archivo/.env.nombre')
Registro de Logs
Haciendo uso de esta librería no nos tenemos que preocupar por la configuración de nuestros registros logs, ya que la misma se encarga de ello mediante unos pocos pasos. Para hacer esto, solo debemos llamar la función LOGGER de la librería y asignarla a una variable para poder usar en el resto de nuestro código.
La función LOGGER consta de dos parámetros de configuración de tipo string:
- format_output: (Requerido, Tipo String) Indica el tipo de formato para el registro log de nuestra aplicación. Por los momentos consta de dos tipos: “JSON” usado para los logs dentro del entorno Openshift y “CSV” para generar el log en una sola línea separados por coma (,).
- app_name: (Requerido, Tipo String) En este parámetro especificaremos el nombre de nuestra aplicación. Recordemos que nuestro archivo Python principal deberá llamar APP.PY.
Para crear un registro log mediante esta función en nuestra aplicación solo debemos hacer uso de nuestra variable tipo LOGGER de forma muy similar al “print” de Python pero con un agregado adicional y es que podemos definir el nivel de Log para cada registro, tal como lo veremos en el siguiente código de ejemplo:
Import libgal
log=libgal.logger(format_output="JSON", app_name="Instagram")
log.info("Esto es un registro informativo")
log.error("Esto es un registro de error")
log.warning("Esto es un registro de advertencia")
log.critical("Esto es un registro de error crítico")
log.exception("Esto es un registro de excepción")
log.log("Esto es un registro de log")
Selenium Web Browser Firefox
Mediante la librería podemos hacer la invocación un Web Browser de Selenium para nuestras automatizaciones, test y/o extracciones de datos de cualquier página web. Esto se logra invocando la función Firefox de la librería e instanciándola a una variable.
La función consta de 4 parámetros de configuración:
- webdriver_path: (Requerido, Tipo String) Ruta del driver geckodriver utilizado para levantar e invocar el Web Browser de Firefox.
- browser_path: (Requerido, Tipo String) Ruta del ejecutable Firefox.exe del servidor o equipo local necesario para levantar el Web Browser.
- url: (Requerido, Tipo String) Dirección Web con la que vamos a mediante el Web Browser.
- Hidden: (Opcional, Tipo Booleano) Indica si el Web Browser se oculta durante su ejecución. False predeterminado.
Ejemplo:
import libgal
browser=libgal.firefox(webdriver_path=r"C:\webdrivers\geckodriver.exe",browser_path=r"C:\Program Files\Mozilla Firefox\firefox.exe",url="https://bolsar.info/Cauciones.php")
Teradata
Para simplificar un poco las conexiones a Teradata se agregó esta nueva funcionalidad.
La misma consta de solo 3 parámetros:
-
Host: (Requerido, Tipo String) Indica el servidor de base de datos al cual nos deseamos conectar.
-
User: (Requerido, Tipo String) Usuario necesario para la conexión al servidor de base de datos.
-
Password: (Requerido, Tipo String) Contraseña con la que se autentica el usuario para poderse conectar a la base de datos.
Un ejemplo de su uso puede ser el siguiente:
import libgal
con=libgal.teradata(host=‘servidor’, user=‘tu_user’, password=‘tu_password’)
Contacto
Jean González - @jeanmgonzalez
Julian Girandez - @julgiraldez
Link del proyecto: https://github.com/Banco-Galicia/libgal
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.