Open-Source · Apache 2.0

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.

Explora esquemas Escribe SQL Responde en espanol Refresca cache Exporta CSV/JSON

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

$8k/mes

Tu factura de Snowflake es de $8k/mes y el 90% de las consultas son SELECT COUNT(*).

Bloqueado

El analista tiene que esperar a que el equipo de datos escriba una consulta SQL. Cada. Vez.

40% erroneo

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.

Antes

$8k/mes en Snowflake

Despues

$0 — DuckDB es gratis

Antes

"Alguien puede ejecutar esta consulta?"

Despues

dataspoc-lens ask "monthly revenue"

Antes

Pipeline RAG personalizado para IA

Despues

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.

Solo lectura por defecto IAM en la nube aplicado Sin alucinaciones Mismos datos que humanos Compatible con auditoria

Cuando tu agente de IA consulta con Lens, dice la verdad

SQL real sobre datos reales. Sin embeddings. Sin vector stores. Sin alucinaciones.

U

"Como fueron las ventas la semana pasada comparadas con la anterior?"

IA
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