This repository provides utility tools and common functions for FK projects, including helpers for configuration, logging, middleware, AWS integration, and OpenTelemetry instrumentation for Python web frameworks.
Project description
package-utils
Utilidades y herramientas compartidas para proyectos FK: configuración, logging, middlewares, integración con AWS y trazas OpenTelemetry para frameworks web en Python.
Instalación
pip install fk-util-tools
Características principales
- Configuración centralizada: Clase
Configpara gestionar settings globales. - Cache: Integración con Redis.
- Variables de entorno y AWS: Acceso a parámetros y secretos en AWS Parameter Store y Secrets Manager.
- Excepciones personalizadas: Manejo de errores HTTP customizados.
- Logging estructurado: Logging para FastAPI y otros frameworks.
- Middlewares: SQL Printer, manejo de errores, internacionalización y lenguaje para Flask, Django y FastAPI.
- Trazas OpenTelemetry: Instrumentación para Flask, Django, FastAPI y AWS Lambda.
- Tipado: Soporte para type hints (PEP 561).
Ejemplo de uso: Configuración
from fk_utils import SETTINGS
print(SETTINGS.ENV)
Ejemplo de uso: Logging estructurado en FastAPI
from fastapi import FastAPI
from fk_utils.logging.fastapi.logging import setup_logging
app = FastAPI()
setup_logging(app)
Ejemplo de uso: Middleware SQL Printer
Flask
from flask import Flask
from fk_utils.middlewares.flask.sql_middleware import SqlPrintingMiddleware
app = Flask(__name__)
app.config['DEBUG'] = True
SqlPrintingMiddleware(app)
Django
MIDDLEWARE = [
'fk_utils.middlewares.django.sql_middleware.SqlPrintingMiddleware',
]
FastAPI
from fastapi import FastAPI
from fk_utils.middlewares.fastapi.sql_middleware import SqlPrintingMiddleware
app = FastAPI()
app.add_middleware(SqlPrintingMiddleware, debug=True)
Ejemplo de uso: AWS Parameter Store y Secrets Manager
from fk_utils.envs.aws.parameters import get_parameter
from fk_utils.envs.aws.secrets import get_secret
param = get_parameter('my-param')
secret = get_secret('my-secret')
Ejemplo de uso: Instrumentación OpenTelemetry
FastAPI + AWS Lambda
from fk_utils.traces.opentelemetry.fastapi.aws_lambda.trace import instrument_app
instrument_app(app, instrument_lambda=True)
Flask
from fk_utils.traces.opentelemetry.flask.trace import instrument_app
instrument_app(app)
Django
from fk_utils.traces.opentelemetry.django.trace import instrument_app
instrument_app()
Ejemplo de uso: Excepciones personalizadas
from fk_utils.exceptions.custom_http_exception import CustomHTTPException
raise CustomHTTPException(status_code=400, detail="Bad request")
Compatibilidad
- Python >=3.10
- Compatible con Flask, Django, FastAPI
- Integración con AWS y OpenTelemetry
Licencia
MIT
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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fk_util_tools-0.1.23.tar.gz.
File metadata
- Download URL: fk_util_tools-0.1.23.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.13.7 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c89b09009ccb52381bcaa1f3a764a1368fcc9320d6b52a0fe968bb4112c3c40b
|
|
| MD5 |
1b1302fd43adbde2ac1cf4e988abaa92
|
|
| BLAKE2b-256 |
42eaa99aa91cc88abb3af5a3c89336b708578e7dd5856a7b30b1cbc6a49d754d
|
File details
Details for the file fk_util_tools-0.1.23-py3-none-any.whl.
File metadata
- Download URL: fk_util_tools-0.1.23-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.13.7 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd660efb0553cfb6c60da06475e8e1400f30ab15b8ec24095b115d0cffd27db1
|
|
| MD5 |
8b791b27c6d146d220b80ae36a78b09a
|
|
| BLAKE2b-256 |
3f493430d9780fb5cc7cf8ebb3d1ff9afe1ffdb6639a39c6fddce1cd768ce649
|