Roche Data Chapter Team Library
Description
Una biblioteca modular en Python desarrollada para estandarizar y simplificar la creación de procesos ETL y automatizaciones. Pensada para equipos de datos que requieren integraciones con múltiples fuentes, soporte de logs y trazabilidad, y herramientas de administración de jobs SQL.
Características principales
🔌 Conectores de Base de Datos
- Conexiones automáticas a SQL Server, Oracle, SAP HANA, MySQL, Snowflake y Redshift utilizando variables de entorno para parametrización segura.
- Soporte de ejecución de consultas personalizadas y procedimientos almacenados.
- Lectura directa a
pandas.DataFrameo listas JSON. - Índice de funciones:
DbConfig.execute_custom_select_query: ejecuta consultasSELECTy devuelve resultados en DataFrame o JSON.DbConfig.execute_stored_procedure: ejecuta procedimientos almacenados con parámetros tipados.DbConfig.test_bind_connection: valida si unbindde conexión está disponible.
📊 Transformaciones de Datos
- Conversión robusta de fechas, números, nulos y tipos de datos desde hojas de cálculo o APIs externas.
- Estándares predefinidos para Google Sheets y Excel.
- Índice de funciones:
DataTransformer.datestr_to_date: convierte texto a fecha según formato.DataTransformer.date_to_str: convierte fecha a texto formateado.DataTransformer.str_to_float: transforma texto numérico afloat.DataTransformer.str_to_int: transforma texto numérico aint.DataTransformer.nan_to_none: normaliza valores vacíos (NaN/cadena vacía) aNone.DataTransformer.gsheet_days_since_to_date: convierte serial de fecha de Google Sheets adatetime.
📤 Google API Services
- Lectura/escritura en hojas de Google Sheets.
- Carga y descarga de archivos desde Google Drive.
- Manejo de credenciales OAuth2 y reintentos automáticos.
- Índice de funciones:
GoogleServices.read_gsheet_data: lee datos de Google Sheets a DataFrame o JSON.GoogleServices.write_gsheet_data: escribe un DataFrame en un rango de Google Sheets.GoogleServices.upload_file_to_drive: sube archivos a una carpeta de Google Drive.GoogleServices.read_excel_data_from_google_drive: descarga y lee archivos Excel desde Drive.GoogleServices.read_csv_data_from_google_drive: descarga y lee archivos CSV desde Drive.GoogleServices.retry_request: reintenta solicitudes ante errores transitorios.
📩 Email Automation con AppSheet
- Gestión automatizada del envío de emails usando AppSheet como backend.
- Soporte para archivos adjuntos en Google Drive (PDF, Excel, TXT).
- Índice de funciones:
EmailService.send_email: arma y registra el envío de correo en AppSheet.EmailService.get_email_register_to_and_cc_and_bcc: obtiene destinatarios configurados porsysname.AppsheetService.add_registers_to_table: inserta registros en tablas de AppSheet.GoogleServices.upload_file_to_drive: carga adjuntos a Drive para su referencia en el correo.
📁 Generación de Excel
- Creación de archivos Excel multiformato con estilo, desde múltiples
DataFrame. - Ancho de columnas y formatos aplicados automáticamente.
- Índice de funciones:
ExcelFile.append_sheet_from_df: agrega hojas al archivo desde DataFrames.ExcelFile.save: genera y guarda el archivo Excel final.ExcelFile._format_workbook: aplica estilos, bordes y autoajuste de columnas.
📅 SQL Server Agent Job Manager
- Creación, actualización y administración de SQL Jobs directamente desde Python.
- Utilidad especialmente útil para entornos corporativos que ejecutan ETLs como tareas programadas.
- Índice de funciones:
JobManager.create_python_job: crea jobs de SQL Server Agent con paso inicial de ejecución.JobManager.update_python_job: actualiza owner y comando de un job existente.JobManager.get_job_id_by_job_name: busca el identificador del job por nombre.
📑 Logging persistente
- Sistema de log en archivos
.logy persistencia opcional en base de datos. - Integrado con
JobExecutionyJobExecutionLog. - Índice de funciones:
Logger.info: registra eventos informativos en archivo y opcionalmente en BD.Logger.warning: registra advertencias operativas.Logger.error: registra errores del proceso.Logger._log_to_db: persiste cada evento de log en tablas de ejecución.LoggerSingleton.init: inicializa una instancia global reutilizable del logger.
Usage
Está pensada para ser utilizado como requisito en cualquier proyecto ETL en Python.
Support
- Ignacio Castillo (ignacio.castillo@roche.com)
- Diego Pedro (diego.pedro@contractors.roche.com)
Authors and acknowledgment
Lucas Frías (lucas.frias@roche.com) Uciel Bustamante (uciel.bustamante@contractors.roche.com)
Metadata
Release files for roche-datachapter-team-lib 0.0.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| roche_datachapter_team_lib-0.0.16.tar.gz | 31.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| roche_datachapter_team_lib-0.0.16-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.7 kB
Release files / roche_datachapter_team_lib-0.0.16.tar.gz
| Download URL | roche_datachapter_team_lib-0.0.16.tar.gz |
|---|---|
| Size | 31.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1aa00961054bcd6f8882336423b4479f559c7c6876477a67be7adfa9ac0e6f71
|
|
BLAKE2b-256 checksum How to use checksums |
40ebb109a4015c57498b56ceef9c0a472ac3c3e82a6dec33068f7ef44ce540c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.1
|
Release files / roche_datachapter_team_lib-0.0.16-py3-none-any.whl
| Download URL | roche_datachapter_team_lib-0.0.16-py3-none-any.whl |
|---|---|
| Size | 28.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e612dca2ec7cecee2d659618779f57fc76e7be1d47dba0ea37f78bbe23ed159a
|
|
BLAKE2b-256 checksum How to use checksums |
2d375f2224427655c31e6faf46cc96cb9be61bfa0290e5b7ea166246ec136ae9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.1
|