Open-Source · Apache 2.0

Pare de construir pipelines. Comece a rodá-los.

Airflow, Meltano, scripts customizados — ingestão de dados não deveria levar semanas. Pipe conecta qualquer uma de 400+ fontes a Parquet no seu bucket com um comando. Sem DAGs. Sem infraestrutura. Sem PhD em YAML.

$ pip install dataspoc-pipe
$ dataspoc-pipe add my-postgres
$ dataspoc-pipe run my-postgres

Seu Agente DE está pronto.

Pipe vem com AGENT.md — um arquivo de habilidades que ensina qualquer agente de IA a gerenciar seus pipelines. Conecte via MCP ou o Python SDK e seu agente pode adicionar fontes, rodar extrações, monitorar status, ler logs e corrigir falhas. De forma autônoma.

Sem engenharia de prompt. Sem wrappers customizados. O agente lê o arquivo de habilidades, descobre o que o Pipe pode fazer e começa a trabalhar. É como contratar um engenheiro de dados que já leu a documentação.

Adiciona novas fontes Roda pipelines Monitora falhas Valida conexões Lê logs

Claude via MCP → Pipe

Você: "O pipeline de vendas falhou
      ontem à noite. O que houve?"

[MCP] pipeline_logs("sales")
[MCP] validate_pipeline("sales")

Agente: "A fonte Postgres retornou
um timeout de conexão. O host do DB
está inacessível. Quando voltar,
posso re-executar com --full para
preencher os dados perdidos."

Você já passou por isso

47 tasks

Seu DAG do Airflow tem 47 tasks só para mover dados do Postgres para o S3. Metade delas são retentativas.

2 semanas

O novo contratado gastou 2 semanas entendendo o pipeline de ingestão. Ele ainda não consegue adicionar uma nova fonte.

Humano necessário

Seu agente de IA precisa de dados frescos mas não consegue disparar um pipeline sem um humano clicando botões.

Antes e depois

O que muda quando você troca para o Pipe.

Antes

200 linhas de DAG Python no Airflow

Depois

5 linhas de YAML

Antes

pip install apache-airflow + 47 dependências

Depois

pip install dataspoc-pipe

Antes

3 semanas até o primeiro pipeline

Depois

15 minutos

Como funciona

Da fonte até Parquet consultável em um comando.

Singer Tap          Sua fonte (Postgres, Stripe, REST API, etc.)
    |
    v
stdout (JSON)        Protocolo Singer — stream estruturado de registros
    |
    v
Pipe (transform)     Transforms Python opcionais (transforms/<pipeline>.py)
    |
    v
Parquet              Arquivos colunares, comprimidos, com particionamento
    |
    v
Bucket               S3, GCS, Azure ou sistema de arquivos local

Feito para os trabalhos que você realmente tem

Quando preciso adicionar uma nova fonte

O wizard do CLI te guia pelo processo. Escolha entre 400+ Singer taps, configure credenciais, rode. Sem boilerplate, sem copiar-colar do StackOverflow.

$ dataspoc-pipe add tap-postgres
  Source added. Configure in dataspoc-pipe.yaml
$ dataspoc-pipe run tap-postgres

Quando preciso apenas dos dados novos

Extração incremental com bookmarks. O Pipe lembra onde parou e puxa apenas o que mudou. Economiza tempo e custos de egress.

$ dataspoc-pipe run tap-postgres
  Resuming from bookmark: 2026-04-14T08:00:00Z
  Extracted 1,247 new records (3 tables)

Quando preciso limpar dados durante a ingestão

Coloque um arquivo Python em transforms/<pipeline>.py e o Pipe chama ele em cada registro. Renomeie colunas, mascare PII, converta tipos — sem uma etapa ETL separada.

# transforms/my-postgres.py
def transform(record, stream):
    record['email'] = mask_pii(record['email'])
    return record

Quando meu agente de IA precisa disparar ingestão

O Pipe roda como servidor MCP. Seu agente de IA pode descobrir fontes, rodar pipelines e verificar status — tudo via chamadas de ferramentas. Também funciona como Python SDK.

$ dataspoc-pipe mcp
  MCP server running on stdio

# Agente: "ingira dados frescos do postgres"
# Pipe: running tap-postgres... done. 12 tables.

O que você recebe

Cada execução do Pipe produz uma estrutura de bucket limpa e padronizada que o Lens pode consultar imediatamente.

raw/
  <source>/
    <table>/
      dt=2026-04-15/
        data_001.parquet
        data_002.parquet

.dataspoc/
  manifest.json          # Catálogo — Lens lê isso para descobrir suas tabelas
  state/
    <pipeline>/
      state.json         # Bookmarks incrementais — nunca re-extraia dados antigos
  logs/
    <pipeline>/
      2026-04-15T...json # Logs de execução — debugue qualquer run

Seu primeiro pipeline em 15 minutos.

$ pip install dataspoc-pipe
$ dataspoc-pipe add tap-postgres
$ dataspoc-pipe run tap-postgres