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

fk-util-tools

Utility tools and shared functions for FK projects: centralized configuration, logging, middlewares, AWS integration, and OpenTelemetry tracing for Python web frameworks.

Installation

pip install fk-util-tools

Main Features

  • Centralized Configuration: Config class for global settings management.
  • Cache: Redis integration.
  • Environment Variables & AWS: Access to AWS Parameter Store and Secrets Manager.
  • Custom Exceptions: HTTP error handling with custom codes.
  • Structured Logging: Logging for FastAPI and other frameworks.
  • Middlewares: SQL Printer, error handling, internationalization, and language support for Flask, Django, and FastAPI.
  • OpenTelemetry Tracing: Instrumentation for Flask, Django, FastAPI, and AWS Lambda.
  • Type Hints: PEP 561 support.

Usage Examples

Configuration

from fk_utils import SETTINGS
print(SETTINGS.ENV)

Structured Logging in FastAPI

from fastapi import FastAPI
from fk_utils.logging.fastapi.logging import setup_logging

app = FastAPI()
setup_logging(app)

SQL Printer Middleware

Flask

from flask import Flask
from fk_utils.middlewares.flask.sql_middleware import SqlPrintingMiddleware

app = Flask(__name__)
app.config['DEBUG'] = True
SqlPrintingMiddleware(app)

Django

from fk_utils.middlewares.django.sql_middleware import SqlPrintingMiddleware

SqlPrintingMiddleware()

FastAPI

from fk_utils.middlewares.fastapi.sql_middleware import SqlPrintingMiddleware

app = FastAPI()
SqlPrintingMiddleware(app)

OpenTelemetry Instrumentation

from fk_utils.traces.opentelemetry.fastapi.trace import instrument_app

app = FastAPI()
instrument_app(app)

AWS Lambda Instrumentation

from fk_utils.traces.opentelemetry.fastapi.aws_lambda.trace import instrument_app

app = FastAPI()
is_lambda = instrument_app(app, instrument_lambda=True)
print("Lambda instrumented:", is_lambda)

License

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.29.tar.gz (12.4 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.29-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file fk_util_tools-0.1.29.tar.gz.

File metadata

  • Download URL: fk_util_tools-0.1.29.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.13.12 Linux/6.14.0-1017-azure

File hashes

Hashes for fk_util_tools-0.1.29.tar.gz
Algorithm Hash digest
SHA256 1071f7e6a71dead27fc8b807fd7f1cfe571282cab79edf5f1d2f83bbbcb44849
MD5 b341458254dea2724d7efffa36094ebb
BLAKE2b-256 00f8b6372b87303bba0af8208c1fd3df65724f6b87d55064e5da07ac5822bc92

See more details on using hashes here.

File details

Details for the file fk_util_tools-0.1.29-py3-none-any.whl.

File metadata

  • Download URL: fk_util_tools-0.1.29-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.13.12 Linux/6.14.0-1017-azure

File hashes

Hashes for fk_util_tools-0.1.29-py3-none-any.whl
Algorithm Hash digest
SHA256 3037b2733f34291a8a3fab24c083dc003c93e48a9dfcaf50de1f2ceac4391727
MD5 fb627c2e6466bc3fba14c4b436bea2e6
BLAKE2b-256 8f43f3b0c952c3ccc0a51dc7b47296f665fd81384f05ddaf7a434bf5932bca3d

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