main.py
Entrypoint CLI que orquesta adapter, sync y writers del SDK.
src/main.py es el entrypoint del proyecto cliente. No contiene lógica de negocio: solo parsea flags, inicializa conexiones y llama a los módulos de sync.
Responsabilidades
| Tarea | Implementación |
|---|---|
Cargar .env | load_dotenv() al inicio |
| Logging | configure_logging() del SDK |
| Conexión a fuente | Database (o tu propio cliente) |
| Adapter | ClientAdapter(db) |
| API Brightmarket | BrightAPI(BrightmarketConfig.from_env()) |
| Sync por entidad | sync_clients_created(), sync_skus(), etc. |
Flags CLI
| Flag | Acción |
|---|---|
-test | Verificar conectividad (BD + login API) sin sincronizar |
-clients | Sincronizar clientes creados y modificados |
-skus | Sincronizar artículos/SKUs |
-tickets | Sincronizar tickets |
-payment_methods | Sincronizar métodos de pago |
-promotions | Sincronizar promociones |
-rewards | Sincronizar rewards (opcional) |
-points_movements | Sincronizar movimientos de puntos (opcional) |
-from YYYYMMDD -to YYYYMMDD | Rango de fechas para entidades filtradas |
Qué no hacer
- No agregar llamadas HTTP directas a Brightmarket
- No duplicar login: usá
BrightAPIdel SDK - No mezclar transformación de payloads aquí — eso va en
src/sync/*