Skip to main content

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 Config para 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fk_util_tools-0.1.23.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fk_util_tools-0.1.23-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

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

Hashes for fk_util_tools-0.1.23.tar.gz
Algorithm Hash digest
SHA256 c89b09009ccb52381bcaa1f3a764a1368fcc9320d6b52a0fe968bb4112c3c40b
MD5 1b1302fd43adbde2ac1cf4e988abaa92
BLAKE2b-256 42eaa99aa91cc88abb3af5a3c89336b708578e7dd5856a7b30b1cbc6a49d754d

See more details on using hashes here.

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

Hashes for fk_util_tools-0.1.23-py3-none-any.whl
Algorithm Hash digest
SHA256 dd660efb0553cfb6c60da06475e8e1400f30ab15b8ec24095b115d0cffd27db1
MD5 8b791b27c6d146d220b80ae36a78b09a
BLAKE2b-256 3f493430d9780fb5cc7cf8ebb3d1ff9afe1ffdb6639a39c6fddce1cd768ce649

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page