MIC — fondations agnostiques (contracts, model, http, auth, client, observability, healthcheck, resilience, cli, grpc).
Project description
mic-core
Fondations agnostiques du framework MIC (Model / Interface / Controller).
mic-core est le socle : il ne dépend d'aucune brique de persistance ni de
plateforme (voir le DAG platform → data → core dans
../README.md).
Modules
| Module | Rôle |
|---|---|
mic.contracts |
Contrats / DTO partagés inter-couches |
mic.model |
Erreurs de domaine (DomainError, TransientError), value objects |
mic.http |
Spécifications HTTP agnostiques (HttpRouteSpec, HttpResponseSpec, HttpCookieSpec, HttpRequestContext) |
mic.fastapi |
Adaptateur FastAPI (router builder, middlewares) — extra [fastapi] |
mic.litestar |
Adaptateur Litestar — extra [litestar] |
mic.auth |
JWT service-to-service (signer/verifier) — extra [auth] |
mic.client |
Client HTTP inter-services (httpx) — extra [client] |
mic.observability |
Logs JSON, métriques Prometheus, traces OTel — extra [observability] / [full-observability] |
mic.healthcheck |
Sondes liveness/readiness |
mic.resilience |
Circuit breaker, retry, timeouts |
mic.cli |
Squelette CLI (argparse stdlib) — extra [cli] |
mic.grpc |
Transport gRPC — extra [grpc] |
Le paquet est un namespace PEP 420 (pas de mic/__init__.py) : import mic.*
reste identique côté consommateur, qu'on installe mic-core seul ou avec
mic-datastore / mic-platform.
Installation
pip install "mic-core[fastapi,auth,client,observability]"
Extras
| Extra | Tire |
|---|---|
fastapi |
fastapi + uvicorn[standard] + starlette |
litestar |
litestar |
auth |
pyjwt |
client |
httpx |
observability |
prometheus-client + opentelemetry-api |
sentry |
sentry-sdk (+ urllib3 patché) |
tracing |
opentelemetry-sdk + exporter OTLP |
full-observability |
observability + sentry + tracing |
grpc |
grpcio + grpcio-health-checking |
cli |
(rien — argparse stdlib) |
Versionnage
mic-core démarre en 0.x (pré-releases dev/rc sur TestPyPI). Il graduera
en 1.0 une fois les frontières prouvées et les services migrés (fin du split,
cf. ADR-0001).
En 0.x, un bump minor peut porter un changement cassant (SemVer 0.x) —
contraindre avec >=0.1,<1.
Release
Voir ../../RELEASING.md § « Release par paquet »
(make release-pkg PKG=core VERSION=x.y.z → tag core-vX.Y.Z).
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 mic_core-0.1.2.tar.gz.
File metadata
- Download URL: mic_core-0.1.2.tar.gz
- Upload date:
- Size: 98.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dd339441804adaa92e19f73a374fc1774f4ad3429de230563e86d6463154d84
|
|
| MD5 |
8fe18cf0b3e042b0ee09282b504bf8a3
|
|
| BLAKE2b-256 |
2b96fd29c610b224c917c9f577691166510cc56e576e8b3c14edcc3dd4d80ce1
|
File details
Details for the file mic_core-0.1.2-py3-none-any.whl.
File metadata
- Download URL: mic_core-0.1.2-py3-none-any.whl
- Upload date:
- Size: 130.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9efe10e1a7b3f74fda7d4e6b933143a0766aa80e85710683b03a8bfdd38b845f
|
|
| MD5 |
69dafb921e35d17c68cd30d66ec2465c
|
|
| BLAKE2b-256 |
b15e62469a841c3eeec39c9ddc2071d21590c6fecc7d8b25dca2776937cf3463
|