Some checks failed
Documentation Validation / validate-docs (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
API Endpoint Tests / test-api-endpoints (push) Has been cancelled
CLI Tests / test-cli (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Package Tests / test-python-packages (map[name:aitbc-agent-sdk path:packages/py/aitbc-agent-sdk]) (push) Has been cancelled
Package Tests / test-python-packages (map[name:aitbc-core path:packages/py/aitbc-core]) (push) Has been cancelled
Package Tests / test-python-packages (map[name:aitbc-crypto path:packages/py/aitbc-crypto]) (push) Has been cancelled
Package Tests / test-python-packages (map[name:aitbc-sdk path:packages/py/aitbc-sdk]) (push) Has been cancelled
Package Tests / test-javascript-packages (map[name:aitbc-sdk-js path:packages/js/aitbc-sdk]) (push) Has been cancelled
Package Tests / test-javascript-packages (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Systemd Sync / sync-systemd (push) Has been cancelled
- Add Code Quality Module section with pre-commit hooks and quality checks - Add Type Checking CI/CD Module section with MyPy workflow and coverage - Update README with code quality achievements and project structure - Migrate FastAPI apps from deprecated on_event to lifespan context manager - Update pyproject.toml files to reference consolidated dependencies - Remove unused app.py import in coordinator-api - Add type hints to agent
2.7 KiB
2.7 KiB
FastAPI Modernization Summary
🎯 Issue Fixed
FastAPI on_event decorators were deprecated in favor of lifespan event handlers. This was causing deprecation warnings in the logs.
✅ Services Modernized
1. Agent Registry Service
- File:
/opt/aitbc/apps/agent-services/agent-registry/src/app.py - Change: Replaced
@app.on_event("startup")with@asynccontextmanagerlifespan - Status: ✅ Complete
2. Agent Coordinator Service
- File:
/opt/aitbc/apps/agent-services/agent-coordinator/src/coordinator.py - Change: Replaced
@app.on_event("startup")with@asynccontextmanagerlifespan - Status: ✅ Complete
3. Compliance Service
- File:
/opt/aitbc/apps/compliance-service/main.py - Change: Replaced both startup and shutdown events with lifespan handler
- Status: ✅ Complete
4. Trading Engine
- File:
/opt/aitbc/apps/trading-engine/main.py - Change: Replaced both startup and shutdown events with lifespan handler
- Status: ✅ Complete
5. Exchange API
- File:
/opt/aitbc/apps/exchange/exchange_api.py - Change: Replaced
@app.on_event("startup")with lifespan handler - Status: ✅ Complete
🔧 Technical Changes
Before (Deprecated)
@app.on_event("startup")
async def startup_event():
init_db()
@app.on_event("shutdown")
async def shutdown_event():
cleanup()
After (Modern)
@asynccontextmanager
async def lifespan(app: FastAPI):
# Startup
init_db()
yield
# Shutdown
cleanup()
app = FastAPI(..., lifespan=lifespan)
📊 Benefits
- Eliminated deprecation warnings - No more FastAPI warnings in logs
- Modern FastAPI patterns - Using current best practices
- Better resource management - Proper cleanup on shutdown
- Future compatibility - Compatible with future FastAPI versions
🚀 Testing Results
All services pass syntax validation:
- ✅ Agent registry syntax OK
- ✅ Agent coordinator syntax OK
- ✅ Compliance service syntax OK
- ✅ Trading engine syntax OK
- ✅ Exchange API syntax OK
📋 Remaining Work
There are still several other services with the deprecated on_event pattern:
apps/blockchain-node/scripts/mock_coordinator.pyapps/exchange-integration/main.pyapps/global-ai-agents/main.pyapps/global-infrastructure/main.pyapps/multi-region-load-balancer/main.pyapps/plugin-analytics/main.pyapps/plugin-marketplace/main.pyapps/plugin-registry/main.pyapps/plugin-security/main.py
These can be modernized following the same pattern when needed.
Modernization completed: March 31, 2026
Impact: Eliminated FastAPI deprecation warnings in core services