Saltar a contenido

Instalación

Hay dos instalaciones, y confundirlas es de donde salen los problemas

Qué instala Con qué
La herramienta Lo que necesita tai-api en tu máquina para generar y administrar pip install 'tai-api[...]'
El proyecto Lo que necesita la API generada para ejecutarse tai-api install dentro del proyecto

tai-api no está instalado donde se despliega la API: es una herramienta de desarrollo. Por eso los extras de tai-api y las dependencias del pyproject.toml que escribe tai-api init son dos listas distintas.

1. La herramienta

pip install tai-api                 # generar, y el modo sin autenticación
pip install 'tai-api[run]'          # además, levantar la API con tai-api dev

Requiere Python 3.10 o superior, y trae tai-sql como dependencia.

Extra Cuándo hace falta
run Para tai-api dev: levanta la API en el entorno del CLI (FastAPI, uvicorn, asyncpg…)
rbac Autenticación con Keycloak: rbac push y los realms (tai-keycloak)
database Autenticación con la base de datos: el diagrama del schema auth y rbac push contra sus tablas

Dependencias del sistema

# Graphviz — para el diagrama del schema auth (modo Database) y los SVG de la documentación
sudo apt install graphviz          # Ubuntu/Debian
brew install graphviz              # macOS

# Poetry ≥ 2.2.1 — lo usan tai-api init, tai-api install y tai-api set-mcp
pipx install poetry

Sin Graphviz, los schemas de datos se generan igual, sin su diagrama en SVG.

2. El proyecto

tai-api init mi-api        # crea api/: la carpeta lleva el nombre del namespace (--namespace, api por defecto)
cd api
tai-api install

tai-api install ejecuta poetry install con el pyproject.toml del proyecto, que declara lo que importa la API en producción: FastAPI, uvicorn, SQLAlchemy, asyncpg, tai-alphi, cryptography, bcrypt y, según la configuración, tai-keycloak o fastapi-mcp. Necesita un entorno virtual activo.

tai-api generate, tai-api auth y tai-api set-mcp mantienen esa lista: añaden o quitan lo que depende de la configuración, y no tocan lo que añadiste tú.

Para tai-api dev en el entorno del CLI

tai-api install --dev instala en el intérprete del propio CLI lo que necesita la API para arrancar con tai-api dev, sin tocar el proyecto.

3. El proyecto de tai-sql

tai-api necesita un proyecto de tai-sql con el schema de la base de datos. Lo busca desde el directorio en el que ejecutas el comando: hacia arriba, y hacia abajo por las subcarpetas. La forma que funciona siempre es tener los dos proyectos como hermanos y ejecutar desde el padre:

mi-proyecto/
├── database/        ← proyecto de tai-sql (.taisqlproject, schemas/)
└── api/             ← proyecto de tai-api (.taiapiproject)

Ver El proyecto por dentro.