Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

SQL2API

SQL2API es una puerta de enlace auto-hospedada ligera que convierte consultas SQL en APIs REST seguras con abstracción de bases de datos, guardado de consultas gobernadas, acceso API acotado y validación de parámetros.

Ficha actualizada 24 sept 2026, 17:40 · upstream 24 sept 2026, 17:23 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es SQL2API

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

SQL2API transforma consultas SQL existentes en endpoints REST documentados sin necesidad de escribir código backend. Soporta múltiples bases de datos nativas (PostgreSQL, MySQL, ClickHouse, SQLite, H2, DuckDB) más JDBC genérico para Oracle, SQL Server, DB2 y Snowflake mediante drivers externos.

El sistema implementa seguridad por defecto: autenticación con API keys encriptadas SHA-256, control de acceso acotado a consultas específicas, guardado SQL que solo permite SELECT/WITH/SHOW por defecto, limitación de tasa IP y per-key, caché HTTP condicional, y streaming para exportaciones masivas sin buffering.

Incluye interfaz administrativa integrada en /ui con editor SQL con resaltado sintáctico, explorador de esquema, gestión de conexiones, historial de ejecución por consulta, generación automática de OpenAPI 3.0 validada en CI, métricas Prometheus en /metrics y logs estructurados JSON.

CASOS DE USO
  • Exponer consultas SQL existentes de reportes BI o ETL como endpoints REST sin reescribir el backend
  • Crear APIs internas para dashboards con autenticación por API key acotada a consultas específicas
  • Exportar datos masivos mediante streaming NDJSON/CSV para pipelines de procesamiento externo
  • Proveer acceso controlado a terceros con límites de tasa y expiración de claves independientes
  • Documentar automáticamente endpoints OpenAPI 3.0 desde consultas SQL guardadas y versionadas
PUNTOS DESTACADOS
  • Guardado de consultas versionado: cambios en SQL no rompen endpoints existentes, cada versión accesible vía ?version=N
  • Parámetros vinculados (:name) con validación tipada antes de ejecución, previene inyección SQL por diseño
  • Streaming para exportaciones masivas (1M+ filas) sin buffering en memoria, verificado end-to-end
  • OpenAPI 3.0 generado automáticamente y validado en CI contra el oficial validator
  • Interfaz administrativa integrada con explorador de esquema, historial de ejecución y copia como curl/TSV
PRECAUCIONES
  • No soporta operaciones de escritura (INSERT/UPDATE/DDL) por defecto; requiere configuración explícita server-wide o per-key
  • Requiere Python 3.9+ con drivers JDBC externos para bases de datos no nativas (Oracle, SQL Server, DB2, Snowflake)
  • No incluye soporte one-click deployment; requiere Docker Compose o instalación manual del servicio Flask
  • Caché HTTP solo aplicable a consultas SELECT/READ; nunca se aplica a operaciones que escriben en la base de datos
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Connections tab listing ClickHouse, MySQL, PostgreSQL and SQLite connections with active/inactive statusSaved query detail panel showing its SQL, tags, run history and the generated GET /q/ endpointAPI keys tab showing an external-client key scoped to one saved query with its own rate limit, alongside a connection-scoped key with an expiry date and per-key last-used timestampSQL2API admin UI: a joined SQL query running against a SQLite connection, with the schema browser expanded and paginated JSON results below
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO40 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker Compose detectado

Despliegue recomendado con Docker Compose: PostgreSQL, MySQL o ClickHouse como backend. Puerto 5000 para API y /ui para administración. Variables de entorno SQL2API_RATE_LIMIT para limitación global, SQL2API_JSON_LOGS para logs estructurados. Requiere 4 núcleos CPU y 4GB RAM mínimo según análisis técnico. No incluye soporte one-click; configurar manualmente o usar Docker Compose proporcionado.

✓Dockerfile
✓Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsPython
SERVICIOS
PostgreSQLMySQLClickHouse
BASES DE DATOS
PostgreSQLMySQLClickHouse
PUERTOS
5000
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.