SDK Oficial

SDK PrismaData para Python

Para times de dados, machine learning e engenharia. Enriqueça DataFrames pandas, integre com scikit-learn e consuma todos os endpoints REST da PrismaData com autenticação JWT automática, retries com backoff e batch auto-chunked.

Instalação

Requer Python 3.9 ou superior.

pip install prismadata

Quick start

Cliente síncrono, uma chamada por coordenada.

from prismadata import Client

client = Client(api_key="sua-api-key")

resultado = client.slum(lat=-23.561414, lng=-46.655881)
print(resultado.distance_m, resultado.name)

renda = client.personal_income_static(lat=-23.561414, lng=-46.655881)
print(renda.expected_income, renda.percentile)

Batch e DataFrames

Auto-chunking transparente para grandes volumes.

import pandas as pd
from prismadata import Client

client = Client(api_key="sua-api-key")

df = pd.read_csv("clientes.csv")  # colunas: lat, lng

df_enriquecido = client.enrich_dataframe(
    df,
    services=["slum", "prison", "personal_income_static"],
    lat_col="lat",
    lng_col="lng",
)
df_enriquecido.to_csv("clientes_enriquecidos.csv", index=False)

Cliente assíncrono

Para aplicações I/O-bound (FastAPI, workers, scrapers).

import asyncio
from prismadata import AsyncClient

async def main():
    async with AsyncClient(api_key="sua-api-key") as client:
        resultado = await client.commercial_cluster(
            lat=-23.561414, lng=-46.655881, top_n=3, radius_km=10
        )
        for cluster in resultado:
            print(cluster.nome, cluster.score)

asyncio.run(main())

Capacidades

Enriquecimento de DataFrames

Método enrich_dataframe aceita lista de serviços e devolve o DataFrame com colunas anexadas.

Integração scikit-learn

Transformer compatível com Pipeline e ColumnTransformer para uso em modelos de produção.

Cliente síncrono e assíncrono

Mesma API, escolha conforme o workload. Pool de conexões reutilizado entre chamadas.

Batch com auto-chunking

Listas grandes são particionadas automaticamente respeitando o limite de cada endpoint.

Retries com backoff exponencial

HTTP 429 e 5xx são reexecutados com jitter, configurável por instância de cliente.

Tratamento de erros tipado

Exceções específicas por código: AuthError, NotFoundError, RateLimitError, ValidationError.

Pronto para integrar?

Solicite uma API Key de teste e use os endpoints diretamente a partir do seu pipeline em Python.