Tu warehouse es un bucket. Solo que aun no lo sabes.
Tienes archivos Parquet en S3. Tienes DuckDB. No necesitas Snowflake. Lens monta tu bucket en la nube como tablas SQL y te permite consultar desde la terminal, desde Jupyter o en lenguaje natural.
$ pip install dataspoc-lens $ dataspoc-lens add-bucket s3://my-data $ dataspoc-lens shell
Tu Agente DA esta listo.
Lens incluye AGENT.md — un archivo de habilidades que convierte cualquier agente de IA en tu analista de datos. Descubre tablas, escribe SQL, responde preguntas de negocio, refresca el cache y exporta reportes. En lenguaje natural.
El agente ejecuta SQL real sobre datos reales — no embeddings, no RAG, no aproximaciones. Cada respuesta esta fundamentada en tus archivos Parquet reales. Verifica la frescura antes de consultar, para que nunca obtengas respuestas obsoletas.
Claude via MCP → Lens
Tu: "Armame un reporte semanal de ingresos por linea de producto." [MCP] cache_refresh_stale() [MCP] list_tables() [MCP] describe_table("orders") [MCP] query("SELECT ...") Agente: "Ingresos esta semana: $312k. Electronica lidera con $98k (+15%), seguido por Software con $87k. Aqui esta la exportacion CSV."
Deja de pagar por consultas
Tu factura de Snowflake es de $8k/mes y el 90% de las consultas son SELECT COUNT(*).
El analista tiene que esperar a que el equipo de datos escriba una consulta SQL. Cada. Vez.
Construiste un pipeline RAG para que tu agente de IA responda preguntas sobre tus datos. Alucina el 40% del tiempo.
Antes y despues
Lo que cambia cuando pasas a Lens.
$8k/mes en Snowflake
$0 — DuckDB es gratis
"Alguien puede ejecutar esta consulta?"
dataspoc-lens ask "monthly revenue"
Pipeline RAG personalizado para IA
dataspoc-lens mcp — SQL real, sin alucinaciones
Seis superpoderes
Todas las formas en que podrias querer consultar tu data lake — para humanos y maquinas.
Shell SQL
Shell SQL interactivo potenciado por DuckDB. Autocompletado, historial, comandos dot. Tus archivos Parquet se sienten como tablas de Postgres.
lens> SELECT customer, SUM(total) FROM orders GROUP BY customer ORDER BY 2 DESC LIMIT 5; ┌────────────┬──────────┐ │ customer │ sum │ │ Acme Corp │ $247,891 │ │ Initech │ $189,234 │ └────────────┴──────────┘
IA Ask
Haz preguntas en lenguaje natural. Lens genera SQL real, lo ejecuta contra datos reales y muestra los resultados. Sin embeddings. Sin vector stores. Sin adivinanzas.
$ dataspoc-lens ask "top customers by revenue" SQL: SELECT customer, SUM(total) ... Acme Corp lidera con $247k, seguido por Initech con $189k (+12% QoQ).
Jupyter y Marimo
Lanza notebooks pre-conectados a tu data lake. Todas las tablas ya estan montadas. Solo escribe SQL o Python.
$ dataspoc-lens notebook 3 buckets, 47 tables mounted http://localhost:8888 $ dataspoc-lens notebook --marimo
Cache Local
Almacena archivos Parquet en cache local. Las consultas repetidas son instantaneas. Trabaja offline en un avion. Reduce los costos de egress en la nube a casi cero.
$ dataspoc-lens cache orders $ dataspoc-lens cache --list orders | 24 MB | fresh users | 3 MB | stale $ dataspoc-lens cache users --refresh
Servidor MCP
Convierte tu data lake en una API para agentes de IA. Claude, Cursor, Windsurf — cualquier cliente MCP obtiene acceso SQL de solo lectura. Consultas reales, respuestas reales, cero alucinaciones.
$ dataspoc-lens mcp # Your agent can now: # list_tables → discover data # query(sql) → run real SQL # ask(question) → NL to SQL
SDK de Python
Alimenta tus agentes de IA con datos estructurados y gobernados. LensClient da acceso programatico a todo tu lake — tablas, esquemas, consultas y cache — con los mismos controles de acceso que los humanos. Sin scraping. Sin exportaciones CSV. Sin pipelines sombra.
from dataspoc_lens import LensClient
with LensClient() as client:
tables = client.tables()
result = client.query("SELECT ...")
answer = client.ask("monthly revenue")
client.cache_refresh_stale() Sirve datos a los agentes de la forma correcta.
Tus agentes de IA necesitan datos. Pero dejarlos hacer scraping de bases de datos, parsear exportaciones CSV o construir pipelines RAG personalizados es una pesadilla de seguridad y calidad. Lens les da a los agentes una interfaz gobernada de solo lectura a tu data lake — las mismas tablas, los mismos esquemas, los mismos permisos IAM que usan tus analistas humanos.
Sin nuevas credenciales que gestionar. Sin pipelines de datos sombra. Sin acceso no auditado. Los agentes consultan a traves de MCP o el SDK de Python, y cada consulta se ejecuta como SQL real sobre Parquet real — no embeddings, no aproximaciones. Tu gobernanza de datos se mantiene intacta. Tus agentes obtienen la verdad.
Cuando tu agente de IA consulta con Lens, dice la verdad
SQL real sobre datos reales. Sin embeddings. Sin vector stores. Sin alucinaciones.
"Como fueron las ventas la semana pasada comparadas con la anterior?"
MCP call: list_tables
MCP call: describe_table("raw.postgres.orders")
MCP call: query("SELECT ... GROUP BY week")
Las ventas fueron de $247k la semana pasada, un 8% mas que los $228k de la semana anterior. Electronica tuvo el mayor salto con un 15%.
Cada numero viene de una consulta SQL real contra tus datos reales. El agente puede mostrar su trabajo — porque hay trabajo que mostrar.
Consulta tu lake en 5 minutos. No en 5 meses.
$ pip install dataspoc-lens
$ dataspoc-lens add-bucket s3://my-data
$ dataspoc-lens shell O conecta tu agente de IA: dataspoc-lens mcp