Files
ATOCore/src/atocore/main.py

46 lines
1.1 KiB
Python
Raw Normal View History

"""AtoCore — FastAPI application entry point."""
from fastapi import FastAPI
from atocore.api.routes import router
import atocore.config as _config
from atocore.context.project_state import init_project_state_schema
from atocore.ingestion.pipeline import get_source_status
from atocore.models.database import init_db
from atocore.observability.logger import get_logger, setup_logging
app = FastAPI(
title="AtoCore",
description="Personal Context Engine for LLM interactions",
version="0.1.0",
)
app.include_router(router)
log = get_logger("main")
@app.on_event("startup")
def startup():
setup_logging()
_config.ensure_runtime_dirs()
init_db()
init_project_state_schema()
log.info(
"startup_ready",
env=_config.settings.env,
db_path=str(_config.settings.db_path),
chroma_path=str(_config.settings.chroma_path),
source_status=get_source_status(),
)
if __name__ == "__main__":
import uvicorn
uvicorn.run(
"atocore.main:app",
host=_config.settings.host,
port=_config.settings.port,
reload=True,
)