Inteligência artificial, sem ruído.
Open Source3 min

Reflex lança XY: biblioteca Python com núcleo Rust para 100 milhões de pontos interativos

Nova biblioteca open source combina Python e Rust com WebGL2 para renderizar gráficos com até 100 milhões de pontos em menos de 0,1 segundo — 177x mais rápida que Matplotlib em grandes datasets.

Reflex lança XY: biblioteca Python com núcleo Rust para 100 milhões de pontos interativos

Reflex lança XY: biblioteca Python de gráficos com núcleo em Rust que mantém 100 milhões de pontos interativos

A Reflex AI liberou como código aberto a XY, uma biblioteca Python de visualização 2D com licença Apache 2.0 que resolve um dos gargalos mais persistentes da análise de dados em Python: renderizar gráficos interativos com milhões de pontos sem travar o navegador.

O segredo está na arquitetura. Enquanto bibliotecas como Matplotlib e Plotly criam um objeto gráfico por linha de dados — o que funciona bem até algumas centenas de milhares de pontos, mas degrada rapidamente além disso —, a XY move o processamento pesado para um núcleo nativo em Rust. Os dados são enviados ao navegador como buffers binários tipados em vez de JSON, e a renderização usa WebGL2.

Números que impressionam

PontosXYMatplotlib (WebAgg)Plotly (scattergl)
1 milhão0,084 s0,357 s0,614 s
10 milhões0,083 s2,804 s3,367 s
50 milhões0,076 s13,385 s
100 milhões0,081 s
Benchmark comparativo: tempo até renderização completa no navegador (Apple M5 Pro)

Na prática, a XY é 34× mais rápida que a Matplotlib com 10 milhões de pontos e 177× mais rápida com 50 milhões. O consumo de memória também é dramaticamente menor: 0,32 GiB contra 0,84 GiB da Matplotlib e 1,86 GiB da Plotly com 10 milhões de pontos.

Como funciona

A XY mantém os dados originais em colunas f64 no Python e escolhe dinamicamente uma representação visual adequada ao viewport. Para até 10.000 pontos, cada marcador é desenhado individualmente. Acima disso, aplica decimação M4 para linhas ordenadas. A partir de 200.000 pontos em scatter plots, alterna automaticamente para uma grade de densidade de 512×384 células.

O resultado prático: hover, seleção e zoom ainda recuperam os valores exatos das linhas originais, porque os dados canônicos nunca saem do Python. A Reflex também relata ter renderizado o dataset completo do OpenStreetMap — 10 bilhões de pontos.

Instalação e compatibilidade

Basta um comando: pip install xy (requer Python 3.11+). A biblioteca oferece 14 famílias de gráficos (scatter, linha, área, histograma, box, violino, ECDF, heatmap, hexbin, contorno e mais) e aceita estilização com CSS e classes Tailwind. Para migração, o módulo import xy.pyplot as plt executa código comum da Matplotlib.

⚠️ A XY está em alpha inicial (versão 0.0.1). Startups e equipes de dados podem adotá-la para analytics interno, notebooks e artefatos compartilháveis. Empresas reguladas devem pilotar antes de colocar em produção.

Para quais cenários serve

A biblioteca brilha onde o volume de dados é o gargalo real: finanças quantitativas (dados de tick), genômica e bioinformática (gráficos Manhattan, varreduras de frequência alélica), observabilidade e telemetria, astronomia e análise geoespacial. Um scatter interativo de 10 milhões de pontos exporta para apenas 258 KiB de HTML, contra 259 MiB do equivalente em Plotly.


Descubra mais sobre noticiAI

Assine para receber nossas notícias mais recentes por e-mail.

R
Sobre o autorRedação Noticiai

Equipe editorial dedicada a explicar inteligência artificial com clareza, independência e contexto.