Reflex Open Sources XY: Pustaka Bagan Python Berbasis Rust yang Menjaga Interaktivitas Bagan dengan 100 Juta Titik
Reflex AI telah merilis XY, pustaka bagan Python berlisensi Apache-2.0 untuk visualisasi 2D interaktif. Pustaka ini menggunakan inti Rust asli dan WebGL2 untuk menjaga bagan tetap responsif bahkan dengan 100 juta titik, mencapai waktu render sekitar 0,08 detik. Pustaka ini tersedia melalui pip install xy dan memerlukan Python 3.11 atau lebih baru.
Reflex AI telah merilis XY sebagai open-source, sebuah pustaka charting Python berlisensi Apache-2.0 untuk visualisasi 2D interaktif. Pustaka ini mengatasi penurunan kinerja pada stack charting Python tradisional, yang membuat satu objek drawable per baris dan melambat setelah melewati beberapa ratus ribu titik. XY memindahkan pekerjaan rendering ke inti native Rust, mengirim buffer biner bertipe ke browser, bukan JSON, dan menggambar melalui WebGL2. Hasil benchmark menunjukkan XY mempertahankan waktu render 0,071 detik pada 10.000 titik dan 0,081 detik pada 100 juta titik. Pustaka ini masih dalam alfa awal (versi 0.0.1) dan diinstal dengan pip install xy, membutuhkan Python 3.11 atau lebih baru. Pustaka ini menawarkan komposisi deklaratif untuk mark, sumbu, legenda, tooltip, dan anotasi, serta dilengkapi dengan 14 keluarga chart termasuk scatter, line, area, histogram, box, violin, ECDF, heatmap, hexbin, dan contour. Pustaka ini menyimpan kolom f64 tepat di ColumnStore Python, memastikan hover, seleksi, dan drilldown zoom tetap mengembalikan baris asli. XY mengekspor scatter interaktif 10 juta titik ke HTML 258 KiB, dibandingkan dengan 259 MiB untuk Plotly. Benchmark pada Apple M5 Pro menunjukkan XY pada 0,084 detik untuk 1 juta titik, 0,083 detik untuk 10 juta, 0,076 detik untuk 50 juta, dan 0,081 detik untuk 100 juta, sementara Matplotlib dan Plotly gagal atau melambat signifikan pada jumlah yang lebih tinggi. Reflex juga melaporkan rendering dataset OpenStreetMap penuh dengan 10 miliar titik. Pustaka ini mencakup jalur migrasi: import xy.pyplot as plt menjalankan kode pyplot Matplotlib yang umum, dan adaptor reflex-xy mengonversi chart menjadi komponen Reflex tanpa JavaScript atau iframe.
Sumber: MarkTechPost —
asli
