ai4i-core
Consolidated utility libraries for AI4I microservices — a single installable package providing the cross-cutting concerns (FastAPI bootstrap helpers, logging, observability, telemetry, exceptions, and email) shared across the AI4I backend services.
Installation
pip install ai4i-core
Subpackages
| Subpackage | Purpose |
|---|---|
ai4i_core.bootstrap |
FastAPI app-factory helpers: cache, database, Redis, health router, rate limiting, schemas, API versioning |
ai4i_core.context |
Shared contextvars (trace id, tenant id, user id, endpoint path) read by the logging and telemetry layers |
ai4i_core.email |
Provider-agnostic transactional email client (SMTP, console; pluggable providers) |
ai4i_core.exceptions |
Shared exception hierarchy, response envelope, and FastAPI exception handlers |
ai4i_core.logging |
Structured JSON logging with trace/tenant correlation and request middleware |
ai4i_core.observability |
Prometheus metrics collection and ASGI middleware |
ai4i_core.telemetry |
OpenTelemetry tracing, W3C context propagation, OpenSearch query clients |
Usage
from ai4i_core.bootstrap import create_service_app, init_database, init_redis
from ai4i_core.logging import get_logger, RequestMiddleware
from ai4i_core.exceptions import AppError, InsufficientPermissionsError
from ai4i_core.observability import setup_observability, ObservabilityMiddleware
from ai4i_core.telemetry import TraceManager, trace_stage
from ai4i_core.email import EmailClient, EmailMessage
from ai4i_core.context import get_trace_id, get_tenant_id
Each subpackage's __init__.py (__all__) lists its full public surface.
Requirements
- Python
>= 3.11
License
MIT — see LICENSE.
Links
Metadata
Release files for ai4i-core 1.0.51
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ai4i_core-1.0.51.tar.gz | 115.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ai4i_core-1.0.51-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 237.3 kB
Release files / ai4i_core-1.0.51.tar.gz
| Download URL | ai4i_core-1.0.51.tar.gz |
|---|---|
| Size | 115.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef9615d4a27124707ce16a9b1214a0d3d31016f1c3f9956d1e88aa6f1786ac2c
|
|
BLAKE2b-256 checksum How to use checksums |
5ff2f0e84a2c54cafa4da48cb287e0ba506135d036215cfdf9035d837a26ea11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / ai4i_core-1.0.51-py3-none-any.whl
| Download URL | ai4i_core-1.0.51-py3-none-any.whl |
|---|---|
| Size | 121.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
edf5e0509f7e12a5e884b396ef4c8aeda955de1a0b187367227bfc9c05fcccd5
|
|
BLAKE2b-256 checksum How to use checksums |
d431de46c46a181ceebd8683617306caa237fd01f9ae490bbd78efdcee0b60d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|