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: